.card { display: grid; grid-template-columns: calc(126rem / 16) auto; grid-template-areas: "picture name" "picture role" "picture description"; column-gap: calc(32rem / 16); row-gap: 0; justify-items: start; align-items: start; } .picture { grid-area: picture; justify-self: center; max-width: calc(126rem / 16); max-height: calc(126rem / 16); clip-path: circle(50%); } .image { width: 100%; } .name { grid-area: name; margin: 0; color: var(--primary-accent); font-size: calc(36rem / 16); font-weight: 600; } .role { grid-area: role; margin: 0; color: var(--primary-heading); font-size: calc(24rem / 16); line-height: calc(40 / 24); font-weight: 600; } .description { grid-area: description; } .description > *:first-child { margin-top: 0; } /* Popup */ @keyframes popup { 0% { transform: scale(0.4) translate(0, -50%); } 100% { transform: scale(1) translate(0, -50%); } } @keyframes revealBg { 0% { opacity: 0; } 100% { opacity: 100%; } } .popupBackground { position: fixed; z-index: 11; background-color: var(--navbar-page-overlay); width: 100%; height: 100%; top: 0; left: 0; animation: revealBg 0.2s forwards; } .popupContainer { position: fixed; display: flex; z-index: 12; flex-direction: column; background-color: var(--secondary-background); padding: calc(20rem / 16) calc(40rem / 16); left: 0; top: 50%; animation: popup 0.7s forwards; } .closeBtn { align-self: flex-end; /* reset default button styling */ width: min-content; background: transparent; border: 0px solid transparent; padding: 0; font-family: inherit; line-height: inherit; } .popupContent { display: flex; flex-direction: column; align-items: center; } .popupImage { width: 100%; } .popupName { color: var(--primary-accent); margin: calc(24rem / 16) 0 0 0; font-size: calc(18rem / 16); font-weight: 600; } .popupRole { color: var(--primary-heading); margin: 0 0 1rem 0; text-align: center; font-size: calc(18rem / 16); font-weight: 600; } .popupDescription { font-size: calc(14rem / 16); } @media only screen and (max-width: calc(768rem / 16)) { .card { display: flex; flex-direction: column; align-items: center; max-width: calc(135rem / 16); margin: 0; } .name { margin-top: calc(24rem / 16); font-weight: 700; } .name, .role { text-align: center; font-size: calc(14rem / 16); } .description { display: none; } }