:root {
   --font-size-small: 1rem;
   --font-size-normal: 1.1rem;
   --font-size-medium: 1.4rem;
   --font-size-mediumbig: 1.9rem;
   --font-size-big: 2rem;
   --color-white: #F3FCF6;
   --color-black:#000;
   --color-red:#CC5E53;
   --color-green:#57D680;
   --color-yellow:#F7F410;
   --line-thickness:1px;
   --line-double: 2px;
}
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   -webkit-overflow-scrolling: touch;
   -webkit-text-size-adjust: 100%;
   font-feature-settings:'kern';  
   text-rendering: optimizeLegibility; 
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}
html {
   scroll-behavior: smooth;
   width: 100%;
   -webkit-tap-highlight-color: transparent;
   font-size: .95vw;
}
body {
   height: 100%;
   font-size: var(--font-size-medium);
   color: var(--color-black);
   background-color: var(--color-white);
   display: flex;
   letter-spacing: 0.02em;
   font-family: 'TRJN DaVinci Display';
   flex-direction: column;
   min-height: 100vh;
   line-height: 1.25;
}

h1,h2,h3,h4,h5 {
    font-size: inherit;
    font-weight: normal;
}
button {
    font-size: inherit;
    font-family: inherit;
    background: transparent;
    border: none;
    cursor: pointer;
   color:inherit;
}
nav, .mobMenu {
    top: 4.75rem;
    position: fixed;
    background-color: var(--color-white);
    width: 100%;
    z-index: 2;
    transform: translateY(calc(-100% - 1rem));
    transition: all .5s ease-out;
}.mobMenu {
    /* display: none; */
    height: auto;
    font-size: var(--font-size-big);
    box-shadow: 0 .2rem .6rem 0 rgba(0,0,0,.25);
}
nav.in, .mobMenu.in {
    transform: translateY(0);
}
nav > ul > li {
    padding: .3rem 0 .3rem;
    box-shadow: 0 .2rem .6rem 0 rgba(0,0,0,.25);
}
nav > ul > li > ul {
    font-family: 'TRJN DaVinci Display';
    font-size: var(--font-size-mediumbig);
    line-height: 1.15;
    margin-top: -.3em;
}
nav > ul > li {
    font-family: 'Lausanne 300';
    padding-right: 11.3rem;
}
.lang a.rex-current {
    display: none;
}
nav > ul {
    position: relative;
    text-align: right;
    font-size: var(--font-size-big);
    line-height: unset;
}
a {
    color: inherit;
    text-decoration: none;
}
h1, .title {
    position: sticky;
    top: 4.75rem;
    font-family: 'Lausanne 300';
    line-height: normal;
    height: 3rem;
    padding: .3rem 1.3rem;
    box-shadow: 0 .2rem .6rem 0 rgba(0,0,0,.25);
    font-size: var(--font-size-big);
    width: 100%;
    margin-bottom: 0;
    z-index: 2;
}
.title{
    top:0;
    background-color:var(--color-main);
}
header {
    position: fixed;
    background-color:var(--color-white);
    z-index: 3;
    width: 100%;
    height:4.75rem;
    box-shadow: 0 .2rem .6rem 0 rgba(0,0,0,.25);
}
article.textbox {
    margin-bottom: 5.7rem;
    max-width: 50.95rem;
}
article.singleimage.fullscreen {
    max-width: 100%;
}
h2 {
    font-size: var(--font-size-big);
    margin-left: 6.85rem;
    margin-bottom: .2rem;
}
#logo {
    width: 3.75rem;
    left: 1.1rem;
    position: absolute;
    top: .75rem;
}figcaption {
    font-size: var(--font-size-small);
    font-family: 'Lausanne 300';
    padding: .8rem 0 .5rem;
    position: absolute;
    width:100%;
}
.green {
     --color-main:var(--color-green);
    background-color: var(--color-green);
 
}
.red {
   --color-main:var(--color-red);
    background-color: var(--color-red);
 
}
.yellow {
     --color-main:var(--color-yellow);
    background-color: var(--color-yellow);
 
}
figure.image.mobileBG {
    display:none;
}
.anchorblock {
    position: absolute;
    top: -3.25rem;
}

.animBlock.visible {
   opacity:1;
}
button.close, #menuClose,#contactClose {
    position: absolute;
    right: .75rem;
    top: .65rem;
    width: 1.75rem;
    height: 1.75rem;
    background-image: url(../img/cross.svg);
    background-position: center;
    background-size: 100% auto;
    z-index: 3;
    background-repeat: no-repeat;
    transform: rotate(45deg);
    opacity: 1;
    transition: .25s opacity ease-out, .25s transform ease-out;
}
.marquee .track1{
    animation: track1 100s linear infinite -50s;
   
    }
.marquee .track2{
 animation: track2 100s linear infinite 0s;
}
@keyframes track1 {
  from {
  transform: translateX(100%);
  }
to {
 transform: translateX(-100%);
  } }
@keyframes track2 {
 from {
  transform: translateX(0);
  }
to {
 transform: translateX(-200%);
  } 
}
.newsbox.portrait {
    width: 80%;
}
.marquee a {
    display: flex;
}
.text p a, #cookiemessage p a {
    text-decoration: underline;
    text-decoration-thickness: .07em;
    text-underline-offset: .12em;
}
.marquee {
    display: flex;
    overflow: hidden;
    font-size: var(--font-size-big);
    position: fixed;
    z-index: 1;
    width: 100%;
    height: 3rem;
    background-color: var(--color-white);
    box-shadow: 0 .2rem .6rem 0 rgba(0,0,0,.25);
    bottom: .5rem;
    font-family: 'Lausanne 300';
    line-height: 1.5;
}
.textpage + .marquee, .newspage + .marquee {
    top: 4.75rem;
    background-color: var(--color-yellow);
}
.marquee__inner {
    position: relative;
   
}
#cookiemessage {
    position: fixed;
    bottom: 0;
    background-color: var(--color-white);
    z-index: 2;
    padding: 1rem 1.1rem;
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-family: 'Lausanne 300';
    font-size: var(--font-size-medium);
}
#cookiemessage p a {
    font-family: 'TRJN DaVinci Display';
}

#agree {
    border: var(--line-double) solid;
    padding: .5rem;
    height: 3rem;
    margin-top: 1rem;
}

#cookiemessage p {
    max-width: 40em;
}
section:not(.in) button.close {
    pointer-events: none;
}

section:not(.in) .title {
    cursor: pointer;
}
.marquee .track1, .marquee .track2{
  display: inline-block;
  top: 0;
  padding:0;
  position: relative;
}
.marquee .marquee__inner {
 opacity: 1;
 position: relative;
 display: flex;
 white-space: nowrap;
 will-change: transform;
 width: auto;
}

.marquee span {
    text-align: center;
    white-space: nowrap;
    display: inline;
    padding: 0 1vw;
}
.newsbox h2 {
    font-family: 'Lausanne 300';
    font-size: var(--font-size-small);
    margin: auto;
    text-align: center;
}

.newsbox {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 5rem;
}
.text p:not(:last-child) {
    margin-bottom: 1em;
}

.text p.button a, #cookiemessage p a {
    /* text-decoration: none; */
    font-style: italic;
}

p.button {
    position: relative;
    margin-left: 5rem;
}



.text p.button:not(:first-child) {
    margin-top: -1em;
}
.newsbox.textFirst .text {
    margin-bottom: 1.5rem;
}

.newsbox.imageFirst .image {
    order: -1;
    margin-bottom: 1.5rem;
}
.newsbox .image,figure.image.mobileBG{
    filter:grayscale(1);
}
section.in button.close {
    opacity: 1;
    transform: rotate(0);
}
#newslink {
    display: none;
}

.mobMenu .lang {
    display: none;
}
section.in {
  /* overflow: auto; */
  /* flex-grow: 1; */
}
section.topped{
      /* z-index: 1; */
}
.text ul {
    padding-left: .75em;
}

.text ul li {
    margin-bottom: .5em;
}


.textpage h2 {font-family: 'Lausanne 300';margin-left: unset;}
main.textpage{
    padding: 3.9rem 0 0;
    font-family: 'Lausanne 300';
    font-size: var(--font-size-medium);
    background-color: var(--color-yellow);
    flex-grow: 1;
}
.textpage h1 {
    box-shadow: unset;
    position: relative;
    top: unset;
    padding: 0 1.05rem;
    height: unset;
    z-index: unset;
    margin-bottom: 1.9rem;
    text-transform: uppercase;
}
main.newspage{
        display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 2rem;
       padding: 8.6rem 8.7rem;
}
section{
       padding: 0 0 1rem;
       position: fixed;
       transition: .5s all ease-out;
       overflow: auto;
       height: 100%;
}
figure.image {
    position: relative;
}
.leftHovering .swiper-container{
    transform: translateX(3rem);
}
.rightHovering .swiper-container {
    transform: translateX(-3rem);
}
.swiper-container {
    transition: .25s transform ease-out;
}
main {
    margin-top: 4.75rem;
    padding: 0;
    position: relative;
}

#buttonGroup, .lang {
    font-family: 'Lausanne 300';
    font-size: var(--font-size-big);
    display: flex;
    gap: 2.5rem;
    list-style-type: none;
    position: absolute;
}

#buttonGroup {
    right: 11.3rem;
    top: 1.3rem;
}
em{
    font-family: 'TRJN DaVinci Display';
    word-spacing: unset;
    line-height: 1;
}
.lang {
    top: 1.3rem;
    text-transform: uppercase;
    right: 1.85rem;
    gap: 0;
    transition: .25s opacity ease-out;
}
.mobMenu .text a {
    font-family: 'TRJN DaVinci Display';
    line-height: .8;
}
article.imageslider.noLegends {
    height: 36.5rem;
    padding-bottom: 0.5rem;
}
.iconGroup {
    width: 4rem;
    height: auto;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    top: .25rem;
    /* top:0; */
}
#logo img {
    width: 100%;
}
.rightAlign {
    left: 100%;
    transform: translateX(-100%);
}
.animBlock {
    position: absolute;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: .25s opacity ease-out;
}
.mobMenu .text {
    font-family: 'Lausanne 300';
    line-height: 1;
    padding: 1rem 1.05rem 1rem;
}
.mobileBG .title:after, #newsButton:before,.text p.button a:before,#newslink:before {
    content: '';
    position: absolute;
    width: 3.25rem;
    right: calc(100% + .1rem);
    height: 2.2rem;
    background-image: url(../img/arrow_right.svg);
    background-size: 98% auto;
    background-position: center;
    background-repeat: no-repeat;
    top: .1rem;
    animation: bouncing 1s infinite linear;
}
@keyframes bouncing {
0%,100% {
transform:translate(-.5rem);
  }
    50%{
transform:translate(0);
  }
}
@keyframes bouncingDown {
0%,100% {
transform:translateY(-.5rem) rotate(90deg);
  }
    50%{
transform:translateY(0) rotate(90deg);
  }
}
.swiper-button-next:after, .swiper-button-prev:after {
    display: none;
}
.swiper-button-next, .swiper-button-prev {
    width: 10rem;
    height: 100%;
    background-size: 98% auto;
    background-repeat: no-repeat;
    background-image: none !important;
    top: 0;
    margin-top: 0;
}
.text p.button a:before {
    width: 2.3rem;
    height: 1.8rem;
    top: .1rem;
}
.swiper-button-next {
    background-image: url(../img/arrow_right.svg);
    right: 0;
}
.swiper-button-prev {
    background-image: url(../img/arrow_left.svg);
    left: 0;
}
#menuClose, #contactClose {
    transform: rotate(0);
    right: 1.5rem;
    top: 1.5rem;
    opacity: 0;
}
#menuClose.in, #contactClose.in {
    opacity: 1;
}
#menuClose.in + #contactClose + .lang,  #contactClose.in + .lang  {
    opacity: 0;
    pointer-events: none;
}
article {
    position: relative;
    padding: 0 1.05rem;
}
.swiper-slide img {
    height: 34rem;
    display: block;
}

.swiper-slide {
    width: auto;
    padding: 0 .3rem;
}
article.imageslider {
    overflow: hidden;
    height: 38rem;
    margin-bottom: 2.7rem;
    z-index: 1;
    padding-bottom: 2rem;
}

#menuClose:not(.in), #contactClose:not(.in) {
    pointer-events: none;
}
.index {
    z-index: 2;
    position: absolute;
    font-family: 'Lausanne 300';
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.middleAlign {
    left: 50%;
    transform: translateX(-50%);
}
figure.image img {
    width: 100%;
    display: block;
}

article.doubleimage {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 1.05rem;
    margin-bottom: 6.4rem;
}

article.singleimage {
    max-width: 49.7rem;
    margin-bottom: 2.7rem;
}
@media (min-width: 992px) {
section.green.in {
    left: 22.2%;
}
section.green {
    width: 77.8%;
    left: 77.9%;
    top: 4.75rem;
    height: calc(100% - 4.75rem);
}
    section.yellow {
    width: 77.9%;
    left:0;
    top:4.75rem;
    height: calc(100% - 4.75rem);
}
    section.yellow.in + .red {
    transform: translateX(80%);
}
#newsButton.in::before {
    animation: bouncingDown 1s infinite linear;
    position: fixed;
    top: 1.5rem;
    left: calc(50% - 1.625rem);
}
section.yellow.topped {
    z-index: unset;
}
section:not(.in) button.close {
    opacity: 0;
}
    .bannerIn section {
    padding-bottom: 3.5rem;
}
section.red {
    width: 72.9%;
    transform: translateX(50%);
    top: 7.75rem;
    right: 1.9rem;
    height: calc(100% - 7.75rem);
}
section.red.in {
    right: 22.1%;
    transform: translateX(0);
}
::-webkit-scrollbar {
 width: 2px;
}
::-webkit-scrollbar-track {
 background-color: transparent;
}
section.in::-webkit-scrollbar-thumb {
 background-color: #000;
}
    
}
@media (min-width: 501px) and (max-width: 992px) {
  html {
      font-size: 4vw;
  }  
}
@media (min-width: 200px) and (max-width: 500px) {
  html {
      font-size: 5vw;
  }  
  
}
@media (max-width: 992px){
 :root {
  --font-size-small: .8rem;
  --font-size-normal: 1rem;
  --font-size-medium: 1.1rem;
  --font-size-big: 1.5rem;
  --line-double: 1px;
}
    nav {
    display: none;
}
    .homepage main {
    display: flex;
    flex-direction: column;
    position: fixed;
    width: 100%;
    margin-top: 3.75rem;
    height: calc(100% - 3.75rem - 2.25rem);
    justify-content: flex-start;
}
    
#logo {
    width: 3rem;
    top: .5rem;
}

header {
    height: 3.75rem;
}
.marquee {
    height: 2.25rem;
    bottom: 0;
}


section:not(.in) {
    overflow: hidden;
}

.innerBox article:last-child {padding-bottom: 1rem;}

.title {
    height: 2.4rem;
    padding: .35rem .55rem;
}
    .mobileBG .title {
    pointer-events: none;
    background-color: transparent;
    position: absolute;
    box-shadow: none;
}
section.in {
    flex-grow: 1;
}
    
h2 {
    margin-left: 0;
}
    .mobMenu {
        font-size:var(--font-size-big);
        display: block;
        position: relative;
        min-height: 0;
        padding: 0;
        height: 0;
        transform: unset;
        /* display: none; */
        top: unset;
}
section {
    position: relative;
    padding-bottom: 0;
    height: auto;
    min-height: 2.4rem;
}
    article.imageslider, article.imageslider.noLegends {
    height: auto;
    padding: 0;
}

.swiper-slide img {height: unset;width: 100%;}
section.in .innerBox {
    opacity: 1;
    width: 100%;
    /* position: relative; */
    max-height: 100vh;
    transition: .5s all ease-out;
}
section .innerBox {
     /* opacity: 0; */
     position: absolute;
     transition: .5s all ease-out .5s;
     max-height: 0;
     padding-top: .55rem;
}
.textpage + .marquee, .newspage + .marquee {
    top: 3.75rem;
}
    .swiper-slide {
    width: 100%;
    padding: 0 0;
}
header > #buttonGroup, header > .lang{
    display:none;
}
article.doubleimage {
    grid-template-columns: repeat(1,1fr);
}
.swiper-button-next,.swiper-button-prev {
  display:none;
}
article {
    padding: 0 .55rem;
   
}
    article.textbox{
        margin-bottom: 3rem; 
    }

article.singleimage {
    margin-bottom: 1rem;
    padding: 0;
}
.swiper-button-prev {
    left: 1.5rem;
}
figcaption {
    position: relative;
    padding: .8rem .55rem .5rem;
}
    .swiper-slide figcaption{
            padding: .4rem 0 0;
    }
    .mobMenu .lang {
    display: block;
    right: .5rem;
    top: unset;
    bottom: .5rem;
}

#newslink {
    display: block;
    position: absolute;
    bottom: .5rem;
    margin-left: 2.5rem;
    left: .5rem;
}
    #menuClose {
    display: none;
}#contactClose {
    opacity: 1;
    height: 1.25rem;
    width: 1.25rem;
    pointer-events: auto !important;
    right: 1rem;
    top: 1.25rem;
}
    #contactClose:not(.in) {
    transform: rotate(45deg);
}
figure.image.mobileBG {
    position: relative;
    flex-grow: 0;
    display:block;
}
    .iconGroup {
    width: 3.25rem;
    top: .1rem;
    display: none;
}
    .mobMenu .text {
    padding: .5rem;
}
.mobileBG .title:after, #newsButton:before, .text p.button a:before, #newslink:before {
    height: 1.25rem;
    width: 2.25rem;
    top: .45rem;
}
 .text p.button a:before{
        height: 1rem;
        width: 1.75rem;
        top: .25rem;
    }
figure.image.mobileBG img {
    position: absolute;
}
button.close {
    transform: rotate(45deg);
    height: 1.25rem;
    width: 1.25rem;
    opacity: 1;
    pointer-events: none;
    right: 1rem;
}
.newspage .mobMenu {
    display: none;
}
section.in button.close {
    transform: rotate(0);
    pointer-events: auto;
}
    main {
    margin-top: 3.75rem;
}
    #cookiemessage {
    flex-direction: column;
    padding: .5rem;
    font-size: var(--font-size-small);
    display: block;
}
.swiper-slide .imgBox.portrait,figure.image.portrait {
    width: 75%;
    margin: auto;
} 
#agree {
    padding: .25rem;
    height: unset;
    left: 100%;
    transform: translateX(-100%);
    position: relative;
}
    
    main.textpage, main.newspage {
    padding: 2.75rem .5rem 1rem;
    grid-template-columns: repeat(1,1fr);
}
    .textpage h1 {
    padding: 0;
    margin-bottom: 1em;
}
.mobileBG .title:after {
    right: .5rem;
    top: .6rem;
}
.textpage article {
    padding: 0;
    margin-bottom: 0;
}
.index {
    position: relative;
    display: block;
    font-size: var(--font-size-small);
    text-align: center;
    padding-top: .5rem;
}
.newsbox.portrait {
    width: 100%;
}

.newsbox {
    margin-bottom: 2rem;
}
}
@media (hover: hover) {
nav > ul > li a:hover{
    text-decoration:underline;
    text-underline-offset: .15em;
    text-decoration-thickness: .1em;
}
nav > ul > li a[data-section="3"]:hover{
    text-decoration-color:var(--color-red);
} 
nav > ul > li a[data-section="4"]:hover{
    text-decoration-color:var(--color-yellow);
} 
nav > ul > li a[data-section="2"]:hover{
    text-decoration-color:var(--color-green);
} 
   .text p:not(.button) a:hover {
    font-style: italic;
    letter-spacing: 0.012em;
    word-spacing: 0.21em;
} 
#menuClose:hover, #contactClose:hover {
    transform: rotate(90deg);
}
    
}
@media (hover: hover) and (min-width: 992px){
  section.red:not(.in):not(.topped):hover {
    transform: translateX(calc(50% - 3rem));
}
section.green:not(.in):not(.topped):hover {
    transform: translateX(-3rem);
}  
}
@font-face {
    font-family: 'Lausanne 300';
    src: url('fonts/Lausanne-300Italic.woff2') format('woff2'),
        url('fonts/Lausanne-300Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'TRJN DaVinci Display';
    src: url('fonts/TRJNDaVinciItalic-Display.woff2') format('woff2'),
        url('fonts/TRJNDaVinciItalic-Display.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Lausanne 300';
    src: url('fonts/Lausanne-300.woff2') format('woff2'),
        url('fonts/Lausanne-300.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
  font-family: 'TRJN DaVinci Display';
    src: url('fonts/TRJNDaVinci-Display.woff2') format('woff2'),
        url('fonts/TRJNDaVinci-Display.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
   font-family: 'TRJN DaVinci Display';
    src: url('fonts/TRJNDaVinciItalic-Display.woff2') format('woff2'),
        url('fonts/TRJNDaVinciItalic-Display.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}
::selection {
   color: var(--color-white);
   background-color: var(--color-black);
}
::-moz-selection {
   color:  var(--color-white);
   background-color: var(--color-black);
}
