.introduction { display: flex; align-items: center; justify-content: center; width: 45%; height: 100%; } .introduction-box { min-width: 350px; min-height: 350px; padding: 25px 35px 35px 35px; background: white; border-radius: 16px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); overflow: scroll; } .introduction-box hr { width: 100%; margin-bottom: 25px; margin-top: 10px; } .introduction-header { display: flex; flex-direction: row; align-items: center; gap: 25px; } .names { line-height: 16px; } .real-name { opacity: 0.7; } .profile-picture { width: 100px; aspect-ratio: 1/1; border: solid 1px rgba(0, 0, 0, 0.3); border-radius: 50%; } .introduction-text { font-size: 1.1rem; line-height: 1.25rem; } .introduction-text p { text-align: justify; } .introduction-text > section { margin-top: 2rem; } .typer::after { content: '|'; animation: blink 800ms infinite; } .projects { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 55%; padding: 25px; } .punched-card { mask-image: radial-gradient(circle 25px at calc(100% - 0px) calc(0% + 0px), transparent 99%, black 100%); mask-repeat: no-repeat; mask-position: top right; mask-composite: exclude; } .thumbnail { width: 250px; border : solid 1px black; } .card-list { display: flex; flex-direction: row; justify-content: center; width: 100%; min-width: 375px; padding: 20px; gap: 15px; overflow: scroll; } .card { display: flex; flex-direction: column; justify-content: start; align-items: start; height: 350px; width: 275px; padding: 15px; background: white; border-radius: 16px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); transition: transform 0.2s ease, box-shadow 0.2s ease; } .card:hover { box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); } .card-details { display: flex; flex-direction: column; justify-content: space-between; height: 100%; width: 100%; } .card .notice { opacity: 0.65; font-size: 0.75rem; } @keyframes blink { from { opacity: 0; } to { opacity: 1; } }