@import url("https://use.typekit.net/srn2whe.css");

:root {
    --menu-bar-height: 104px;
    --menu-bar-height-scrolled: 65px;
    --color-primary-1: #dd6800;
    --section-padding-y: 160px;
    --font-alt: 'Archivo', sans-serif;
}

@media screen and (min-width: 991px) {
    :root {
        --full-wrapper-margin-x: 2%;
    }
}


/* @import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap'); */


.top-page-border {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    width: 100%;
    height: 2.962962962962963vh;
    z-index: 1030;
}

.main-nav {
    top: 2.962962962962963vh;
    border-bottom: 1px solid #000;
    box-sizing: content-box;
    box-shadow: none;
}

.small-height, .main-nav:not(.mobile-on).small-height .inner-nav > ul > li > a, .main-nav.small-height .mobile-nav {
    height: var(--menu-bar-height) !important;
}

.nav-logo-wrap {
    position: relative;
    top: 0;
    left: 0;
    flex-shrink: 0;
    z-index: 1;
}

.nav-logo-wrap svg {
    fill:#000000;
    stroke-width:0px;
    height: 88px;
}

.inner-nav ul, .btn-mod.btn-small {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
}

.inner-nav > ul {
    justify-content: space-between;
}

.inner-nav > ul > li {
    margin: 0;
}

.inner-nav > ul > li > a {
    opacity: 1;
}

.inner-nav ul li a:hover, .inner-nav ul li a.active {
    color: #de6800;
}

.inner-nav .mn-sub {
    border-radius: 0;
    border: 1px solid #000;
    border-bottom: 0;
    background: #fff;
    width: 310px;
    left: -107px !important;
}

.inner-nav .mn-sub.js-opened {
    display: flex !important;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.inner-nav ul li .mn-sub li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px !important;
    line-height: 1.1 !important;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0 5px;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    border-bottom: 1px solid #000;
    color: #000 !important;
    outline-offset: -2px !important;
    transition: var(--transition-default);
    text-transform: uppercase;
    border-radius: 0 !important;
}

.inner-nav ul li .mn-sub li:last-child a {
    border-radius: 0 !important;
}

.mn-sub li a:hover, .inner-nav ul li .mn-sub li a:hover, .mn-sub li a.active {
    background: #de6800;
    color: #000 !important
}

.btn-border, .btn-border-w, .btn-border-c {
    border-width: 1px !important;
}

.c-banner_wrapper {
    width: 100%;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: calc(var(--menu-bar-height) + 2.962962962962963vh);
    z-index: 1;
    border-bottom: 1px solid #000;
}

.c-banner {
    overflow: hidden;
    width: 120vw;
    display: flex;
    align-items: center;
    font-size: calc(1.25rem + .75vw);
    height: 40px;
    margin-left: -2vw;
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
    text-decoration: none !important;
    position: relative;
    color: #000;
    background-color: #fff;
}
.c-banner:hover {
    color: #fff;
}
.c-banner:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale3d(1, 0, 1);
    transform-origin: bottom center;
    transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1);
    background-color: forestgreen;
}
.c-banner:focus:before, .c-banner:hover:before {
    transform: scale3d(1, 1, 1);
}

.c-banner_inner {
    white-space: nowrap;
    line-height: .675;
    padding-top: 0.15em;
    padding-bottom: 0.15em;
    flex-shrink: 0;
    animation: bannerInner 7s linear infinite;
    font-weight: 300;
}

@keyframes bannerInner{
    0% {
        transform:translate3d(0, 0, 0)
    }
    100% {
        transform:translate3d(-100%, 0, 0)
    }
}

@media screen and (min-width: 1200px) {
    .c-banner {
        font-size: 1.5vw;
    }
}

.scroll-bounce {
    position: relative;
    display: inline-block;
}

.scroll-bounce svg{
    height: 64px;
}

.bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%,20%,50%,80%,to {
        transform: translateY(0)
    }

    40% {
        transform: translateY(-0.75rem)
    }

    60% {
        transform: translateY(-0.1rem)
    }
}

.footer-home {
    position: fixed;
    padding: 0 var(--full-wrapper-margin-x);
    display: block;
    bottom: 0;
    left: 0;
    z-index: 1030;
    width: 100%;
    background-color: #fff;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4,0,0.2,1);
    transition-duration: 700ms;
    border: 1px solid #000;
    border-left: 0;
    border-right: 0;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-home.wow {
    pointer-events: none;
}

.footer-home.wow.animated {
    pointer-events: all;
}

.footer-home .social {
    display: flex;
    align-items: center;
}

.footer-home .social a {
    display: inline-block;
}

.footer-home svg {
    fill: #000;
    width: auto;
    height: 24px;
}

.footer-home .social a + a {
    margin-left: 12px;
}

.scroll-down-wrap-4 {
    bottom: 80px;
}

.scroll-down-4 {
    border: 1px solid var(--color-dark-1);
    background-color: #fff;
}

.scroll-down-4:before {
    z-index: 0;
}

.form input[type="text"], .form input[type="email"], .form textarea {
    height: 56px;
    font-size: 18px;
    color: var(--color-dark-1);
    border: 1px solid var(--color-dark-1);
    padding: 5px 10px;
    border-radius: 0;
    box-shadow: none;
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    text-transform: uppercase;
    background: transparent;
}

.form textarea {
    height: auto;
}

.form input[type="text"]::placeholder, .form input[type="email"]::placeholder, .form textarea::placeholder {
    font-weight: 300;
    color: var(--color-dark-1);
}

.form input[type="text"]:hover, .form input[type="text"]:hover::placeholder,
.form input[type="email"]:hover, .form input[type="email"]:hover::placeholder,
.form textarea:hover, .form textarea:hover::placeholder {
    border-color:var(--color-dark-1);
    color: var(--color-dark-1);
}

.form input[type="text"]:focus, .form input[type="email"]:focus,
.form input[type="text"]:focus::placeholder, .form input[type="email"]:focus::placeholder,
.form textarea:focus, .form textarea:focus::placeholder {
    color: var(--color-dark-1);
    border-color: rgba(0, 0, 0, .7);
}

.btn-mod, a.btn-mod {
    font-size: 18px;
    font-family: var(--font-alt), serif;
    text-transform: uppercase;
    width: 100%;
    height: 56px;
    color: var(--bs-white);
}
.btn-mod:hover, .btn-mod:focus, a.btn-mod:hover, a.btn-mod:focus {
    color: #000;
    text-decoration: none;
    outline: none;
    border-color: #000;
    box-shadow: none;
    background: var(--color-primary-1);
}
.form-tip {
    font-size: 12px;
    line-height: 1.714;
    font-weight: 700;
    color: #000;
}
.bg-imago {
    background-color: var(--color-primary-1);
}
.lang-container {
    line-height: 1.25;
    align-items: center;
    display: flex;
    margin-bottom: -0.09rem;
    text-decoration: none;
}
.lang-container:hover {
    color: var(--color-dark-1);
    text-decoration: none;
}

.lang-container .text {
    font-size: 1.11rem;
}

.lang-wrapper {
    margin-top: -0.2rem;
}

.switch {
    position: relative;
    height: 1.1em;
    width: 1.86em;
    color: rgb(255 255 255 / 1);
}

.slider {
    display: flex;
    height: 100%;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 1);
    background-color: rgb(255 255 255 / 1);
}
.slider:not(.footer-home) {
    transition-duration: 300ms;
    transition-property: color, background-color;
}
.slider.round {
    border-radius: 2em !important;
}
.slider:before {
    position: absolute;
    left: 0.2em;
    bottom: 0.2em;
    height: calc(1.1em - 0.4em);
    width: calc(1.1em - 0.4em);
    background-color: rgb(0 0 0 / 1);
    content:  '';
}

.slider.round:before {
    border-radius: 50%;
}

html[lang=en] .slider:before, .en-GB .slider:before {
    transform: translateX(calc(1.86em - 1.1em));
}

.mr-1 {
    margin-right: 0.25rem;
}
.ml-1 {
    margin-left: 0.25rem;
}

.logo-cube {
    --cubeWidth: 64px;
    --cubeHeight: 56px;
    transform: translate3d(0, 0, 0);
    margin-top: -1px;
}
.cube-wrapper {
    perspective: 1600px;
    transition: opacity 1.9s ease;
    transition-delay: 400ms;
    z-index: 20;
    height: var(--cubeHeight);
    width: var(--cubeWidth);
    -o-object-fit: contain;
    object-fit: contain;
}
.logo-cube .cube-wrapper {
    perspective: 140px;
}
.rotate-inner {
    position: relative;
    width: var(--cubeWidth);
    height: var(--cubeHeight);
    transform-style: preserve-3d;
    animation: autoRotate 12s linear both infinite;
    will-change: transform;
    animation-play-state: running;
}

@keyframes autoRotate {
    to {
        transform: rotateY(-360deg)
    }
}

.side {
    position: absolute;
    width: 100%;
    height: 100%;
    background: no-repeat center/100% auto;
    backface-visibility: hidden
}

.side svg {
    height: var(--cubeHeight);
    fill: #000;
}

.side:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit
}

.side.front {
    transform: translateZ(calc(var(--cubeWidth) * 0.5));
}

.side.back {
    transform: translateZ(calc(-1 * var(--cubeWidth) * 0.5)) rotateY(180deg);
}

.side.back:before {
    animation-delay: 0.1s
}

.side.left {
    transform: rotateY(-90deg) translateZ(calc(var(--cubeWidth) * 0.5));
}

.side.left:before {
    z-index: -1;
    animation-delay: 0.2s
}

.side.right {
    transform: rotateY(90deg) translateZ(calc(var(--cubeWidth) * 0.5));
}

.side.left svg, .side.right svg {
    fill: var(--color-primary-1);
}

.side.right:before {
    z-index: -1;
    animation-delay: 0.3s
}

@media (min-width: 768px) {
    .logo-cube {
        --cubeWidth: 64px;
        --cubeHeight: 56px;
    }
}
@media (min-width: 1024px) {
    .logo-cube {
        --cubeWidth: 72px;
        --cubeHeight: 64px;
        margin-left: 0.7rem;
        margin-right: 0.75rem;
    }
}

.inner-nav > ul > li:first-of-type{
    display: none !important;
}
.logo-visible {
    display: block;
}

@media (min-width: 1040px) {
    .inner-nav > ul > li:first-of-type{
        display: block !important;
    }
    .logo-visible {
        display: none;
    }
}
.img-collectif, .img-gsmm {
    height: 26px !important;
}
.img-tart {
    height: 30px !important;
}
.svg-1000olhos, .svg-cgac {
    height: 34px !important;
}
.svg-mnac {
    height: 40px !important;
} 
.svg-rpc, .img-ahrc, .img-sl, .img-ml, .img-mmp, .svg-rpc, .svg-kts  {
    height: 48px !important;
}
.svg-nsbe, .img-ml {
    height: 56px !important;
}
.img-emop, .img-up, .img-tivoli, .svg-emop, .svg-gcp, .img-eaf, .img-iic {
    height: 64px !important;
}
.img-csl, .img-cc11, .img-ei {
    height: 72px !important;
}
.svg-cml, .svg-snba {
    height: 80px !important;
}
.img-ic, .img-csantar, .img-me {
    height: 88px !important;
}

.svg-rpc, .svg-cml, .img-emop, .svg-mnac, .img-csl, .svg-snba, .img-ic, .img-gsmm, .img-collectif, .img-cc11,
.svg-1000olhos, .svg-gcp, .img-ahrc, .img-up, .img-tivoli, .img-csantar, .img-tart, .svg-emop, .img-sl, .img-me, .img-ei, .img-eaf,
.img-iic, .svg-cgac, .img-ml, .img-mmp, .svg-nsbe, .svg-rpc, .svg-kts  {
    margin: 1rem;
    object-fit: contain;
}

@media only screen and (max-width: 1024px) {
    .page-section {
        --section-padding-y: 120px;
    }
    .small-section {
        padding: 80px 0;
    }
    .xsmall-section {
        padding: 50px 0;
    }
}
@media only screen and (max-width: 768px) {
    .page-section {
        --section-padding-y: 80px;
    }
    .xsmall-section {
        padding: 40px 0;
    }
    .small-section {
        padding: 60px 0;
    }
}

/* fluid 5 columns */
.grid-sizer,
.grid-item { width: 100%; }

.grid-item {
    margin-bottom: 6%;
}

@media only screen and (min-width: 768px) {
    .grid-sizer,
    .grid-item { width: calc(50% - 3%); }
    
    .gutter-sizer { width: 6%;}
}

@media only screen and (min-width: 991px) {
    .grid-sizer,
    .grid-item { width: calc(33.333333333333333333% - 4%); }
    
    .gutter-sizer { width: 6%;}
}

.container-fluid {
    padding-right: 6%;
    padding-left: 6%;
}

.festival--link {
    position: relative;
    display: block;
    text-decoration: none;
}
.festival--link:hover {
    text-decoration: none;
}

.titlewrap-on-image {
    z-index: 2;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-top: 0;
    padding: 0 15px;
    display: none;
}

.lay-textformat-parent > * {
    color: #000;
    letter-spacing: 0em;
    line-height: 1.2;
    font-weight: 400;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    padding: 0;
    text-indent: 0em;
    border-bottom: none;
    text-align: left;
    font-size: calc(1em + .25vw);
}

.lay-textformat-parent > .festival--title, .festival--title {
    display: block;
    color: #000;
    letter-spacing: -0.02em;
    line-height: 0.9;
    font-weight: 400;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    padding: 0;
    text-indent: 0em;
    border-bottom: none;
    text-align: left;
    z-index: 2;
    margin: 0.375em 0;
    opacity: 1;
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
    font-size: calc(1em + 1.5vw);
}

.festival--descricao {
    display: inline-block;
    width: 100%;
    /* margin-top: 40px; */
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
    opacity: 0;
    margin-bottom: 0;
}

.festival--link:hover .festival--descricao {
    opacity: 1;
}

.festival--link .overflow-hidden {
    position: relative;
    -webkit-transition: -webkit-filter 400ms ease-out;
    -moz-transition: -webkit-filter 400ms ease-out;
    transition: -webkit-filter 400ms ease-out;
}

.white--overlay {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    background-color: #fff;
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
}

.festival--link:hover .overflow-hidden .white--overlay {
    opacity: 0.8;
}

p {
    margin: 0 0 1.25em;
}

hr {
    margin: 1.25em 0;
}

@media only screen and (min-width: 678px) {
    .titlewrap-on-image {
        display: block;
    }
}

@media only screen and (min-width: 991px) {
    .lay-textformat-parent > * {
        font-size: 1vw;
    }
}

.grid-filter{ margin:0; padding:0 0 var(--section-padding-y); list-style: none; }
.grid-filter li {
    list-style:none;
    display:inline-block;
    padding: 0.625em 1.25em;
    font-size: 12px;
    text-align: center;
    border: 1px solid #000;
    cursor: pointer;
    margin-bottom: 1em;
    font-weight: 500;
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
}

.grid-filter li:hover, .grid-filter li.active, .grid-filter li.active:hover {
    color: #fff;
    background-color: #000;
}

.grid-filter li:hover a, .grid-filter li.active a, .grid-filter li.active:hover a,
.grid-filter li a:hover, .grid-filter li.active a:hover {
    color: #fff;
}

.grid-filter li + li {
    margin-left: 1em;
}

.grid-filter li a {
    text-decoration: none;
}

@media (min-width: 769px) {
    .grid-filter li {
        font-size: 20px;
        white-space: nowrap;
        padding: 0.75em 1.5em;
    }
}

.colectivo .festival--link img {
    max-width: calc(50vw - 4%);
}
@media (min-width: 991px) {

    .colectivo .festival--link img {
        max-width: 100%;
    }
}

@media (min-width: 1025px) {
    .lay-textformat-parent > * {
        font-size: 1.2vw;
    }

    .grid-filter li {
        font-size: 1vw;
    }

    .lay-textformat-parent > .festival--title, .festival--title {
        font-size: 2.5vw;
    }

    .lay-textformat-parent > *:last-child {
        margin-bottom: 0;
    }
}

.owl-item {
    /* margin-right: 3% !important; */
}

.owl-item img {
    height: calc(100vh - (var(--section-padding-y) + 50px + (var(--menu-bar-height) + 2.962962962962963vh)));
}

.owl-margin {
    margin-right: 3%;
}

.owl-padding {
    padding-left: 3%;
    padding-right: 3%;
}

.px--2_percent {
    padding-left: 2%;
    padding-right: 2%;
}

.swiper-ausstellung {
    width: 100%;
}

.swiper-ausstellung .swiper-wrapper {
    width: 50%;
}

.swiper-ausstellung .swiper-slide {
    text-align: center;
    width: auto;
}

.swiper-ausstellung .swiper-slide img {
    height: 75vh;
    width: auto;
}

.swiper-navigation {
    font-size: 1rem;
    margin-top: .5rem;
}

.swiper-navigation .swiper-prev-border, .swiper-navigation .swiper-next-border {
    background-color: #fff;
    color: #000;
    border: 1px solid #000;
    line-height: 1;
    cursor: pointer;
    padding: .25rem;
    width: 1.5rem;
    height: 1.5rem;
    text-align: center;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    position: relative;
    display: initial;
}

.swiper-navigation .swiper-prev-border:hover, .swiper-navigation .swiper-next-border:hover {
    background-color: #000;
    color: #fff;
}

.swiper-navigation .swiper-next-border {
    margin-left: -1px;
}

figure .has-caption {
    position: relative;
    display: inline-block;
}

figure .has-caption:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 12.5rem;
    background: transparent linear-gradient(180deg, #00000000 0%, #000 100%) 0% 0% no-repeat padding-box;
    opacity: .6;
    pointer-events: none;
}

figcaption {
    font-size: .7rem;
    line-height: 1.14;
}

figure figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: .75rem;
    color: #fff;
    z-index: 2;
    max-width: 100%;
}

.swiper-ausstellung .swiper-slide figcaption {
    text-align: left;
}


@supports (height:100dvh) {
    .swiper-ausstellung .swiper-slide img {
        height: 75dvh;
    }
}
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
    .swiper-ausstellung .swiper-slide img {
        height: auto;
    }
}

@media only screen and (max-width: 991px) {
    @supports (height:100dvh) {
        .swiper-ausstellung .swiper-slide, .swiper-ausstellung .swiper-slide figure, .swiper-ausstellung .swiper-slide div {
            height: 75dvh;
        }
    }
    @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
        .swiper-ausstellung .swiper-slide, .swiper-ausstellung .swiper-slide figure, .swiper-ausstellung .swiper-slide div {
            height: auto;
        }
    }
    figure figcaption {
        position: relative;
        -webkit-filter: invert(1);
        filter: invert(1);
        padding: .75rem 0;
        max-width: calc(100vw - 1.5rem);
    }
    figure .has-caption:after {
        display:none;
    }
    .swiper-ausstellung .swiper-slide, .swiper-ausstellung .swiper-slide figure, .swiper-ausstellung .swiper-slide div {
        height: 75vh;
        width: calc(100vw - 1.5rem);
        position: relative;
    }
    
    .swiper-ausstellung .swiper-slide figure {
        width: 100%;
        overflow: hidden;
    }
    .swiper-ausstellung .swiper-slide img {
        height: 100%;
        width: 100%;
        min-width: 100%;
        max-height: 100%;
        height: auto;
        left: 50%;
        top: 50%;
        bottom: auto;
        right: auto;
        transform: translateX(-50%) translateY(-50%) !important;
        position: absolute;
        object-fit: contain;
        z-index: -1;
    }
    .swiper-ausstellung .swiper-slide figcaption {
        position: absolute;
        bottom: 0;
        top: auto;
        right: 0;
        padding: .5rem 0 0;
        background: transparent linear-gradient(180deg, #00000000 0%, #000 100%) 0% 0% no-repeat padding-box;
    }
}

main {
    animation: fade-in 1s cubic-bezier(.39,.575,.565,1) .5s both;
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.coming-soon-section {
    width: 100vw;
    height: 100vh;
}

.coming-soon-section .logo-cube {
    --cubeWidth: 96px;
    --cubeHeight: 84px;
    transform: translate3d(0, 0, 0);
    margin-top: -1px;
}

.coming-soon-section .logo-cube .cube-wrapper {
    perspective: 140px;
}

@media (min-width: 768px) {
    .coming-soon-section .logo-cube {
        --cubeWidth: 160px;
        --cubeHeight: 144px ;
        margin-left: 0.7rem;
        margin-right: 0.75rem;
    }
    .coming-soon-section .logo-cube .cube-wrapper {
        perspective: 280px;
    }
}

@media (min-width: 1025px) {
    .coming-soon-section .festival--title{
        font-size: 1.75vw;
    }
}

.coming-soon-wrapper.c-banner_wrapper {
    pointer-events: none;
    position: fixed;
    left: 0;
    top: 0;
    border-top: 2.962962962962963vh solid #000;
    text-transform: uppercase;
}

.coming-soon-wrapper .c-banner {
    height: auto;
    font-size: calc(0.398rem + 1.73vw);
    justify-content: center;
    width: 100vw;
    margin-left: 0;
    flex-direction: column;
}

.coming-soon-wrapper.c-banner_wrapper .c-banner_inner {
    line-height: 1.67;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    font-weight: 400;
    animation:none;
}

.coming-soon-section .marquee {
    position: fixed;
    top: 72vh;
}

@media (min-width: 768px) {
    .coming-soon-section .marquee {
        top: 77vh;
    }
}

@media only screen and (min-width: 1366px){
    .coming-soon-wrapper .c-banner {
        font-size: 30px;
    }
}
.text--primary {
    color: var(--color-primary-1);
}

ul.gallery--list {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.gallery--list li + li {
    margin-top: 5vw;
}

ul.gallery--list li a {
    display: inline-block;
    margin: 0;
    position: relative;
    text-decoration: none;
    line-height: 1.4;
    font-size: calc(1.125rem + 1.1vw);
}

ul.gallery--list li a:before, ul.gallery--list li a:after {
    content: '';
    position: absolute;
    width: 0%;
    height: 2px;
    bottom: 4px;
    margin-top: -1px;
    background: #000;
}

ul.gallery--list li a:before{
    left: 0px;
}

ul.gallery--list li a:after {
    right: 0px;
    background: #000;
    transition: width 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

ul.gallery--list li:hover a:before {
    background: #000;
    width: 100%;
    transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

ul.gallery--list li:hover a:after {
    background: transparent;
    width: 100%;
    transition: 0s;
}

@media (min-width: 768px) {
    ul.gallery--list li + li {
        margin-top: 2vw;
    }
}

#contact h2, .form-tip,
#contact .form input[type="text"]::placeholder,#contact .form input[type="email"]::placeholder,#contact .form textarea::placeholder { color: var(--bs-white); } 
#contact .btn-mod,#contact a.btn-mod { background: var(--bs-white); color: var(--color-primary-1); }
#contact .btn-mod:hover,#contact .btn-mod:focus,#contact a.btn-mod:hover,#contact a.btn-mod:focus { color: var(--bs-white); border-color: var(--bs-white); background: var(--color-primary-1); }

#contact .form input[type="text"], #contact .form input[type="email"], #contact .form textarea,
#contact .form input[type="text"]:hover, #contact .form input[type="text"]:hover::placeholder,
#contact .form input[type="email"]:hover, #contact .form input[type="email"]:hover::placeholder,
#contact .form textarea:hover, #contact .form textarea:hover::placeholder { border-color:var(--bs-white); color: var(--bs-white); }

#contact .form input[type="text"]:focus, #contact .form input[type="email"]:focus,
#contact .form input[type="text"]:focus::placeholder, #contact .form input[type="email"]:focus::placeholder,
#contact .form textarea:focus, #contact .form textarea:focus::placeholder { color: var(--bs-white); border-color: rgba(255, 255, 255, .7); }

.home-section {
    overflow: hidden;
}

.fullwidth-gallery-wrapper {
    top: calc(var(--menu-bar-height) + 2.962962962962963vh);
    height: calc(100% - (var(--menu-bar-height) + 2.962962962962963vh - 50px));
}

.fullwidth-about-wrapper {
    position: absolute;
    left: 0;
    display: flex;
    align-items: stretch;
    width: 100%;
    top: calc(var(--menu-bar-height) + 2.962962962962963vh);
    height: calc(100% - (var(--menu-bar-height) + 2.962962962962963vh - 50px));
}

.max-height-60vh {
    max-height: 60vh !important;
    max-height: 60svh !important;
}

.img--cover {
    object-fit: cover;
}

.mouse {
    width: 40px;
    height: 60px;
    border-radius: 20px;
    border: 3px solid #fff;
    position: absolute;
    top: calc(100% - 140px);
    left: calc(50% - 20px);
}

.mouse:before, .mouse:after {
    content: "";
    display: block;
    position: absolute;
}

.m-1:before {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 10px;
    left: calc(50% - 5px);
    background: #fff;
    -webkit-animation: m-1-ball 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    animation: m-1-ball 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@keyframes m-1-ball {
    0%, 65%, 100% {
        opacity: 0;
    }
    10%, 40% {
        opacity: 1;
    }
    0% {
        transform: translateY(5px) scale(0.7);
    }
    5% {
        transform: scale(0.7);
    }
    
    15%, 100% {
        transform: scale(1);
    }
    45%, 65% {
        transform: translateY(24px) scale(0.7);
    }   
}

.swiper {
    cursor: grab;
}

.more-info {
    height: 100%;
    max-height: 336.5px;
    overflow: hidden;
    transition: all 0.25s ease;
    position: relative;
    will-change: max-height;
}
.more-info::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 56px;
    max-height: 100%;
    opacity: 1;
    background: rgb(255,255,255);
    transition: all 0.25s ease 0.25s;
}

.more-info.is-open{
    max-height: 100%;
    overflow: hidden;
}

.more-info.is-open::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 56px;
    max-height: 0;
    opacity: 0;
    background: rgb(255,255,255);
    transition: all 0.25s ease;
}

input[type="checkbox"] {
    display: none;
}
  
.plusminus {
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(50% - 20px);
    /*Change to resize the plusminus box*/
    width: 40px;
    height: 40px;
    z-index: 1;
}

.plusminus span:nth-child(1) {
    display: block;
    position: absolute;
    margin: 0 10%;
    width: 80%;
    height: 2px;
    background: #000;
    /*- half the height*/
    top: calc(50% - 1px);
    -moz-transition: all .25s ease;
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
}

.plusminus span:nth-child(2) {
    display: block;
    position: absolute;
    margin: 10% 0;
    width: 2px;
    height: 80%;
    background: #000;
    /*- half the width*/
    left: calc(50% - 1px);
    -moz-transition: all .25s ease;
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
}

#first:checked ~ .plusminus span:nth-child(2) {
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}


/*Everything after this is just for presentation*/

#first ~ div {
    visibility: hidden;
    margin: 20px auto;
    font-family: 'Roboto', sans-serif;
    font-size: 2em;
    color: #fff;
}

#first:checked ~ div {
    visibility: visible;
}

.section-title-inline.rotate-5 {
    padding-top: 4px;
    transform: rotate(0deg);
    border-radius: 0;
}

.activity--box {
    border-top: 1px solid #000;
    padding: 2em 0;
    height: 100%;
}
.activity--box:last-of-type {
    border-top: 1px solid #000;
    padding: 2em 0;
    height: 100%;
}

@media screen and (max-width: 1024px) {
    .mobile-on .inner-nav .mn-sub {
        left: 0 !important;
    }
    .inner-nav ul li .mn-sub li a {
        height: 46px !important;
        font-size: 14px;
        padding: 5px 15px;
        border-bottom: 1px solid rgba(255, 255, 255, .065);
        color: var(--color-gray-light-5) !important;
        text-align: left;
        justify-content: start;
    }
    .mobile-on .mn-sub li {
        padding-left: 0;
    }
}