$cardBorderRadius: .5em; :host { display: flex; flex-direction: column; justify-content: center; align-items: center; .publication-container { display: flex; flex-direction: column; gap: 2em; max-width: 50em; width: 90%; margin: auto; .publication { display: flex; flex-direction: column; border-radius: $cardBorderRadius; box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12); transition: box-shadow .2s ease-in-out; text-decoration: none; color: black; background-color: #ffffff; &:hover { box-shadow: 0 4px 8px 0 rgba(0,0,0,.24),0 4px 14px 0 rgba(0,0,0,.16); } img { object-fit: cover; height: 15em; border-radius: $cardBorderRadius $cardBorderRadius 0 0; @media screen and (min-width: 450px) { height: 20em; } @media screen and (min-width: 600px) { height: 25em; } @media screen and (min-width: 750px) { height: 32em; } } .body { display: flex; flex-direction: column; padding: 1.5em 2em; h1 { font-size: 1.8em; margin-bottom: .5em; } h2 { font-size: 1em; line-height: 1.4em; margin: 0; color: #747373; font-weight: 400; } } .footer { display: flex; flex-direction: row; align-items: center; background-color: #f0f0f0; border-radius: 0 0 $cardBorderRadius $cardBorderRadius; padding: 1em 2em; gap: 1em; color: #6c757d; img { $imageSize: 4em; border-radius: 10em; width: $imageSize; height: $imageSize; object-fit: cover; } .publication-date { font-style: italic; color: #bdbdbd; } } } } }