|
- @charset "UTF-8";
-
- .gallery {
- margin: calc(2% + 20px) 0;
- width: 100%;
-
- @media(min-width: 567px) {
- &.content-media-right {
- max-width: calc(50% - 15px);
- float: right;
- margin: 18px 0 20px 30px;
-
- @media(max-width: 767px) {
- max-width: calc(50% - 10px);
- margin: 14px 0 15px 20px;
- }
-
- &:first-child {
- margin-top: 0;
- }
- }
-
- &.content-media-left {
- max-width: calc(50% - 15px);
- float: left;
- margin: 18px 30px 20px 0;
-
- @media(max-width: 767px) {
- max-width: calc(50% - 10px);
- margin: 14px 20px 15px 0;
- }
-
- &:first-child {
- margin-top: 0;
- }
- }
- }
-
- .gallery-wrapper {
- display: flex;
- flex-wrap: wrap;
- margin: 0 -5px;
- }
-
- .image {
- padding: 5px;
-
- a {
- position: relative;
- display: block;
- background-color: $color-primary-light-04;
- background-color: var(--theme-color-primary-dimmed-04, $color-primary-light-04);
- @include focusvisible;
- transition: 0.2s ease;
-
- &:after {
- content: "";
- @include fullsize;
- opacity: 0;
- transition: 0.3s ease;
- }
- }
-
- img {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- object-fit: cover;
- }
-
- .copyright {
- position: absolute;
- left: 100%;
- bottom: 0;
- transform-origin: 0 100%;
- color: $color-white;
- color: var(--theme-color-background, $color-white);
- font-size: 12px;
- line-height: 1.2;
- text-shadow: 0px 0px 3px rgba($color-black, 0.6), 0px 0px 8px rgba($color-black, 0.6);
- z-index: 2;
- width: 66%;
- padding: 8px;
- transform: rotate(-90deg);
-
- @media(max-width: 767px) {
- font-size: 10px;
- padding: 6px 18px;
- }
- }
-
- }
-
- &[data-type="grid"], &[data-type="first-image"] {
- a:after {
- padding-top: 66.2%;
- position: relative;
- }
- }
-
-
- &[data-type="grid"] {
- .image {
- flex: 1 1 33.3333%;
- max-width: 33.3333%;
-
- @media(max-width: 567px) {
- flex: 1 1 50%;
- max-width: 50%;
- }
- }
- }
-
- &[data-type="grid"] {
- .image {
- opacity: 1;
- transition: opacity 0.4s linear;
- }
- .image:not(.loaded):not(.loading) {
- position: absolute;
- opacity: 0;
- z-index: -1;
- }
- .copyright, .image-description {
- display: none;
- }
- }
-
- &[data-type="first-image"], &[data-type="single-image"] {
- .image:first-child {
- flex: 1 1 100%;
- max-width: 100%;
-
- .btn {
- position: absolute;
- top: 0;
- right: 0;
- margin: 20px;
- }
-
- ~ .image {
- display: none;
- }
- }
-
- .gallery-wrapper {
- padding: 5px;
-
- > .image-description {
- font-weight: 400;
- font-size: 18px;
- line-height: 1.2;
- margin-top: 12px;
- }
- }
-
- img, .copyright, .image-description {
- opacity: 0;
- transition: 0.4s ease;
- }
-
- .image {
- position: relative;
- background-color: $color-white;
-
- &:before {
- content: "";
- position: relative;
- display: block;
- padding-top: 66.2%;
- background-image: url("../../../img/loader.gif");
- background-size: 100px;
- background-position: center;
- background-repeat: no-repeat;
- }
-
- &:after {
- content: "";
- @include fullsize;
- background-color: $color-primary-light-04;
- background-color: var(--theme-color-primary-dimmed-04, $color-primary-light-04);
- opacity: 0.2;
- background-blend-mode: multiply;
- }
-
- a {
- @include fullsize;
- background-color: transparent;
- z-index: 1;
- }
- }
-
- a:after {
- display: none;
- }
-
- &.loaded {
- img, .image-description, .image .copyright {
- opacity: 1;
- }
- }
- }
-
- &[data-type="single-image"] {
- .image {
- position: relative;
- min-width: 100%;
- margin-bottom: 20px;
- padding: 0;
-
- a {
- position: relative;
- }
-
- &:before {
- @include fullsize;
- padding: 0;
- }
- }
-
- .btn {
- display: none;
- }
- }
-
- &[data-type="grid"], &[data-type="masonry"] {
- .image .image-description {
- display: none !important;
- }
-
- .image a {
- @extend .icon-zoom;
- overflow: hidden;
-
- img {
- transform: translate3d(0, 0, 0) scale(1);
- transition: 0.3s ease;
- }
-
- &:after {
- background-color: $color-primary;
- background-color: var(--theme-color-primary, $color-primary);
- }
-
- &:before {
- position: absolute;
- top: 50%;
- left: 50%;
- width: 40px;
- height: 40px;
- font-family: "Icons";
- line-height: 40px;
- font-size: 30px;
- margin: -20px;
- z-index: 1;
- color: white;
- opacity: 0;
- transition: 0.3s ease;
- }
-
- &:hover, &.focus-visible:focus {
- &:before {
- opacity: 1;
- }
- &:after {
- opacity: 0.5;
- }
- img {
- transform: translate3d(0, 0, 0) scale(1.04);
- }
- }
-
- &:focus-visible, &.-moz-focusring {
- &:before {
- opacity: 1;
- }
- &:after {
- opacity: 0.5;
- }
- img {
- transform: translate3d(0, 0, 0) scale(1.04);
- }
- }
- }
- }
-
- &[data-type="masonry"] {
- flex-wrap: nowrap;
- align-items: flex-start;
-
- .gallery-wrapper {
- flex-wrap: nowrap;
- align-items: flex-start;
- }
-
- .image {
- position: relative;
- display: block;
- opacity: 0;
- transition: opacity 0.3s ease;
-
- &.loaded {
- opacity: 1;
- }
- }
-
- .column {
- position: relative;
- display: block;
- flex: 1 1 100%;
-
- .image {
- position: relative;
- display: block;
- max-width: 100%;
- opacity: 1;
- transition: 0.4s ease;
-
- &.loading {
- opacity: 0;
- }
- }
- }
-
- &[data-cols="2"] .column {
- flex: 1 1 50%;
- max-width: 50%;
- }
- &[data-cols="3"] .column {
- flex: 1 1 33.3333%;
- max-width: 33.3333%;
- }
- &[data-cols="4"] .column {
- flex: 1 1 25%;
- max-width: 25%;
- }
- }
-
- .button-wrapper {
- text-align: center;
-
- .btn {
- margin: 40px 0 20px;
- background-color: $color-primary-light-04;
- background-color: var(--theme-color-primary-dimmed-04, $color-primary-light-04);
- color: $color-primary;
- color: var(--theme-color-primary, $color-primary);
-
- &:hover {
- box-shadow: 0 0 0 5px rgba($color-primary-light-04, 0.4), 0 0 4px rgba($color-black, 0.1);
- }
- }
- }
-
- &[data-infinite-scroll="true"] {
- .button-wrapper .btn {
- position: absolute;
- visibility: hidden;
- }
- }
- }
-
- .gallery-popup {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100vh;
- height: calc(var(--viewport-height, 1vh) * 100);
- background-color: rgba(#0F1C28, 0.95);
- color: $color-white;
- z-index: 100;
- @include hide;
- color: $color-white;
-
- &.open {
- @include show;
- }
-
- .image-box {
- position: relative;
- display: block;
- opacity: 1;
- max-width: 90%;
-
- img {
- max-height: 66.2vh;
- max-height: calc(var(--viewport-height, 1vh) * 66.2);
- @media(min-width: 1000px) {
- max-width: calc(100vw - 200px);
- }
- }
- }
-
- .text-box {
- color: $color-white;
- font-size: 18px;
- display: flex;
- flex-direction: column;
- margin: 20px 20px -10px;
-
- .copyright {
- order: 1;
- font-size: 14px;
- font-style: italic;
- }
-
-
- @media(max-width: 767px) {
- font-size: 16px;
- }
- }
-
- .controls {
- .prev, .next {
- position: absolute;
- top: 50%;
- right: 0;
- display: block;
- width: 50px;
- height: 50px;
- @extend .icon-pfeil-rechts;
- font-size: 0;
- line-height: 0;
- text-align: center;
- padding: 10px 0;
- margin: -25px 15px;
- border: 0;
- background-color: transparent;
- color: white;
- cursor: pointer;
-
- &:before {
- font-family: "Icons";
- font-size: 30px;
- line-height: 1;
- }
-
- @media(max-width: 999px) {
- display: none;
- }
- }
-
- .prev {
- left: 0;
- transform: rotate(180deg);
- }
-
- .tabs {
- display: none;
- }
-
- .count {
- position: absolute;
- top: 25px;
- left: 50%;
- width: 120px;
- margin-left: -60px;
- text-align: center;
- font-size: 18px;
-
- span {
- margin: 0 5px;
- }
- }
- }
-
- .slide {
- position: relative;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
- height: 100vh;
- height: calc(var(--viewport-height, 1vh) * 100);
- transition: 0.4s linear;
- opacity: 1;
-
- &.preload {
- opacity: 0;
- }
- }
-
- .closer, .download {
- position: absolute;
- top: 0;
- width: 50px;
- height: 50px;
- font-size: 30px;
- line-height: 1;
- padding: 10px 0;
- color: $color-white;
- background-color: transparent;
- margin: 15px;
- border: 0;
- cursor: pointer;
- z-index: 1;
-
- &:before {
- font-family: "Icons";
- }
- }
-
- .closer {
- right: 0;
- @extend .icon-schliessen;
- }
-
- .download {
- left: 0;
- @extend .icon-download;
- text-decoration: none;
- text-align: center;
- }
-
- a, button {
- @include focusvisible;
- }
- }
-
- .teaser, .slider {
- .gallery[data-type="first-image"] .image:before {
- padding-top: 66.6666%;
- }
- }
|