.shoutCard { display: flex; flex-direction: column; line-height: 1.2; margin-bottom: 2.4rem; position: relative; @include media-breakpoint-up(md) { &:last-child { margin-bottom: 0; } } &:hover { .shoutCardCover img { transform: scale(1.05); } } a { border: none; } } .shoutCardWithBorder { border-top: 1px solid #141414; margin-top: 2.4rem !important; padding-top: 2.4rem; } .shoutCardTitlesContainer { a { &::before { content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; } &:hover { .shoutCardTitle .shoutCardLinkContainer { background-color: #000; color: #fff; } } } } .shoutCardCoverContainer { position: relative; } .shoutCardCover { height: 0; margin-bottom: 1.6rem; overflow: hidden; padding-bottom: 56.2%; position: relative; img { height: 100%; object-fit: cover; position: absolute; transform-origin: 50% 50%; transition: transform 1s ease-in-out; width: 100%; } &:hover img { /* TODO: small zoom on hover */ transform: scaleZ(1.1); } } .shoutAuthor, .shoutDate { @include font-size(1.2rem); } .shoutAuthor { margin-right: 1.6rem; a { border: none; color: rgb(0 0 0 / 70%); position: relative; z-index: 2; &:hover { color: #fff; } } } .shoutDate { color: rgb(0 0 0 / 50%); } .shoutDetails { display: flex; } .shoutCardTitle { @include font-size(2.2rem); font-weight: 700; line-height: 1.25; margin-bottom: 0.8rem; } .shoutCardTitle, .shoutCardSubtitle { &, .shoutCardLinkContainer { box-decoration-break: clone; /* stylelint-disable-next-line */ -webkit-box-decoration-break: clone; } } .shoutCardSubtitle { color: #696969; @include font-size(1.7rem); font-weight: 400; line-height: 1.3; margin-bottom: 0.8rem; transition: color 0.2s, background-color 0.2s, box-shadow 0.2s; } .shoutCardLinkContainer { position: relative; transition: color 0.2s, background-color 0.2s, box-shadow 0.2s; } .shoutCardEditControl { border-radius: 2em; min-height: 2.6em; padding: 0 1.4em; transition: background-color 0.2s, color 0.2s; &:hover { background: #000; color: #fff; } } .shoutCard.withcover { padding: 2.4rem; &, a, .shoutCardTitle, .shoutCardSubtitle { color: #fff; } .shoutCardCover { height: 100%; left: 0; padding: 0; position: absolute; top: 0; width: 100%; z-index: -1; &::after { background: rgb(0 0 0 / 60%); height: 100%; position: absolute; width: 100%; z-index: 1; } } } .shoutCardType { background: #fff; border-radius: 100%; height: 3.2rem; position: absolute; right: 0.8rem; text-align: center; top: 0.8rem; transition: background-color 0.2s; width: 3.2rem; z-index: 2; &:hover { background: #000; .icon { filter: invert(1); } } img { height: auto; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: auto; } .icon { height: 100%; transition: filter 0.2s; } } .shoutCardContent { margin-bottom: 1em; @include media-breakpoint-up(md) { margin-bottom: 2em; &:last-child { margin-bottom: 0; } } } .floor--topics-group { h3 { &::first-letter { text-transform: uppercase; } } .col-md-6 .col-md-6 { .shoutCard { border-bottom: 1px solid rgb(255 255 255 / 20%); margin: 3.6rem 0 0; padding-bottom: 2rem; &:first-child { margin-top: 2rem; } &:last-child { border: none; padding-bottom: 0; } } .shoutCardCoverContainer { display: none; } .shoutCardTitle, .shoutCardSubtitle { display: inline; @include font-size(2.6rem); line-height: 1.2; } .shoutCardSubtitle { color: #fff; } .shoutAuthor { margin-top: 0.6em; } } } .shoutCardFloorImportant { margin-bottom: $grid-gutter-width; .shoutAuthor { margin-top: 0.8rem; a { color: rgb(255 255 255 / 50%); } } .shoutCardTitle { a { color: #fff; } } a:hover { background: #fff; color: #000 !important; } .shoutCardTitlesContainer { a { color: #fff; &:hover { .shoutCardTitle .shoutCardLinkContainer { background-color: #fff; color: #000; } } } } } .shoutCardWithCover { padding: 56.2% 2.4rem 0; @include media-breakpoint-down(sm) { padding-top: 100%; } &.swiper-slide { .shoutCardContent { @include media-breakpoint-down(md) { padding-left: 10%; } } } &, a, .shoutCardTitle, .shoutCardSubtitle { color: #fff !important; } .shoutAuthor, .shoutCardTitlesContainer { a:hover { &, .shoutCardTitle .shoutCardLinkContainer { background-color: #fff; color: #000 !important; } } } .shoutCardCoverContainer, .shoutCardCover, .shoutCardContent { height: 100%; left: 0; margin: 0; position: absolute; top: 0; width: 100%; z-index: -1; } .shoutCardContent { display: flex; flex-direction: column; justify-content: end; padding: 2.4rem; z-index: 1; } .shoutCardCover { padding: 0; &::after { background: rgb(0 0 0 / 60%); content: ''; height: 100%; position: absolute; width: 100%; z-index: 1; } } .shoutCardTitle { @include font-size(3.2rem); } } .shoutCardContentTop { .shoutCardContent { justify-content: start; } } .shoutCardPhotoBottom { .shoutCardContent { margin-bottom: 1.6rem; } .shoutCardCoverContainer { order: 2; } } .shoutCardFeed { border-bottom: 1px solid #e8e8e8; margin-bottom: 2em; .shoutCardContent { margin-bottom: 0; } } .shoutCardDetails { display: flex; justify-content: space-between; flex-wrap: wrap; @include font-size(1.5rem); padding: 1em 0 1.5em; position: relative; width: 100%; z-index: 2; } .shoutCardDetailsContent { display: flex; } .shoutCardDetailsItem { align-items: center; display: flex; margin-right: 1.7em; img { vertical-align: middle; } a, button { &:hover { img { opacity: 0.5; } } } } .shoutCardComments { align-items: center; display: flex; .icon { display: inline-block; margin: 0.2em 0.5em 0 0; } a { &:hover { background: none; color: rgb(0 0 0 / 60%); } } } .shoutCardDetailsViewed { .icon { margin-top: -0.1em; } } .rating { align-items: center; display: flex; } .ratingValue { font-weight: bold; margin: 0 0.5em; } .ratingControl { align-items: center; border: 2px solid; border-radius: 100%; display: flex; justify-content: center; height: 0.9em; line-height: 0; @include font-size(3.6rem); padding: 0; width: 0.9em; &:hover { background: #000; border-color: #000; color: #fff; } } .shoutCardVertical { aspect-ratio: auto; height: 100%; margin: 0; padding: 0 0 20%; @include media-breakpoint-up(md) { aspect-ratio: 1 / 1.6; padding: 0; } .shoutCardTitle { font-size: 2.6rem !important; @include media-breakpoint-between(lg, xl) { font-size: 2.4rem !important; } } .shoutCardContent { justify-content: start; position: relative; .shoutCardSubtitle { @include media-breakpoint-up(lg) { @include font-size(2rem); } @include media-breakpoint-between(lg, xl) { @include font-size(1.8rem); } } } } .floor--9 { /* TODO: refactor these styles */ .shoutCardTitle, .shoutCardSubtitle { // display: inline; font-size: 2.2rem; } .shoutCardTitle { padding-right: 0.25em; } .shoutAuthor, .shoutDate { margin-top: 0.8rem; } .beside-column .shoutCardTitlesContainer { position: relative; a:hover { .shoutCardLinkContainer { color: #fff; } } } } .shoutCardBigTitle { .shoutCardTitle { display: block; @include font-size(3.2rem); padding-right: 0; } .shoutCardSubtitle { color: #696969; @include font-size(2.4rem); } } .shoutCardCompact { .shoutCardTitle, .shoutCardSubtitle { display: inline; @include font-size(2.6rem); line-height: 1.2; } .shoutCardSubtitle { padding-left: 0.3em; box-decoration-break: slice; /* stylelint-disable-next-line */ -webkit-box-decoration-break: slice; } a { color: #fff; &:hover { .shoutCardSubtitle { background-color: #fff; color: #000; } } } } .shoutCardShort { font-size: 1.4rem; margin-bottom: 0; .shoutCardTitle, .shoutCardSubtitle { display: inline; @include font-size(1.4rem); } .shoutCardTitle { padding-right: 0.25em; } a:hover { .shoutCardLinkContainer { color: #fff; } } } .shoutCardSingle { @include media-breakpoint-up(md) { flex-direction: row; .shoutCardTitlesContainer { flex: 1; } .shoutCardCover { margin-bottom: 0; } .shoutCardCoverContainer { flex: 1 58.3333%; } .shoutCardContent { display: flex; flex-direction: column; flex: 1 41.6666%; justify-content: space-between; margin-bottom: 0; padding-left: 4rem; } .shoutTopic { margin-bottom: 3.2rem; } .shoutCardTitle { margin-bottom: 2.4rem; } .shoutAuthor { align-items: end; display: flex; flex: 1; } } .shoutCardType { top: 0; } .shoutCardTitle { @include font-size(4rem); font-weight: 900; line-height: 1.1; } .shoutCardSubtitle { color: #696969; flex: 1; @include font-size(2.4rem); } }