.media-box { $root: &; display: flex; flex-direction: column; border: 1px solid $color--mid-grey; @include media-query(mob-landscape) { flex-direction: row; } &--reverse { border: 0; @include media-query(mob-landscape) { flex-direction: row-reverse; } } &--bottom-space { margin-bottom: 1rem; @include media-query(tablet-landscape) { margin-bottom: 3rem; } } &__image-container { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 170px; background-repeat: no-repeat; background-size: cover; @include media-query(mob-landscape) { width: 210px; height: 210px; } &::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background-color: rgba(27, 27, 27, 0.8); content: ''; } } &__image { &--large { width: 100%; height: 150px; object-fit: cover; @include media-query(mob-landscape) { width: auto; height: auto; object-fit: initial; } } &--small { z-index: 10; max-width: 105px; border: 0 solid; box-sizing: content-box; transition: border $transition; #{$root}:hover & { border: 10px solid $color--light-blue; transition: border $transition; } .media-box--reverse:hover & { border: 0; } } } &__content { flex: 1; padding: 20px 30px; color: $color--light-blue; background-color: $color--white; transition: color, background-color, $transition; #{$root}:hover & { color: $color--white; background-color: $color--light-blue; } .media-box--reverse & { padding: 20px 0 0; color: $color--default; @include media-query(mob-landscape) { padding: 0 20px 0 0; } } .media-box--reverse:hover & { color: $color--default; background-color: inherit; } @include media-query(mob-landscape) { padding: 15px 20px; } } &__teaser { display: none; margin: 0; font-size: 16px; font-weight: $weight--normal; color: $color--dark-grey; transition: color $transition; #{$root}:hover & { color: $color--white; } .media-box--reverse & { @include responsive-font-sizes(15px, map-get($font-sizes, epsilon)); display: block; &--projectpage-introduction { @include responsive-font-sizes(18px, map-get($font-sizes, delta)); } } .media-box--reverse:hover & { color: $color--default; } @include media-query(mob-landscape) { display: block; } @include media-query(tablet-portrait) { display: none; } @include media-query(tablet-landscape) { display: block; } } &__default-image { display: flex; align-items: center; justify-content: center; width: 210px; height: 210px; background-color: $color--light-blue; > svg { width: 80px; height: 70px; fill: $color--white; } &--small { width: 105px; height: 105px; background-color: $color--white; border: 0 solid; box-sizing: content-box; transition: border $transition; #{$root}:hover & { border: 10px solid $color--light-blue; transition: border $transition; } > svg { width: 50px; height: 50px; fill: $color--light-blue; } } } &__category { margin-bottom: 5px; color: $color--default; } &__job-title { margin: 5px 0 0; color: $color--default; } &__category, &__job-title { transition: color $transition; #{$root}:hover & { color: $color--white; } } }