/****
* 1. Default
* 2. Themes
    * 2.1 t-gridover
    * 2.2 t-centered
    * 2.3 t-btn
    * 2.4 t-bgcolor
    * 2.5 t-color
    * 2.6 t-modal
    * 2.7 t-pad
    * 2.8 t-transform
    * 2.9 t-bigh3
* 3. Components
    * 3.1 c-advideo
    * 3.2 c-header
    * 3.3 c-navgrid
    * 3.4 c-navcontent
    * 3.5 c-text
    * 3.6 c-introgrid
    * 3.7 c-bebox
    * 3.8 c-grid
    * 3.9 c-bannerventajas
    * 3.10 c-imgtxtgrid
    * 3.11 c-map
    * 3.12 c-footer
    * 3.13 c-langs
    * 3.14 c-nav
    * 3.15 c-rgpdmodal
    * 3.16 c-textolegal
    * 3.17 c-table
    * 3.18 c-bannerimg
    * 3.19 c-navmodal
    * 3.20 c-contactform
    * 3.21 c-txtslider
    * 3.22 c-owslider
    * 3.23 c-sectionmodal
    * 3.24 c-modal
    * 3.25 c-dropdown
    * 3.26 c-imgtext
    * 3.27 c-banner
* 4. Animations
    * 4.1 ob-basic
* 5. Accesibilidad
    * 5.1 ac-accessnav
    * 5.2 ac-langparts
* X. Others
****/

/* ==> 1. Default  <== */

/* Boska */

@font-face {
    font-family: "Boska";
    src: url("../../../../../fonts/Boska-Variable.woff2") format("woff2"),
        url("../../../../../fonts/Boska-Variable.woff") format("woff"),
        url("../../../../../fonts/Boska-Variable.ttf") format("truetype"),
        url("../../../../../fonts/Boska-Variable.eot") format("embedded-opentype");
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --or-main-color: #876B64;
    --or-alt-color: #66757F;
    --or-white-color: #FFF;
    --or-gray-color: #fbf7f4;
    --or-main-btncolor: var(--or-main-color);
    --or-rgpd-color: var(--or-gray-color);

    --or-font-h1: 70px;
    /* 70px → 4.375em */
    --or-font-h1-strong: 20px;
    /* 20px → 1.25em */
    --or-font-h2: 68px;
    /* 68px → 4.25em */
    --or-font-h2-mini: 24px;
    /* 24px → 1.5em */
    --or-font-h3: 28px;
    /* 28px → 1.75em */
    --or-font-h3-big: 68px;
    /* 68px → 4.25em */
    --or-font-p: 1em;
    /* 16px → 1em */
    --or-font-p-big: 48px;
    /* 48px → 3em */
    --or-font-btn: 1em;
    /* 16px → 1em */
    --or-font-menu: 62px;
    /* 68px → 4.25em */

    --or-main-font: "Hanken Grotesk", sans-serif;
    /* --or-alt-font: "Boska Medium", serif; */
    --or-alt-font: "Boska", serif;

    --or-width: 1400px;
    --or-innerwidth: 1164px;
    --or-miniwidth: 924px;

    --or-pad: 150px;
    --be-box-mbot: 200px;
}

@media (min-width: 1280px) and (max-width:1679px) {
    :root {
        --or-font-h2: 68px;
        --or-font-h3-big: 64px;
        --or-font-menu: 58px;

        --or-width: 80vw;
        --or-innerwidth: 70vw;
        --or-miniwidth: var(--or-innerwidth);
        --or-pad: 110px;
    }
}

@media (min-width: 1025px) and (max-width:1279px) {
    :root {
        --or-font-h1: 60px;
        --or-font-h1-strong: 24px;
        --or-font-h3-big: 52px;
        --or-font-h2: 48px;
        --or-font-h2-mini: 20px;
        --or-font-p-big: 38px;

        --or-width: 80vw;
        --or-innerwidth: var(--or-width);
        --or-miniwidth: var(--or-width);
        --or-pad: 125px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --or-font-h1: 60px;
        --or-font-h1-strong: 24px;
        --or-font-h3-big: 52px;
        --or-font-h2: 48px;
        --or-font-h2-mini: 20px;
        --or-font-p-big: 38px;
        --or-font-menu: 48px;

        --or-width: 60vw;
        --or-innerwidth: var(--or-width);
        --or-miniwidth: var(--or-width);

        --or-pad: 100px;
    }
}

@media (max-width: 767px) {
    :root {
        --or-font-h1: 46px;
        --or-font-h1-strong: 16px;
        --or-font-h2: 38px;
        --or-font-h2-mini: 18px;
        --or-font-h3-big: 40px;
        --or-font-p-big: 28px;
        --or-font-menu: 38px;

        --or-width: 85vw;
        --or-innerwidth: var(--or-width);
        --or-miniwidth: var(--or-width);
        --or-pad: 80px;
        --or-width-side: calc(100vw - ((100vw - var(--or-width)) / 2));
        --or-width-side-max: calc(((100vw - 500px) / 2) + 500px);
    }
}

body {
    color: var(--or-main-color);
}

main>section {
    padding: var(--or-pad) 0;
}

main>section.no-pad {
    padding: 0;
}

main>section>* {
    max-width: var(--or-width);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 100%;
}

main>section.is-100>* {
    max-width: 100%;
    width: 100%
}

main>section.is-overflowedright>*:not(.isnot-overflowed) {
    max-width: calc(100% - ((100% - var(--or-innerwidth)) / 2));
    margin-left: auto;
    margin-right: 0
}

em {
    font-family: inherit;
}

h1 {
    color: var(--or-white-color);
    text-align: center;
    font-family: var(--or-alt-font);
    font-size: var(--or-font-h1);
    font-weight: 500;
    font-style: normal;
    line-height: var(--or-lh-h1);
    letter-spacing: 0.01em;
}

h1>em {
    font-family: var(--or-alt-font);
}

h1>strong {
    font-size: var(--or-font-h1-strong);
    font-family: var(--or-main-font);
    font-weight: 300;
    font-style: normal;
    display: block;
    line-height: 100%;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding-top: 15px;
}

h2 {
    font-weight: 400;
    line-height: 112%;
    color: var(--or-main-color);
    font-size: var(--or-font-h2);
    font-family: var(--or-alt-font);
    letter-spacing: 0.04em;
    margin: 0;
}

.is-mini h2,
.is-h2mini {
    font-weight: 400;
    line-height: normal;
    font-size: var(--or-font-h2-mini);
    font-family: var(--or-main-font);
    letter-spacing: 0;
    margin-bottom: 20px;
}

h3 {
    font-size: var(--or-font-h3);
    color: var(--or-main-color);
    font-family: var(--or-alt-font);
    font-weight: 400;
    line-height: 121%;
    letter-spacing: 1.12px;
}

p {
    font-family: var(--or-main-font);
    font-size: var(--or-font-p);
    color: var(--or-main-color);
    font-weight: 400;
    line-height: 162%;
}

.is-big p,
p.is-big {
    font-family: var(--or-alt-font);
    font-size: var(--or-font-p-big);
    font-weight: 400;
    line-height: 117%;
    letter-spacing: 1.92px;
}

.is-big p a,
p.is-big a {
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

strong {
    font-weight: 500;
}

footer a,
footer a:hover {
    text-decoration: none
}

a {
    font-family: inherit;
}

@media (min-width: 1025px) and (max-width:1279px) {
    main>section.is-overflowedright>* {
        --or-width: 95vw
    }
}

@media (min-width: 1025px) and (max-width:1279px) {
    h1 {
        line-height: 150%;
        letter-spacing: 0.5px;
    }
}

@media (min-width: 768px) and (max-width:1024px) {}

@media (max-width: 767px) {

    main>section>*,
    main>section>*.t-btn {
        width: var(--or-width);
    }

    main>section.is-overflowedright>*:not(.isnot-overflowed) {
        max-width: var(--or-width-side-max);
        width: var(--or-width-side);
        margin-left: auto;
        margin-right: 0
    }
}

/* ==> 2. Themes  <== */

/* ==> 2.1 t-gridover <== */

.t-gridover {
    display: grid;
    grid-template: 1fr / 1fr;
    align-items: start
}

.t-gridover>*,
.t-gridover::before,
.t-gridover::after {
    grid-column: 1 / span 1;
    grid-row: 1 / span 1
}

/* ==> 2.2 t-centered <== */

.t-centered,
.t-centered * {
    text-align: center
}

/* ==> 2.3 t-btn <== */

.t-btn,
.t-btn * {
    --btn-max-w: 260px;
    --btn-min-w: 230px;
    --btn-min-h: 40px;
}



.t-btn.is-line {
    background-color: transparent;
    border: none;
    color: currentColor;
    padding: 5px;
    font-family: var(--or-main-font);
    font-weight: 700;
    font-size: 14px;
    font-style: normal;
    line-height: 100%;
    letter-spacing: 0.15em;
    display: grid;
    grid-auto-flow: row;
    justify-content: center;
    justify-items: center;
    gap: 5px;
    cursor: pointer;
    text-transform: uppercase;
    text-align: center;
    align-content: center;
    margin: 0;
    min-width: auto;
    max-width: fit-content;
}

.t-btn.is-line {
    color: var(--or-main-color);
    text-decoration: none;
}

.t-btn.is-line.is-white {
    color: var(--or-white-color);
}

.t-btn.is-line::after {
    content: "";
    display: block;
    width: 100%;
    min-width: 110px;
    height: 2px;
    background-color: currentColor;
    transform: scaleX(1);
    transform-origin: center;
    transition: transform .5s;
}

.t-btn.is-line:hover::after,
.t-btn.is-line:focus-visible::after {
    transform: scaleX(0.3);
}

.t-btn.is-line:focus-visible {
    outline: 1px solid var(--or-main-color);
    border-radius: 4px;
}

.t-btn.t--lang {
    color: var(--or-white-color);
    background-color: var(--or-main-color);
    font-family: var(--or-main-font);
    text-transform: lowercase;
    font-size: 18px;
    border: none;
    transition: none;
    -webkit-transition: none;
}

.is-fixed .t-btn.t--lang {
    background-color: var(--or-white-color);
    color: var(--or-main-color);
}

.t-btn.t--lang:hover,
.t-btn.t--lang:focus-visible {
    background-color: var(--or-white-color);
    color: var(--or-main-color);
    outline: none;
}

.is-fixed .t-btn.t--lang:hover,
.is-fixed .t-btn.t--lang:focus-visible {
    background-color: var(--or-main-color);
    color: var(--or-white-color);
    outline: none;
}

.t-btn.t--lang>svg {
    height: 17px;
    padding: 0;
}

.t-btn.t--lang>svg path {
    stroke: var(--or-white-color);
    stroke-width: 3px;
}

.t-btn.t--lang:hover>svg path,
.t-btn.t--lang:focus-visible>svg path {
    stroke: var(--or-main-color);
}

.is-fixed .t-btn.t--lang>svg path {
    stroke: var(--or-main-color);
}

.is-fixed .t-btn.t--lang:hover>svg path,
.is-fixed .t-btn.t--lang:focus-visible>svg path {
    stroke: var(--or-white-color);
}

#navModal .t-btn.t--lang {
    display: none;
}

@media (max-width: 767px) {
    #navModal .t-btn.t--lang {
        display: flex;
        height: 55px;
        width: 55px;
    }
}

/* ==> 2.4 t-bgcolor <== */

.t-bgcolor {
    background-color: var(--or-gray-color);
}

.t-bgcolor.t--alt {
    background-color: var(--or-alt-color);
}

.t-bgcolor.t--main {
    background-color: var(--or-main-color);
}

/* ==> 2.5 t-color <== */

.t-color,
.t-color * {
    color: var(--or-white-color);
}

/* ==> 2.6 t-modal <== */

.t-modal,
.t-modal * {
    --modal-pad: 0;
    --modal-x-top: 110px;
    --modal-x-right: 80px;
    --modal-w: var(--or-innerwidth);
    --modal-h: 100%;
    --modal-bg: var(--or-white-color);
}

.t-modal .t-modal__container {
    width: 100vw;
    height: 100vh;
    background-color: var(--modal-bg);
    overflow: auto;
}

.t-modal .t-modal__container .t-modal__header {
    z-index: 1;
}

.t-modal .t-modal__container .t-modal__body {
    height: 100%;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--or-white-color);
    -webkit-animation-name: a-blur-show;
    -moz-animation-name: a-blur-show;
    animation-name: a-blur-show;
}

.t-modal .t-modal__container .t-modal__body>* {
    max-width: var(--or-innerwidth);
}

.t-modal .t-modal__header .t-modal__close {
    display: flex;
    justify-content: flex-end;
}

.t-modal .t-modal__close svg,
.t-modal .t-modal__close svg * {
    stroke: var(--or-main-color);
}

#navModal.t-modal .t-modal__close svg,
#navModal.t-modal .t-modal__close svg * {
    stroke: var(--or-white-color);
}

.t-modal .t-modal__header .t-modal__close:focus-visible {
    outline: auto;
}

@media (min-width: 1025px) and (max-width:1679px) {

    .t-modal,
    .t-modal * {
        --modal-x-top: 80px;
        --modal-x-right: 40px;
    }
}

@media (max-width: 1024px) {

    .t-modal,
    .t-modal * {
        --modal-x-top: 50px;
        --modal-x-right: 50px;
    }

    .t-modal .t-modal__container {
        justify-content: flex-start;
        align-items: flex-start;
        overflow: auto;
    }

    .t-modal .t-modal__container .t-modal__body {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .t-modal .t-modal__container .t-modal__body>* {
        max-width: var(--or-width);
        padding: calc(var(--modal-x-top) + 40px) 0 50px 0;
    }
}

@media (max-width: 767px) {
    #layerModal .t-modal {
        display: flex;
        align-items: flex-start;
        overflow: scroll
    }

    #navModal.t-modal .t-modal__container .t-modal__body>* {
        width: 100%;
        height: 100%;
        padding: 0;
    }
}

#navModal.t-modal .t-modal__body {
    background-image: url(../../../../../images/custom/bg/c-menu.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* ==> 2.7 t-pad <== */

.t-pad.t--footer {
    padding: 100px 0;
}

@media (max-width: 767px) {
    .t-pad.t--footer {
        padding: 100px 0 165px 0;
    }
}

/* ==> 2.8 t-transform <== */

.t-transform img {
    -webkit-transition: ease-in-out, .3s ease-in-out;
    transition: ease-in-out, .3s ease-in-out
}

.t-transform:hover img {
    transform: scale(1.05)
}

/* ==> 2.9 t-bigh3 <== */

.t-bigh3 h3 {
    font-size: var(--or-font-h3-big);
    line-height: 100%;
    letter-spacing: 2.72px;
    margin: 0;
    padding: 0 0 60px 0;
    display: inline-block;
}

.t-bigh3 h3 strong {
    font-size: var(--or-font-h2-mini);
    font-weight: 400;
    letter-spacing: normal;
    line-height: 100%;
    display: flex;
    padding-top: 30px;
}

@media (max-width: 1024px) {
    .t-bigh3 h3 {
        padding: 0 0 40px 0;
    }

    .t-bigh3 h3 strong {
        padding-top: 20px;
    }
}

/* ==> 3. Components  <== */

/* ==> 3.1 c-advideo <== */

.c-advideo,
.c-advideo * {
    --advideo-bg: #fff;
    --advideo-fill: #6C695E;
    --advideo-width: 40px;
    --advideo-height: 26px;
    --advideo-right-bottom: 20px;
}

.c-advideo {
    display: grid;
    grid-template: 1fr / 1fr;
    align-items: end;
    justify-items: end;

    /* position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden; */
}

.c-advideo>*,
.c-advideo::before,
.c-advideo::after {
    grid-column: 1 / span 1;
    grid-row: 1 / span 1;
}

.c-advideo__video {
    width: 100%;
    object-fit: cover;
    object-position: center;
    height: 100%;
}

.c-advideo__btn {
    opacity: 0;
    visibility: visible;
    pointer-events: auto;
    position: relative;
    right: var(--advideo-right-bottom);
    bottom: var(--advideo-right-bottom);
    width: var(--advideo-width);
    height: var(--advideo-height);
    background-color: var(--advideo-bg);
    fill: var(--advideo-fill);
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    cursor: pointer;
}

.c-advideo:hover .c-advideo__btn,
.c-advideo__btn:focus-visible {
    opacity: 1;
    visibility: visible;
    bottom: calc(var(--advideo-right-bottom) + 50px);
    transition: bottom 0.3s ease;
}

.c-advideo__btn path {
    fill: var(--advideo-fill);
}

.c-advideo__btn.c--black {
    --advideo-bg: #1C1C1A;
    --advideo-fill: #fff;
}

.c-advideo__btn.c--black path {
    --advideo-fill: #fff;
}

.c-advideo__btn {
    transition: bottom 0.3s ease;
}

audio.c-advideo__audio {
    display: none;
}

/* ==> 3.2 c-header <== */

.c-header {
    height: 100vh;
    height: 100dvh;
    display: grid;
    background-color: transparent;
    grid-template: unset;
    transition: height .5s ease-in-out
}

.c-header>div {
    display: flex;
    flex-direction: column;
    height: inherit;
    object-fit: contain
}

.c-header>div.c-header__background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1
}

.c-header>div.c-header__background.is-video::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(0deg, rgba(46, 128, 228, 0.50) 0%, rgba(46, 128, 228, 0.50) 100%);
    z-index: 1;
}

.c-header>div.c-header__background .is-videoheader>div {
    height: 100vh;
}

.c-header>div.c-header__text {
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-grow: 1;
    max-width: 100vw;
}

.c-header__textcontainer {
    width: var(--or-width);
}

/* ==> 3.3 c-navgrid <== */

.c-navgrid,
.c-navgrid * {
    --nav-logo: 147px;
    --nav-logo-h: 70px;
    --nav-pad-h: 10px;
    --nav-pad-v: 13.7vw;
    --btn-min-h: 65px;
    --btn-min-w: 65px;
    --nav-lang-h: 65px;
    --btn-lang-h: 65px;
    --main-color: var(--or-white-color);
}

.c-navgrid {
    min-height: calc((var(--nav-pad-h)*2) + var(--nav-logo-h));
    background-color: transparent;
    gap: 0;
    display: grid;
    grid-auto-columns: 0 1fr var(--nav-lang);
    grid-auto-columns: 1fr auto
}

.c-navgrid .c-navgrid__item.c--logo {
    max-width: var(--nav-logo);
    display: none
}

.c-navgrid .c-navgrid__item.c--logo a,
.c-navgrid .c-navgrid__item.c--logo a * {
    height: 0
}

.c-navgrid .c-navgrid__item .c-langs {
    gap: 10px;
    margin: 0;
    min-width: var(--btn-min-w)
}

/* is-fixed */

.is-fixed {
    background-color: var(--or-white-color);
    display: grid;
    grid-auto-columns: var(--nav-logo) 1fr var(--nav-lang);
    color: var(--or-main-color);
}

.is-fixed .c-navgrid__item.c--logo {
    display: flex;
}

.is-fixed .c-navgrid__item.c--logo svg path {
    fill: var(--or-main-color);
}

.is-fixed .c-navgrid__item.c--logo svg {
    width: var(--nav-logo);
    min-width: var(--nav-logo)
}

.is-fixed .c-navgrid__item.c--logo a,
.is-fixed .c-navgrid__item.c--logo a * {
    height: var(--nav-logo-h)
}

.is-fixed .c-navgrid__item.c-navcontent {
    display: grid;
    grid-template-columns: auto;
    justify-content: end
}

.is-fixed .c-navgrid__item .c-navbtn.c--extra {
    background-color: var(--or-cream-color);
    border: solid 1px var(--or-cream-color);
    color: var(--or-main-color)
}

.c-navgrid__item.c--langs,
.is-fixed .c-navgrid__item.c--langs:hover {
    background-color: var(--or-main-color);
}

.c-navgrid__item.c--langs:hover,
.is-fixed .c-navgrid__item.c--langs {
    background-color: var(--or-white-color);
}

.c-navgrid.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:hover svg path,
.c-navgrid.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible svg path {
    stroke: var(--or-white-color);
}

@media(min-width: 1025px) and (max-width:1279px) {

    .c-navgrid,
    .c-navgrid * {
        --nav-logo: 180px;
        --nav-pad-h: 15px;
        --nav-logo-h: 60px;
    }

    .c-navgrid.is-fixed {
        gap: 10px
    }
}

@media (max-width: 1024px) {

    .c-navgrid,
    .c-navgrid * {
        --nav-pad-v: 5vw;
        --nav-logo-h: 50px;
    }
}

@media (min-width: 768px) and (max-width:1024px) {

    .c-navgrid,
    .c-navgrid * {
        --nav-logo: 160px
    }

    .is-fixed .c-navcontent__menu.c--extra {
        gap: var(--c-gap)
    }
}

@media (max-width: 767px) {
    .c-navgrid.is-fixed {
        background-color: #fff;
        padding: 13px;
        height: auto;
        min-height: unset;
        display: flex
    }

    .c-navgrid.is-fixed .c-navgrid__item.c-navcontent,
    .is-fixed .c-navcontent__menu.c--extra {
        display: flex;
        flex-grow: 1
    }

    .t-fixed .c-navcontent__menu.c--extra button.c-navbtn.c--booking,
    .t-fixed .c-navcontent__menu.c--extra button.c-navbtn.c--booking,
    .is-fixed .c-navcontent__menu.c--extra button.c-navbtn.c--booking,
    .is-fixed .c-navcontent__menu.c--extra button.c-navbtn.c--booking {
        flex-grow: 1;
        max-width: 100%;
    }

    .c-navgrid.is-fixed .c-navgrid__item.c--langs {
        display: none
    }

    .c-navgrid.is-fixed .c-navgrid__item.c--logo {
        display: none
    }

    .c-navgrid.is-fixed .c-navgrid__item.c--langs>button {
        background-color: var(--or-white-color);
        color: var(--or-main-color);
        flex-direction: row-reverse;
        transition: .3s all ease-in-out
    }

    .is-fixed .t-btn.t--lang:hover>svg path,
    .is-fixed .t-btn.t--lang:focus-visible>svg path,
    .is-fixed .t-btn.t--lang[aria-expanded="true"]>svg path {
        stroke: var(--or-main-color);
        stroke-width: 5px
    }

    .c-navgrid.is-fixed .c-navgrid__item.c--langs>button::before {
        display: none
    }

    .c-navgrid.is-fixed .c-navgrid__item.c--langs>button svg {
        display: block;
        width: 15px;
        margin-right: 5px
    }

    .c-navgrid.is-fixed .c-navgrid__item .c-langs.t-show {
        margin: -85px auto 0;
        grid-auto-flow: column;
        display: grid;
        left: 0;
        justify-content: end;
        width: 90vw;
        max-width: 363px
    }
}

@media (max-width: 767px) and (orientation:landscape) {
    .c-navgrid.is-fixed {
        grid-auto-columns: 227px auto
    }

    .c-navgrid.is-fixed .c-navgrid__item .c-langs.t-show {
        max-width: calc(227px + var(--nav-gap) + var(--btn-min-w) + 10px);
        left: unset;
        right: 50%;
        width: 100vw;
        transform: translateX(50%)
    }
}

/* ==> 3.5 c-navcontent <== */

.c-navcontent__menu.c--burger .c-navcontent__burger {
    height: 65px;
    width: 65px;
    background-color: var(--or-main-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-navcontent__menu.c--burger .c-navcontent__burger:hover,
.c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:hover,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible {
    background-color: var(--or-gray-color);
    outline: none;
}

.c-navcontent__menu.c--burger .c-navcontent__burger:hover svg path,
.c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible svg path,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:hover svg path,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible svg path {
    stroke: var(--or-main-color);
}

.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:hover,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible {
    background-color: var(--or-main-color);
}

.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger svg path {
    stroke: var(--or-main-color);
}

.c-navcontent__menu.c--burger .c-navcontent__burger:hover,
.is-fixed .c-navcontent__menu.c--burger .c-navcontent__burger,
.c-navcontent__menu.c--burger .c-navcontent__burger:focus-visible {
    background-color: var(--or-white-color);
    outline: none;
}

.is-fixed .c-navcontent__menu.c--extra button {
    background-color: var(--or-main-color);
    width: 214px;
    font-family: var(--or-main-font);
    border: solid 2px var(--or-main-color);
}

.is-fixed .c-navcontent__menu.c--extra button:hover,
.is-fixed .c-navcontent__menu.c--extra button:focus-visible {
    background-color: transparent;
    color: var(--or-main-color);
    outline: none;
}

@media (max-width: 767px) {
    .c-navcontent__menu.c--burger .c-navcontent__burger {
        height: 55px;
        width: 55px;
    }
}

/* ==> 3.5 c-text <== */

.c-text,
.c-text * {
    --text-isbig-w: var(--or-miniwidth);
    --text-btn-marbot: 50px;
}

.c-text__txt.is-big {
    width: var(--text-isbig-w);
    max-width: 710px;
    margin: 0 auto;
}

.c-text__title.is-mini h2 {
    font-family: var(--or-main-font);
    font-size: 14px;
    font-weight: 700;
    font-style: Bold;
    line-height: 100%;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.c-text__txt h2+p {
    font-size: 14px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-top: 23px;
}

.c-text__btn {
    margin-top: var(--text-btn-marbot, 100px);
    display: flex;
    justify-content: center;
}

.c-text.has-padtop {
    padding-top: var(--or-pad);
}

.c-text.has-padtop {
    padding-top: var(--or-pad);
}

.c-text__txt.is-big p {
    font-family: var(--or-main-font);
    font-size: 42px;
    font-weight: 200;
    line-height: 52px;
    letter-spacing: -0.01em;
    text-align: center;
}

.c-text__txt.is-big p strong {
    font-weight: 300;
}

@media (max-width: 767px) {

    .c-text,
    .c-text * {
        --text-isbig-w: 100%;
        --text-btn-marbot: 30px;
    }

    .c-text {
        width: var(--or-width);
    }

    .c-text__txt.is-big {
        max-width: var(--or-width);
    }

    .c-text__txt.is-big p {
        font-size: 22px;
        line-height: 30px;
    }
}

/* ==> 3.6 c-introgrid <== */

.c-introgrid,
.c-introgrid * {
    --introgrid-magtop: 100px;
    --introgrid-col-w: 1fr;
    --introgrid-row-h: 65px;
    --introgrid-col: repeat(3, var(--introgrid-col-w));
    --introgrid-row: repeat(13, var(--introgrid-row-h));
    --introgrid-col-gap: 20px;
}

.c-introgrid {
    margin-top: var(--introgrid-magtop);
}

.c-introgrid__container {
    display: grid;
    grid-template-columns: var(--introgrid-col);
    grid-template-rows: var(--introgrid-row);
    column-gap: var(--introgrid-col-gap);
}

.c-introgrid__container .c-introgrid__item.is-1 {
    grid-column: 1;
    grid-row: 2 / span 9;
}

.c-introgrid__container .c-introgrid__item.is-2 {
    grid-column: 2;
    grid-row: 1 / span 13;
}

.c-introgrid__container .c-introgrid__item.is-3 {
    grid-column: 3;
    grid-row: 3 / span 8;
}

@media (min-width: 1025px) and (max-width: 1279px) {

    .c-introgrid,
    .c-introgrid * {
        --introgrid-row-h: 40px;
    }
}

@media (max-width: 1024px) {

    .c-introgrid,
    .c-introgrid * {
        --introgrid-magtop: 50px;
        --introgrid-col: 1fr;
        --introgrid-row: 1fr;
        --introgrid-col-gap: 0;
    }

    .c-introgrid {
        width: 50vw;
    }

    .c-introgrid__container .c-introgrid__item.is-1,
    .c-introgrid__container .c-introgrid__item.is-3 {
        display: none;
    }

    .c-introgrid__container .c-introgrid__item.is-2 {
        grid-column: 1;
        grid-row: 1;
    }
}

@media (max-width: 767px) {
    .c-introgrid {
        width: 80vw;
    }
}

/* ==> 3.7 c-bebox <== */

.c-bebox,
.c-bebox * {
    --vue-main-color: var(--or-white-color);
    --vue-height: 65px;
    --vue-begap: 0;
    --vue-bebg: var(--or-main-color);
    --vue-bebg-column: transparent;
    --vue-backdrop-filter: 7px;
    --vue-btn-color: var(--or-white-color);
    --vue-btntxt-color: var(--or-main-color);
    --vue-text-color: var(--or-main-color);
    --vue-detail-color: #B4B1B1;
    --vue-cal-disabled-bg: #e5e5e5;
    --vue-cal-disabled-txt: #FFF;
    --vue-cal-main-color: var(--vue-main-color);
    --vue-cal-main-color-txt: var(--or-white-color);
    --vue-box-top: 80vh;
    --or-navgrid-h: 90px;
    --vue-cal-main-color: var(--or-main-color)
}

.c-bebox>.c-bebox__form>.c-bebox__column {
    justify-content: center
}

.c-bebox .c-bebox__column {
    color: var(--vue-main-color)
}

.c-bebox .c-bebox__column .c-bebox__field {
    margin: 0;
    --vue-height: 51px;
    height: 100%
}

.c-bebox__column.c--pax .c-bebox__field::after {
    content: "";
    position: absolute;
    top: 15px;
    bottom: 15px;
    left: 49%;
    width: 1px;
    background-color: var(--or-white-color)
}

.c-bebox__column.c--calendar .c-bebox__field::after {
    content: "";
    position: absolute;
    top: 15px;
    bottom: 15px;
    left: 100%;
    width: 1px;
    background-color: var(--or-white-color);
}

.c-bebox .c-bebox__column .c-bebox__field,
.c-bebox .c-bebox__column.c--calendar .c-bebox__field>div {
    padding: 0 47px
}

.c-bebox .c-bebox__column.c--calendar .c-bebox__field,
.c-bebox .c-bebox__column.c--promocode .c-bebox__field {
    border-right: none
}

.c-bebox .c-bebox__column .c-bebox__field .c-bebox__input,
.c-bebox .c-bebox__column .c-bebox__field .dp__input,
.c-bebox .c-bebox__column .c-bebox__field .c-bebox__paxString {
    font-size: 14px;
}

.c-bebox .c-bebox__modal {
    color: var(--or-main-color)
}

.c-bebox .c-bebox__roompax>div>[class*=_selector]>span {
    background-color: var(--or-main-color)
}

.c-bebox button.c-bebox__addrooms,
.c-bebox__roompax>div .c-bebox__roomkids_ages select {
    color: var(--or-main-color);
    border-color: var(--or-main-color)
}

.c-bebox__column.c--pax .c-bebox__button.c--removerooms {
    display: flex
}

.c-bebox .c-bebox__column.c--pax .c-bebox__button.c--removerooms svg {
    margin-right: 10px
}

.c-bebox .c-bebox__column.c--pax .c-bebox__button.c--removerooms svg * {
    fill: currentColor;
    stroke: none
}

.c-bebox .c-bebox__column.c--submit>button {
    font-size: 22px;
    letter-spacing: 3px;
    font-weight: 500;
    background-color: var(--vue-btn-color);
    color: var(--or-main-color);
    transition: .3s all ease-in-out
}

.c-bebox .c-bebox__column.c--submit>button:hover,
.c-bebox .c-bebox__column.c--submit>button:focus-visible {
    background-color: var(--or-alt-color);
    color: var(--or-white-color);
    outline: none
}

.c-bebox__roompax>div>[class*=_selector]>span.disabled {
    opacity: .4
}

.isSafari .c-bebox.is-mobile.is-displayed>.c-bebox__form {
    height: 60%
}

.c-bebox .c-bebox__column .c-bebox__field .dp__input:hover {
    outline: none
}

.c-bebox .c-bebox__column .c-bebox__field .dp__input:focus,
.c-bebox .c-bebox__column .c-bebox__field .dp__input:focus-visible {
    outline: auto
}

.c-bebox__column.c--pax .c-bebox__button.c--acceptrooms button {
    color: var(--vue-btn-color);
    background-color: var(--vue-btntxt-color);
    border: solid 2px var(--or-main-color);
}

.c-bebox__column.c--pax .c-bebox__button.c--acceptrooms button:hover {
    color: var(--vue-btntxt-color);
    background-color: transparent;
    border: solid 2px var(--or-main-color);
}

.c-bebox.is-fixed {
    background-color: transparent;
}

.c-bebox.is-fixed button.c-bebox__button {
    background-color: var(--or-alt-color);
    color: var(--or-white-color);
}

.c-bebox.is-fixed button.c-bebox__button:hover {
    background-color: var(--or-white-color);
    color: var(--or-main-color);
}

@media (min-width: 1280px) and (max-width:1679px) {

    .c-bebox .c-bebox__column .c-bebox__field,
    .c-bebox .c-bebox__column.c--calendar .c-bebox__field>div {
        padding: 0 25px
    }
}

@media (max-width: 1279px) {

    .c-bebox__column.c--pax .c-bebox__field::after,
    .c-bebox__column.c--calendar .c-bebox__field::after {
        display: none
    }

    .c-bebox.is-mobile .c-bebox__form>div {
        padding: 30px 0
    }

    .c-bebox.is-mobile>.c-bebox__form .c--submit {
        margin: 0
    }

    .c-bebox.is-mobile .c-bebox__mobile.c--openform button.c-bebox__button,
    .c-bebox.is-mobile .c-bebox__mobile.c--openform button.c-bebox__button:hover {
        font-size: 20px;
        letter-spacing: 3px;
        font-weight: 400;
        color: var(--vue-btntxt-color);
        background-color: var(--or-white-color);
    }

    .c-bebox.is-mobile .c-bebox__form>div {
        background-color: transparent
    }

    .c-bebox .c-bebox__column .c-bebox__field,
    .c-bebox .c-bebox__column.c--calendar .c-bebox__field>div {
        border: none;
        padding: 0 20px;
        justify-content: flex-start
    }

    .c-bebox .c-bebox__column.c--calendar .c-bebox__field>div:first-of-type>.dp__input_wrap {
        padding: 0
    }

    .c-bebox.is-mobile.is-displayed button.c-bebox__mobileclose {
        color: #fff
    }

    .c-bebox.is-mobile.is-displayed button.c-bebox__mobileclose * {
        stroke: var(--or-white-color)
    }
}

@media (max-width: 1024px) {

    .c-bebox.is-mobile.is-displayed,
    .has-navFixed .c-bebox.is-mobile.is-displayed {
        align-items: flex-start;
        overflow: scroll
    }

    .c-bebox.is-mobile.is-displayed>.c-bebox__form {
        margin-top: 100px
    }

    .c-bebox.is-mobile .c-bebox__column.c--calendar .c-bebox__field {
        justify-content: start
    }
}

@media (max-width: 1024px) and (orientation:landscape) {

    .c-bebox.is-displayed .c-bebox__form,
    .c-bebox .is-fixed.is-displayed .c-bebox__form {
        left: auto
    }
}

@media (max-width: 767px) {
    .c-bebox.is-mobile .c-bebox__mobile.c--openform button.c-bebox__button {
        width: var(--or-width);
        max-width: 500px
    }
}

@media (max-width: 767px) and (orientation:landscape) {

    .c-bebox.is-mobile.is-displayed,
    .has-navFixed .c-bebox.is-mobile.is-displayed {
        min-width: 100%;
        overflow: auto
    }

    .c-bebox.is-mobile.is-displayed>.c-bebox__form {
        padding-top: 120px;
        min-width: 100%;
        background-color: var(--vue-bebg)
    }

    .isSafari .c-bebox.is-mobile.is-displayed>.c-bebox__form {
        overflow: auto;
        height: 100%
    }

    .c-bebox.is-mobile .c-bebox__form>div.c--submit {
        background-color: transparent
    }

    .c-bebox__column.c--calendar .c-bebox__field>div>div {
        grid-template-columns: 20px 450px
    }

    .c-bebox .c-bebox__column.c--calendar .c-bebox__field>div:first-of-type>.dp__input_wrap {
        justify-content: start
    }

    .c-bebox.is-mobile.is-displayed button.c-bebox__mobileclose * {
        stroke: var(--or-white-color)
    }
}

/* ==> 3.8 c-grid <== */

.c-grid,
.c-grid * {
    --introgrid-magtop: 100px;
    --introgrid-col-w: 1fr;
    --introgrid-row-h: 65px;
    --introgrid-col: repeat(4, var(--introgrid-col-w));
    --introgrid-row: repeat(14, var(--introgrid-row-h)) auto;
    /* --introgrid-row: repeat(15, var(--introgrid-row-h)); */
    --introgrid-col-gap: 20px;
    --introgrid-innergrid-1-h: 455px;
    --introgrid-innergrid-2-h: 715px;
    --introgrid-innergrid-3-h: var(--introgrid-innergrid-1-h);
    --introgrid-innergrid-4-h: 585px;
}

.c-grid {
    margin-top: var(--introgrid-magtop);
}

.c-grid__container {
    display: grid;
    grid-template-columns: var(--introgrid-col);
    grid-template-rows: var(--introgrid-row);
    column-gap: var(--introgrid-col-gap);
}

.c-grid__container .c-grid__item {
    display: grid;
}

.c-grid__container .c-grid__item.is-1 {
    grid-column: 1;
    grid-row: 1 / span 11;
    grid-template-rows: var(--introgrid-innergrid-1-h) auto;
}

.c-grid__container .c-grid__item.is-2 {
    grid-column: 2;
    grid-row: 1 / span 15;
    grid-template-rows: var(--introgrid-innergrid-2-h) auto;
}

.c-grid__container .c-grid__item.is-3 {
    grid-column: 3;
    grid-row: 2 / span 12;
    grid-template-rows: var(--introgrid-innergrid-3-h) auto;
}

.c-grid__container .c-grid__item.is-4 {
    grid-column: 4;
    grid-row: 1 / span 13;
    grid-template-rows: var(--introgrid-innergrid-4-h) auto;
}

.c-grid__container .c-grid__item .c-grid__img img {
    object-fit: cover;
    /* object-position: bottom; */
    display: block;
    width: 100%;
    height: 100%;
}

#observer-4->img {
    object-position: bottom;
}

@media (min-width: 1280px) and (max-width: 1679px) {

    .c-grid,
    .c-grid * {
        --introgrid-row-h: 52px;

        --introgrid-innergrid-1-h: 364px;
        --introgrid-innergrid-2-h: 572px;
        --introgrid-innergrid-3-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-4-h: 468px;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {

    .c-grid,
    .c-grid * {
        --introgrid-col: repeat(2, 1fr);
        --introgrid-row: repeat(9, 171px);
        --introgrid-innergrid-1-h: 450px;
        --introgrid-innergrid-2-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-3-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-4-h: var(--introgrid-innergrid-1-h);
    }

    .c-grid {
        width: 650px;
    }

    .c-grid__container {
        row-gap: var(--introgrid-col-gap);
    }

    .c-grid__container .c-grid__item.is-1 {
        grid-column: 1;
        grid-row: 2 / span 4;
    }

    .c-grid__container .c-grid__item.is-2 {
        grid-column: 2;
        grid-row: 1 / span 4;
    }

    .c-grid__container .c-grid__item.is-3 {
        grid-column: 1;
        grid-row: 6 / span 4;
    }

    .c-grid__container .c-grid__item.is-4 {
        grid-column: 2;
        grid-row: 5 / span 4;
    }
}


@media (max-width: 1024px) {

    .c-grid,
    .c-grid * {
        --introgrid-magtop: 40px;
        --introgrid-col-w: 100%;
        --introgrid-row-h: auto;
        --introgrid-col: repeat(1, var(--introgrid-col-w));
        --introgrid-row: repeat(4, var(--introgrid-row-h));
        --introgrid-innergrid-1-h: 450px;
        --introgrid-innergrid-2-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-3-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-4-h: var(--introgrid-innergrid-1-h);
    }

    .c-grid {
        width: 650px;
    }

    .c-grid__container {
        gap: 60px;
    }

    .c-grid__container .c-grid__item.is-1,
    .c-grid__container .c-grid__item.is-2,
    .c-grid__container .c-grid__item.is-3,
    .c-grid__container .c-grid__item.is-4 {
        grid-column: 1;
    }

    .c-grid__container .c-grid__item.is-1 {
        grid-row: 1;
    }

    .c-grid__container .c-grid__item.is-2 {
        grid-row: 2;
    }

    .c-grid__container .c-grid__item.is-3 {
        grid-row: 3;
    }

    .c-grid__container .c-grid__item.is-4 {
        grid-row: 4;
    }

    .c-grid__container .c-grid__item .c-grid__img {
        overflow: hidden;
    }
}

@media(max-width: 1024px) {

    .c-grid,
    .c-grid * {
        --introgrid-innergrid-1-h: 580px;
        --introgrid-innergrid-2-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-3-h: var(--introgrid-innergrid-1-h);
        --introgrid-innergrid-4-h: var(--introgrid-innergrid-1-h);
    }
}

@media(max-width: 767px) {

    .c-grid,
    .c-grid * {
        --introgrid-innergrid-1-h: 450px;
    }

    .c-grid {
        width: var(--or-width);
    }
}


/* ==> 3.9 c-bannerventajas <== */

.c-bannerventajas,
.c-bannerventajas * {
    --bannerventajas-w: var(--or-innerwidth);
    --bannerventajas-container-col: repeat(2, minmax(0, 1fr));
    --bannerventajas-txt-pad: 80px 40px;
    --bannerventajas-p-padtop: 30px;
    --bannerventajas-icon-padbot: 30px;
}

.c-bannerventajas {
    width: var(--bannerventajas-w);
    margin: 0 auto;
}

.c-bannerventajas__container {
    display: grid;
    grid-template-columns: var(--bannerventajas-container-col);
    justify-items: center;
    align-items: center;
}

.c-bannerventajas__txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--bannerventajas-txt-pad);
}

.c-bannerventajas__img {
    height: 100%;
}

.c-bannerventajas__txt p {
    text-align: center;
}

.c-bannerventajas__txt p:last-of-type {
    padding-top: var(--bannerventajas-p-padtop);
    font-size: 16px;
    line-height: 24px;
    max-width: 400px;
}

.c-bannerventajas__txt .is-h2mini {
    font-size: 14px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.c-bannerventajas .c-bannerventajas__txt p.is-big {
    font-family: var(--or-alt-font);
    font-size: 42px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0.04em;
}

.c-bannerventajas__txt .is-container {
    padding-bottom: var(--bannerventajas-icon-padbot);
}

@media (min-width: 1280px) and (max-width: 1367px) {
    .c-bannerventajas__txt p.is-h2mini {
        font-size: 18px;
    }

    .c-bannerventajas__txt p.is-big {
        font-size: 38px;
    }
}

@media (max-width: 1279px) {

    .c-bannerventajas,
    .c-bannerventajas * {
        --bannerventajas-txt-pad: 50px;
    }
}

@media (max-width: 1024px) {

    .c-bannerventajas,
    .c-bannerventajas * {
        --bannerventajas-container-col: 1fr;
        --bannerventajas-icon-padbot: 10px;
    }

    .c-bannerventajas__container {
        grid-template-rows: repeat(auto, 1fr);
    }

    .c-bannerventajas__img {
        grid-row: 1;
        height: 380px;
        width: 100%;
    }

    .c-bannerventajas__txt {
        grid-row: 2;
    }
}

@media (max-width: 767px) {

    .c-bannerventajas,
    .c-bannerventajas * {
        --bannerventajas-txt-pad: calc((100vw - (var(--or-width)))/2);
    }
}

/* ==> 3.10 c-imgtxtgrid <== */

.c-imgtxtgrid,
.c-imgtxtgrid * {
    --imgtxtgrid-col: repeat(2, 1fr);
    --imgtxtgrid-gap-col: 140px;
    --imgtxtgrid-gap-row: 100px;
    --imgtxtgrid-item-txt-marg: calc((var(--or-width) - var(--or-innerwidth)) / 2);
    --imgtxtgrid-item-a-margtop: 30px;
    --imgtxtgrid-item-h2-margbot: 50px;
    --imgtxtgrid-item-p-padtop: 30px;
}

.c-imgtxtgrid {
    display: grid;
    grid-template-columns: var(--imgtxtgrid-col);
    column-gap: var(--imgtxtgrid-gap-col);
    row-gap: var(--imgtxtgrid-gap-row);
}

.c-imgtxtgrid__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.c-imgtxtgrid__item h2 {
    margin-bottom: var(--imgtxtgrid-item-h2-margbot);
}

.c-imgtxtgrid__item.is-1 {
    margin-left: var(--imgtxtgrid-item-txt-marg);
}

.c-imgtxtgrid__item.is-1 p:last-of-type {
    padding-top: var(--imgtxtgrid-item-p-padtop);
}

.c-imgtxtgrid__item.is-4 {
    margin-right: var(--imgtxtgrid-item-txt-marg);
}

.c-imgtxtgrid__item.is-4 p {
    font-family: var(--or-main-font);
    font-size: 42px;
    font-weight: 200;
    font-style: normal;
    line-height: 52px;
    letter-spacing: -0.01em;
    text-align: center;
}

.c-imgtxtgrid .c-imgtxtgrid__item a {
    margin-left: 0;
    min-width: auto;
    max-width: fit-content;
    margin-top: var(--imgtxtgrid-item-a-margtop);
}

@media (max-width: 1367px) {

    .c-imgtxtgrid,
    .c-imgtxtgrid * {
        --imgtxtgrid-gap-col: 80px;
        --imgtxtgrid-gap-row: 70px;
        --imgtxtgrid-item-txt-marg: 0;

    }
}

@media (max-width: 1024px) {

    .c-imgtxtgrid,
    .c-imgtxtgrid * {
        --imgtxtgrid-col: 1fr;
        --imgtxtgrid-gap-col: 0;
        --imgtxtgrid-gap-row: 50px;
        --imgtxtgrid-item-txt-marg: 0;
        --imgtxtgrid-item-p-padtop: 30px;
    }

    .c-imgtxtgrid {
        grid-template-rows: repeat(4, auto);
        max-width: var(--or-width);
    }

    .c-imgtxtgrid__item.is-1 {
        grid-row: 2;
    }

    .c-imgtxtgrid__item.is-2 {
        grid-row: 1;
    }

    .c-imgtxtgrid__item.is-3 {
        grid-row: 3;
    }

    .c-imgtxtgrid__item.is-4 {
        grid-row: 4;
    }

    .c-imgtxtgrid__item.is-4 p {
        font-size: 22px;
        line-height: 30px;
    }
}

/* ==> 3.11 c-map <== */

.c-map,
.c-map * {
    --map-h: 500px
}

iframe.c-map {
    width: 100vw
}

.c-map,
.c-map>div {
    min-height: var(--map-h);
    height: 100%
}

.c-map.is-100,
.c-map.is-100>div {
    width: 100%
}

@media (max-width: 1024px) {
    .c-map {
        margin-top: 0
    }
}

/* ==> 3.12 c-footer <== */

.c-footer,
.c-footer * {
    --footer-row: repeat(4, auto);
    --footer-col: repeat(3, minmax(0, 1fr));
    --footer-w: var(--or-width);
    --footer-gap-col: 100px;
    --footer-gap-row: 30px;
    --footer-p-size: 14px;
    --footer-p-size-big: 16px;
    --footer-logos-marright: 85px;
    --footer-adress-p-padbot: 19px;
    --footer-rgpd-li-padright: 35px;
}

.c-footer__content {
    display: grid;
    grid-template-rows: var(--footer-row);
    grid-template-columns: var(--footer-col);
    width: var(--footer-w);
    margin: 0 auto;
    column-gap: var(--footer-gap-col);
    row-gap: var(--footer-gap-row);
    font-size: var(--footer-p-size);
}

.c-footer__content .c-footer__row.is-first,
.c-footer__content .c-footer__row.is-third {
    display: grid;
    grid-template-columns: var(--footer-col);
    column-gap: var(--footer-gap-col);
}

.c-footer__content .c-footer__row.is-first {
    grid-column: 1 / span 3;
    grid-row: 1;
}

.c-footer__content .c-footer__row.is-second {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.c-footer__content .c-footer__row.is-third {
    grid-column: 1 / span 3;
    grid-row: 4;
}

.c-footer__content .c-footer__row.is-fourth {
    grid-column: 2 / span 3;
    grid-row: 3;
}

.c-footer__content .c-footer__row .c-footer__column.is-logos {
    display: flex;
    align-items: center;
}

.c-footer__content .c-footer__row .c-footer__column.is-logos .is-1 {
    margin-right: var(--footer-logos-marright);
}

.c-footer__content .c-footer__row .c-footer__column.is-logos .is-1 path {
    fill: var(--or-white-color);
}

.c-footer__content .c-footer__row .c-footer__column.is-adress p {
    font-size: var(--footer-p-size-big);
}

.c-footer__content .c-footer__row .c-footer__column.is-adress p:first-of-type {
    padding-bottom: var(--footer-adress-p-padbot);
}

.c-footer__content .c-footer__row .c-footer__column.is-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.c-footer__content .c-footer__row .c-footer__column.is-btn a {
    margin: 0;
    width: fit-content;
    max-width: fit-content;
    min-width: fit-content;
    font-size: var(--footer-p-size-big);
    color: var(--or-white-color);
}

.c-footer__content .c-footer__row .c-footer__column.is-rgpd .c-nav {
    display: flex;
    flex-direction: row;
}

.c-footer__content .c-footer__row .c-footer__column.is-rgpd .c-nav li {
    padding-right: var(--footer-rgpd-li-padright);
}

.c-footer__content .c-footer__row .c-footer__column.is-copyright p em {
    font-style: normal;
}

.c-footer__content .c-footer__row .c-footer__column.is-powered a {
    display: flex;
    align-items: flex-end;
    width: max-content
}

.c-footer__content .c-footer__row .c-footer__column.is-powered a .is-container {
    padding-left: 6px;
}

@media (min-width: 1280px) and (max-width: 1679px) {

    .c-footer,
    .c-footer * {
        --footer-logos-marright: 35px;
    }

    .c-footer__content .c-footer__row.is-first .c-footer__column.is-logos {
        display: flex;
        align-items: center;
        flex-direction: column;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {

    .c-footer,
    .c-footer * {
        /* --footer-col: 1fr 300px 1fr; */
        --footer-col: 380px minmax(0, 1fr) 150px;
        --footer-gap-col: 50px;
        --footer-logos-marright: 0;
        --footer-rgpd-li-padright: 25px;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-logos {
        display: flex;
        align-items: flex-start;
        /* flex-direction: column; */
    }

    .c-footer__content .c-footer__row.is-fourth .c-footer__column.is-logos {
        flex-direction: row;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-logos .is-1 {
        padding-bottom: 20px
    }

    .c-footer__content .c-footer__row.is-fourth .c-footer__column.is-logos .is-1 {
        margin-right: 50px;
    }
}

@media (max-width: 1024px) {

    .c-footer,
    .c-footer * {
        --footer-row: repeat(4, auto);
        --footer-col: 1fr;
        --footer-gap-col: 0;
        --footer-gap-row: 30px;
        --footer-logos-marright: 0;
        --footer-rgpd-li-padright: 0;
    }

    .c-footer__content .c-footer__row.is-first,
    .c-footer__content .c-footer__row.is-second,
    .c-footer__content .c-footer__row.is-third,
    .c-footer__content .c-footer__row.is-fourth {
        grid-column: 1;
    }

    .c-footer__content .c-footer__row.is-first {
        grid-row: 1;
        gap: 30px;
    }

    .c-footer__content .c-footer__row.is-second {
        grid-row: 2
    }

    .c-footer__content .c-footer__row.is-third {
        grid-row: 4;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .c-footer__content .c-footer__row.is-fourth {
        grid-row: 3;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-logos {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-logos .is-1 {
        padding-bottom: 30px;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-adress,
    .c-footer__content .c-footer__row .c-footer__column.is-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .c-footer__content .c-footer__row .c-footer__column.is-rgpd .c-nav {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ==> 3.13 c-langs <== */

.c-langs .c-langs__item {
    background-color: var(--or-main-color);
    color: var(--or-white-color);
}

.c-langs .c-langs__item:hover a {
    color: var(--or-main-color);
    background-color: var(--or-white-color);
}

.c-langs .c-langs__item a {
    text-transform: lowercase;
    font-size: 18px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.is-fixed .c-langs .c-langs__item {
    margin-top: 12px;
}

@media(max-width: 767px) {
    .c-langs {
        position: absolute;
        top: calc(40px + 55px);
        left: 0;
        z-index: 10;
    }

    .c-langs .c-langs__item a {
        min-width: 55px;
        min-height: 55px;
    }
}

@media(min-width: 767px) {
    #navModal .c-langs .c-langs__item a {
        display: none;
    }
}

/* ==> 3.14 c-nav <== */

#navModal .c-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#navModal li.c-nav__item {
    color: var(--or-white-color);
    text-align: center;
    font-family: var(--or-alt-font);
    font-size: var(--or-font-menu);
    font-style: normal;
    font-weight: 400;
    line-height: 162%;
    letter-spacing: 2.04px;
}

#navModal li.c-nav__item a {
    text-decoration: none;
}

#navModal li.c-nav__item.is-active a {
    font-style: italic;
}

#navModal .c-nav .c-nav__item.is-alt__parent a span,
#navModal .c-nav .c-nav__item.is-alt__parent a {
    font-family: var(--or-main-font);
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 5px;
}

#navModal .c-nav .c-nav__item a {
    position: relative;
}

#navModal .c-nav .c-nav__item a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: var(--or-white-color);

    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s ease;
}

#navModal .c-nav .c-nav__item:hover a::after {
    transform: scaleX(1);
}

#navModal .c-nav .c-nav__item a:focus-visible {
    outline: none;
}

/* ==> 3.15 c-rgpdmodal <== */

.c-rgpdmodal.t-show .c-rgpdmodal__container:focus-visible {
    outline: auto;
}

.c-rgpdmodal.t-show .c-rgpdmodal__container:focus {
    outline: none;
}

/* ==> 3.16 c-textolegal <== */

.c-textolegal,
.c-textolegal * {
    --or-font-h2: 25px;
    --or-font-p: 16px;
    font-weight: 400;
    color: var(--or-main-color);
    line-height: 25px
}

.c-textolegal {
    width: var(--or-innerwidth);
    margin: 0 auto;
}

.c-textolegal strong {
    font-weight: 600
}

.c-textolegal h3 {
    padding-bottom: 20px
}

.c-textolegal h2 {
    padding: 30px 0;
    font-family: var(--or-main-font);
    font-size: var(--or-font-h2);
    font-weight: 500;
    color: var(--or-main-color);
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 auto;
}

.c-textolegal ul {
    list-style-type: disc;
    padding-left: 30px;
    padding-bottom: 25px;
    font-size: var(--or-font-p)
}

.c-textolegal li,
.c-textolegal p {
    padding-bottom: 20px;
    text-align: left
}

.c-textolegal table p,
.c-textolegal table p:last-of-type,
.c-textolegal ul li p,
.c-textolegal ul li p:last-of-type,
.c-textolegal li:last-of-type {
    padding-bottom: 0
}

.c-textolegal p:last-of-type {
    padding-bottom: 25px
}

@media (max-width: 767px) {

    .c-textolegal,
    .c-textolegal * {
        --or-font-h2: 30px
    }
}

/* ==> 3.17 c-table <== */

.c-table table {
    overflow: auto;
    display: block;
    max-width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px
}

.c-table table * {
    --or-font-p: 16px;
    line-height: 1.1
}

.c-table table th,
.c-table table td {
    font-size: var(--or-font-p);
    border: 1px solid var(--or-main-color);
    width: 20%;
    height: 60px;
    padding: 10px
}

.c-table table th>em,
.c-table table td>em {
    font-weight: 400;
    font-size: var(--or-font-pmin);
    display: block
}

.c-table.c--2cols table th:first-of-type,
.c-table.c--2cols table td:first-of-type {
    width: 25%;
    min-width: 120px
}

.c-table.c--2cols table th:last-of-type,
.c-table.c--2cols table td:last-of-type {
    width: 75%
}

/* ==> 3.18 c-bannerimg <== */
@media (max-width: 1024px) {
    .c-bannerimg {
        height: 550px;
    }
}

/* ==> 3.19 c-navmodal <== */

@media(max-width: 767px) {
    .c-navmodal__body {
        display: flex;
        position: relative;
        justify-content: center;
        align-items: center;
    }

    .c-navmodal__body button {
        position: absolute;
        top: 40px;
        left: 0;
    }
}

/* ==> 3.20 c-contactform <== */

.c-contactform,
.c-contactform * {
    --contactform-w: var(--or-innerwidth);
    --contactform-martop: var(--or-pad);
    --contactform-fields-col: repeat(2, 1fr);
    --contactform-fields-row: repeat(6, auto);
    --contactform-fields-input-min-h: 60px;
    --contactform-fields-input-pad: 5px;
    --contactform-message-h: 180px;
    --contactform-label-p-size: 24px;
    --contactform-recaptcha-p-size: 12px;
    --contactform-policy-p-size: 16px;
    --contactform-btn-min-w: 110px;
}

.c-contactform.convertforms {
    width: var(--contactform-w);
    margin: 0 auto;
    margin-top: var(--contactform-martop);
}

.c-contactform.convertforms .cf-fields {
    display: grid;
    grid-template-columns: var(--contactform-fields-col);
    grid-template-rows: var(--contactform-fields-row);
}

.c-contactform.convertforms .cf-fields .cf-input {
    min-height: var(--contactform-fields-input-min-h);
    border: none;
    border-radius: 0;
    border-bottom: 1px solid var(--or-main-color);
    padding: var(--contactform-fields-input-pad);
}

/* si no ponemos esto, cuando escribamos en el form se quedará un fondo por defecto */
/* son parámetros que vienen por defecto en los navegadores */
.c-contactform.convertforms .cf-fields .cf-input:-webkit-autofill,
.c-contactform.convertforms .cf-fields .cf-input:-webkit-autofill:hover,
.c-contactform.convertforms .cf-fields .cf-input:-webkit-autofill:focus-visible,
.c-contactform.convertforms .cf-fields .cf-input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--or-main-color) !important;
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    transition: background-color 9999s ease-in-out 0s;
    outline: none;
}

.c-contactform.convertforms .cf-fields .cf-input:focus {
    border: 1px solid var(--or-main-color);
}

.c-contactform .cf-control-group.is-message,
.c-contactform .cf-control-group.is-recaptcha,
.c-contactform .cf-control-group.is-responsible,
.c-contactform .cf-control-group.is-policy,
.c-contactform .cf-control-group.is-btn {
    grid-column: 1 / span 2;
}

.c-contactform .cf-control-group.is-message {
    grid-row: 2;
}

.c-contactform .cf-control-group.is-message .cf-input {
    height: var(--contactform-message-h);
}

.c-contactform .cf-control-group.is-recaptcha {
    grid-row: 3;
}

.c-contactform .cf-control-group.is-recaptcha .cf-control-input {
    font-size: var(--contactform-recaptcha-p-size);
    color: var(--or-main-color);
}

.cf-control-input>div>p {
    font-size: 14px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
}

.c-contactform.convertforms .cf-recaptcha-v3-text-badge,
.c-contactform.convertforms .cf-recaptcha-v3-text-badge a {
    color: var(--or-main-color);
}

.c-contactform .cf-control-group.is-responsible {
    grid-row: 4;
}

.c-contactform .cf-control-group.is-policy {
    grid-row: 5;
    border: none;
}

.c-contactform .cf-control-group.is-policy .cf-label p {
    font-size: var(--contactform-policy-p-size);
}

.c-contactform .cf-control-group.is-btn {
    grid-row: 6;
}

.c-contactform .cf-control-group.is-btn .cf-btn {
    min-width: var(--contactform-btn-min-w);
    color: var(--or-main-color);
    font-family: var(--or-main-font);
    font-size: 14px;
}

.c-contactform .cf-control-group.is-btn .cf-btn:hover {
    opacity: unset;
}

.c-contactform .cf-control-group .cf-label {
    color: var(--or-main-color);
    font-size: var(--contactform-label-p-size);
}

.c-contactform .cf-control-group .cf-label .cf-required-label {
    display: none;
}

.c-contactform .cf-control-group.is-btn,
.c-contactform .cf-control-group.is-policy {
    display: flex;
    justify-content: center;
}

.c-contactform.convertforms.cf-success .cf-response {
    background-color: transparent;
    font-size: var(--contactform-label-p-size);
}

@media(max-width: 1024px) {

    .c-contactform,
    .c-contactform * {
        --contactform-fields-col: 1fr;
        --contactform-fields-row: repeat(7, auto);
        --contactform-label-p-size: 20px;
    }

    .c-contactform .cf-control-group.is-name,
    .c-contactform .cf-control-group.is-email,
    .c-contactform .cf-control-group.is-message,
    .c-contactform .cf-control-group.is-recaptcha,
    .c-contactform .cf-control-group.is-responsible,
    .c-contactform .cf-control-group.is-policy,
    .c-contactform .cf-control-group.is-btn {
        grid-column: 1;
    }

    .c-contactform .cf-control-group.is-name {
        grid-row: 1;
    }

    .c-contactform .cf-control-group.is-email {
        grid-row: 2;
    }

    .c-contactform .cf-control-group.is-message {
        grid-row: 3;
    }

    .c-contactform .cf-control-group.is-recaptcha {
        grid-row: 6
    }

    .c-contactform .cf-control-group.is-responsible {
        grid-row: 7
    }

    .c-contactform .cf-control-group.is-policy {
        grid-row: 5
    }

    .c-contactform .cf-control-group.is-btn {
        grid-row: 4
    }
}

/* ==> 3.21 c-txtslider <== */

.c-txtslider,
.c-txtslider * {
    --txtslider-content-w: 445px;
    --txtslider-col: var(--txtslider-content-w) auto;
    --txtslider-gap: 140px;
    --txtslider-txt-pax-size: 1rem;
    --txtslider-txt-pax-w: 120px;
    --txtslider-txt-pax-h: 34px;
    --txtslider-txt-pax-radius: 8px;
    --txtslider-txt-marg-topbot: 40px;
    --txtslider-txt-marg-left: calc((var(--or-width) - var(--or-innerwidth)) / 2);
}

.c-txtslider {
    display: grid;
    grid-template-columns: var(--txtslider-col);
    gap: var(--txtslider-gap);
    justify-items: end;
    align-items: center;
}

.c-txtslider__content .c-txtslider__txt .is-pax {
    text-align: center;
    font-size: var(--txtslider-txt-pax-size);
    font-weight: 400;
    text-transform: uppercase;
    width: var(--txtslider-txt-pax-w);
    height: var(--txtslider-txt-pax-h);
    border-radius: var(--txtslider-txt-pax-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: var(--txtslider-txt-marg-topbot) 0;
}

.c-txtslider__content .c-txtslider__btn {
    margin-top: var(--txtslider-txt-marg-topbot);
}

.c-txtslider__content .c-txtslider__txt .is-txt,
.c-txtslider__content .c-txtslider__btn {
    margin-left: var(--txtslider-txt-marg-left);
}

@media (max-width: 1367px) {

    .c-txtslider,
    .c-txtslider * {
        --txtslider-col: 1fr;
        --txtslider-gap: 50px;
        /* --txtslider-txt-pax-size: 18px;
        --txtslider-txt-pax-w: 80px;
        --txtslider-txt-pax-h: 28px; */
        --txtslider-txt-marg-topbot: 30px;
        --txtslider-txt-marg-left: 0;
    }

    .c-txtslider {
        width: 60vw;
        margin: 0 auto;
    }

    .c-txtslider__slider {
        grid-row: 1;
    }

    .c-txtslider__content {
        grid-row: 2;
    }
}


@media (max-width: 1024px) {

    .c-txtslider {
        width: var(--or-width);
        margin: 0 auto;
    }
}

/* ==> 3.22 c-owslider <== */

.c-owslider,
.c-owslider * {
    --owslider-arrow-border: 65px;
    --owslider-arrow-w: 8px;
    --owslider-arrow-spacer: 10px;
    --owslider-img-w: 808px;
    --owslider-img-maxw: 808px;
    --owslider-img-h: 591px;
    --owslider-img-maxh: 591px;
}

.c-owslider {
    position: relative;
    max-width: var(--owslider-img-maxw);
    width: 100%;
    display: grid;
    align-items: center;
}

.c-owslider__container,
.c-owslider .c-owslider__list {
    display: grid;
    overflow: hidden;
    min-height: var(--owslider-img-h);
    max-height: var(--owslider-img-maxh);
    min-width: var(--owslider-img-w);
    padding: 0;
    grid-auto-flow: column;
}

.c-owslider .c-owslider__item {
    width: var(--owslider-img-maxw);
    min-height: var(--owslider-img-h);
    max-height: var(--owslider-img-maxh);
}

.c-owslider .owsliders-nav {
    position: absolute;
    bottom: var(--owslider-arrow-border);
    ;
    right: var(--owslider-arrow-border);
    ;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    z-index: 3;
}

.c-owslider .owsliders-nav .icon-nav {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--or-main-color);
    width: var(--owslider-arrow-border);
    height: var(--owslider-arrow-border);
    transition: all .25s linear;
}

.c-owslider .owsliders-nav .icon-nav svg path {
    stroke: var(--or-white-color);
}

.c-owslider .owsliders-nav .icon-nav:hover,
.c-owslider .owsliders-nav .icon-nav:focus-visible {
    background-color: var(--or-white-color);
    outline: none;
}

.c-owslider .owsliders-nav .icon-nav:hover svg path,
.c-owslider .owsliders-nav .icon-nav:focus-visible svg path {
    stroke: var(--or-main-color);
}

@media (min-width: 1368px) and (max-width: 1679px) {

    .c-owslider,
    .c-owslider * {
        --owslider-img-h: 530px;
        --owslider-img-maxh: 530px;
    }
}

@media (min-width: 1025px) and (max-width:1367px) {

    .c-owslider,
    .c-owslider * {
        --owslider-img-h: calc(var(--or-width) * .50);
        --owslider-img-maxh: calc(var(--or-width) * .50);
    }
}

@media (min-width: 768px) and (max-width:1024px) {

    .c-owslider,
    .c-owslider * {
        --owslider-img-w: var(--or-width);
        --owslider-img-h: calc(var(--or-width) * .75);
        --owslider-img-maxh: calc(var(--or-width) * .75);
        --owslider-arrow-border: 50px;
    }
}

@media (max-width: 767px) {

    .c-owslider,
    .c-owslider * {
        --owslider-img-w: 90vw;
        --owslider-img-h: calc(90vw * .75);
        --owslider-img-maxh: calc(90vw * .75);
        --owslider-arrow-border: 40px;
    }
}

/* ==> 3.22 c-sectionmodal <== */

#modalestudio .c-sectionmodal__modal,
#modalapt .c-sectionmodal__modal {
    display: flex;
}

.c-sectionmodal__modal {
    display: none;
}

/* ==> 3.24 c-modal <== */

.c-modal,
.c-modal * {
    --modal-col: repeat(2, 1fr);
    --modal-gap: 335px;
    --modal-img-h: 100vh;
    --modal-title-size: var(--or-font-p-big);
    --modal-txt-title-marbot: 60px;
    --modal-title-marbot: 190px;

}

#modalestudio .c-modal,
#modalapt .c-modal {
    display: grid;
    grid-template-columns: var(--modal-col);
    gap: var(--modal-gap);
}

#modalestudio .c-modal__img,
#modalapt .c-modal__img {
    position: sticky;
    top: 0;
    height: var(--modal-img-h);
}

.c-modal__txt {
    margin-top: var(--modal-title-marbot);
}

.c-modal__txt .is-text p {
    font-family: var(--or-alt-font);
    font-size: var(--modal-title-size);
    letter-spacing: 1.92px;
    margin-bottom: var(--modal-txt-title-marbot);
}

@media(max-width: 1679px) {

    .c-modal,
    .c-modal * {
        --modal-title-marbot: 0;
    }
}

@media (min-width: 1368px) and (max-width: 1679px) {

    .c-modal,
    .c-modal * {
        --modal-gap: 250px;
    }

    #modalestudio .c-modal,
    #modalapt .c-modal {
        align-items: center;
    }
}

@media (max-width: 1367px) {

    .c-modal,
    .c-modal * {
        --modal-col: 1fr;
        --modal-gap: 0;
        --modal-txt-title-marbot: 40px;
    }

    .c-modal__img {
        display: none;
    }

    #modalestudio .c-modal,
    #modalapt .c-modal {
        width: 50vw;
    }
}

@media (min-width: 1279px) and (max-width: 1367px) {

    #modalestudio .c-modal,
    #modalapt .c-modal {
        width: 60vw;
    }
}

@media (max-width: 1024px) {

    #modalestudio .c-modal,
    #modalapt .c-modal {
        width: var(--or-width);
    }
}

/* ==> 3.25 c-dropdown <== */

.c-dropdown,
.c-dropdown * {
    --dropdown-item-title-h: 60px;
    --dropdown-content-p-size: 18px;
    --dropdown-content-title-size: 16px;
    --dropdown-content-padbot: 10px;
}

.c-dropdown__item {
    min-height: var(--dropdown-item-title-h);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.c-dropdown__item .c-dropdown__title {
    min-height: var(--dropdown-item-title-h);
}

.c-dropdown__item {
    cursor: pointer;
    user-select: none;
}

.c-dropdown__item:first-of-type {
    border-top: solid 1px var(--or-main-color);
}

.c-dropdown__item:not(:last-of-type) {
    border-bottom: solid 1px var(--or-main-color);
}

.c-dropdown__item .c-dropdown__content p {
    font-size: var(--dropdown-content-p-size);
}

.c-dropdown__item .c-dropdown__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.c-dropdown__item .c-dropdown__title p {
    font-size: var(--dropdown-content-title-size);
    font-weight: 600;
}

/* js-dropdown */

.js-dropdown .js-dropdown__item .js-dropdown__content {
    display: none;
}

.js-dropdown .js-dropdown__item.js--deploy .js-dropdown__content {
    display: flex;
    flex-direction: column;
    padding-bottom: var(--dropdown-content-padbot);
}

.js-dropdown .js-dropdown__item .js-dropdown__title::after {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url(../../../../../images/custom/icons/icon-arrow-down.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

.js-dropdown .js-dropdown__item.js--deploy .js-dropdown__title::after {
    background-image: url(../../../../../images/custom/icons/icon-arrow-up.svg);
}

/* ==> 3.26 c-imgtext <== */

.c-imgtext,
.c-imgtext * {
    --imgtext-img-maxw: 690px;
    --imgtext-gap: 140px;
    --imgtext-pad: 120px;
}

.c-imgtext {
    display: grid;
    grid-template-columns: 1fr var(--imgtext-img-maxw);
    grid-gap: var(--imgtext-gap);
    align-items: center;
}

.c-imgtext.has-padtop {
    padding-top: var(--imgtext-gap);
}

.c-imgtext:not(.hasnot-padbot) {
    padding-bottom: var(--imgtext-gap);
}

.c-imgtext>div {
    grid-row: 1;
}

.c-imgtext .c-imgtext__txt p:not(:last-child) {
    padding-bottom: 30px;
}

.c-imgtext .c-imgtext__img {
    height: 100%;
}

.c-imgtext.is-reverse {
    grid-template-columns: var(--imgtext-img-maxw) 1fr;
}

.c-imgtext.is-reverse .c-imgtext__img {
    grid-column: 1;
}

.c-imgtext:not(.is-reverse) .c-imgtext__txt {
    padding-left: var(--imgtext-pad);
}

.c-imgtext.is-reverse .c-imgtext__txt {
    padding-right: var(--imgtext-pad);
}

@media (min-width: 1367px) and (max-width: 1679px) {

    .c-imgtext,
    .c-imgtext * {
        --imgtext-gap: 120px;
        --imgtext-pad: 0;
    }

    .c-imgtext {
        grid-template-columns: 1fr 50%;
    }

    .c-imgtext.is-reverse {
        grid-template-columns: 50% 1fr;
    }
}

@media (min-width: 1280px) and (max-width: 1366px) {

    .c-imgtext,
    .c-imgtext * {
        --imgtext-gap: 80px;
        --imgtext-pad: 0;
    }

    .c-imgtext {
        grid-template-columns: 1fr 55%;
    }

    .c-imgtext.is-reverse {
        grid-template-columns: 55% 1fr;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {

    .c-imgtext,
    .c-imgtext * {
        --imgtext-gap: 80px;
        --imgtext-pad: 0;
    }

    .c-imgtext {
        display: flex;
        flex-direction: column-reverse;
        max-width: var(--imgtext-img-maxw);
    }

    .c-imgtext .c-imgtext__img picture,
    .c-imgtext .c-imgtext__img picture img {
        max-height: 600px;
    }
}

@media (max-width: 1024px) {

    .c-imgtext,
    .c-imgtext * {
        --imgtext-gap: 50px;
        --imgtext-pad: 0;
    }

    .c-imgtext {
        display: flex;
        flex-direction: column-reverse;
    }

    .c-imgtext.has-padtop {
        padding-top: var(--or-pad);
    }

    .c-imgtext:not(.hasnot-padbot) {
        padding-bottom: var(--or-pad);
    }

    .c-imgtext .c-imgtext__img picture,
    .c-imgtext .c-imgtext__img picture img {
        max-height: 500px;
    }
}

@media (max-width: 768px) {

    .c-imgtext {
        display: flex;
        flex-direction: column-reverse;
        width: 100%;
        max-width: 100%;
    }

    .c-imgtext .c-imgtext__txt {
        width: var(--or-width);
        margin: 0 auto
    }
}

/* ==> 3.27 c-banner <== */

.c-banner {
    display: flex;
    height: 100%;
    max-height: var(--banner-img-maxh);
    max-width: var(--banner-maxw);
}

.c-banner,
.c-banner * {
    --banner-maxw: 1164px;
    --banner-img-maxh: 509px;
}

.c-banner>div {
    width: 100%;
    max-width: calc(var(--banner-maxw) / 2);
}

.c-banner .c-banner__img {
    width: 100%;
    height: 100%;
}

.c-banner .c-banner__txt {
    padding: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.c-banner .c-banner__txt p:not(.is-h2mini) {
    padding-bottom: 40px;
}

@media (max-width: 1279px) {

    .c-banner,
    .c-banner * {
        --banner-img-maxh: auto;
        --banner-maxw: 582px;
    }

    .c-banner {
        flex-direction: column-reverse;
    }

    .c-banner>div {
        margin: 0 auto;
        max-width: var(--banner-maxw);
    }

    .c-banner .c-banner__txt {
        padding: 40px;
    }

    .c-banner .c-banner__img picture,
    .c-banner .c-banner__img picture img {
        max-height: var(--banner-img-maxh);
    }
}

/* ==> 4. Animations <== */

/* ==> 4.1 ob-basic <== */

/* * {
    --ob-default-time: 1s;
    --ob-animation-time: 1.6s;
    --ob-animation-delay: .25s;
    --ob-animation-iteration: 1;
    --ob-animation-ease: ease-out;
    --ob-opacity-init: 0;
    --ob-opacity-end: 1;
    --ob-animation-fill: both;
    --ob-animation-direction: normal;
    --ob-animation-name: ob-slide-in;
    --ob-animation-translate: 200px;
}

.ob-basic {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.ob-basic>picture {
    display: block;
    width: 100%;
    height: 100%;
}

.ob-basic>picture>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transform: none;
    clip-path: inset(0 0 100% 0);
}

.ob-basic>picture.ob--init {
    --ob-animation-name: ob-picture-in;
    -webkit-animation-name: var(--ob-animation-name);
    animation-name: var(--ob-animation-name);
    -webkit-animation-delay: var(--ob-animation-delay);
    animation-delay: var(--ob-animation-delay);
    -webkit-animation-timing-function: var(--ob-animation-ease);
    animation-timing-function: var(--ob-animation-ease);
    -webkit-animation-direction: var(--ob-animation-direction);
    animation-direction: var(--ob-animation-direction);
    -webkit-animation-duration: var(--ob-animation-time);
    animation-duration: var(--ob-animation-time);
    -webkit-animation-iteration-count: var(--ob-animation-iteration);
    animation-iteration-count: var(--ob-animation-iteration);
    -webkit-animation-fill-mode: var(--ob-animation-fill);
    animation-fill-mode: var(--ob-animation-fill);
}

.ob-basic>picture.ob--init>img {
    animation: revealMask 1.6s ease-out both;
}

.ob-basic.is-2>picture.ob--init>img,
.is-4 .ob-basic>picture.ob--init>img {
    animation-delay: 0.1s;
}

.ob-basic.is-1>picture.ob--init>img,
.is-2 .ob-basic>picture.ob--init>img {
    animation-delay: 0.4s;
}

.ob-basic.is-3>picture.ob--init>img,
.is-1 .ob-basic>picture.ob--init>img {
    animation-delay: 0.7s;
}

.is-3 .ob-basic>picture.ob--init>img {
    animation-delay: 1s;
}

@keyframes revealMask {
    from {
        clip-path: inset(0 0 100% 0);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
} */

* {
    --ob-default-time: 1s;
    --ob-animation-time: 1.6s;
    --ob-animation-delay: .25s;
    --ob-animation-iteration: 1;
    --ob-animation-ease: ease-out;
    --ob-opacity-init: 0;
    --ob-opacity-end: 1;
    --ob-animation-fill: both;
    --ob-animation-direction: normal;
    --ob-animation-name: ob-slide-in;
    --ob-animation-translate: 200px;
}

.ob-basic>div,
.ob-basic>picture {
    opacity: var(--ob-opacity-init);
    overflow: hidden;
}

.ob-basic>div.ob--init,
.ob-basic>picture.ob--init {
    opacity: var(--ob-opacity-end);
}

.ob-basic>div.ob--init,
.ob-basic>picture.ob--init {
    --ob-animation-name: ob-picture-in;
    -webkit-animation-name: var(--ob-animation-name);
    animation-name: var(--ob-animation-name);
    -webkit-animation-delay: var(--ob-animation-delay);
    animation-delay: var(--ob-animation-delay);
    -webkit-animation-timing-function: var(--ob-animation-ease);
    animation-timing-function: var(--ob-animation-ease);
    -webkit-animation-direction: var(--ob-animation-direction);
    animation-direction: var(--ob-animation-direction);
    -webkit-animation-duration: var(--ob-animation-time);
    animation-duration: var(--ob-animation-time);
    -webkit-animation-iteration-count: var(--ob-animation-iteration);
    animation-iteration-count: var(--ob-animation-iteration);
    -webkit-animation-fill-mode: var(--ob-animation-fill);
    animation-fill-mode: var(--ob-animation-fill);
}

.ob-basic.is-2>picture.ob--init,
.is-4 .ob-basic>picture.ob--init,
.c-imgtext__img.ob-basic>picture.ob--init {
    --ob-animation-delay: 0.1s;
}

.ob-basic.is-1>picture.ob--init,
.is-2 .ob-basic>picture.ob--init {
    --ob-animation-delay: 0.5s;
}

.ob-basic.is-3>picture.ob--init,
.is-1 .ob-basic>picture.ob--init {
    --ob-animation-delay: 0.8s;
}

.is-3 .ob-basic>picture.ob--init {
    --ob-animation-delay: 1s;
}

.ob-basic>div.ob--init picture,
.ob-basic>picture.ob--init,
.ob-basic>div.ob--init picture img,
.ob-basic>picture.ob--init img {
    object-position: top;
}

@-webkit-keyframes ob-picture-in {
    0% {
        height: 0;
        min-height: 0;
        opacity: 0
    }

    100% {
        height: 100%;
        min-height: 100%;
        opacity: 1
    }
}

@keyframes ob-picture-in {
    0% {
        height: 0;
        min-height: 0;
        opacity: 0
    }

    100% {
        height: 100%;
        min-height: 100%;
        opacity: 1
    }
}

/* ==> 5. Accessibility <== */

/* ==> 5.1 ac-accessnav <== */

.ac-accessnav {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translate3d(-50%, -120%, 0);
    z-index: 110;
    list-style: none;
    background: rgba(51, 51, 51, 0.9);
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
    width: 100%;

}

.ac-accessnav.is-focused,
.ac-accessnav:focus-within {
    transform: translate3d(-50%, 0, 0);
    opacity: 1;
    pointer-events: auto;
}

.ac-accessnav ul {
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
}

.ac-accessnav a {
    text-align: center;
    display: flex;
    margin: 0 10px;
    padding: 5px 10px;
    color: var(--or-white-color);
    text-decoration: none;
}

.ac-accessnav a:focus,
.ac-accessnav a:focus-visible {
    text-decoration: underline;
}


@media (prefers-reduced-motion: reduce) {
    .ac-accessnav {
        transition: none;
    }
}

/* ==> 5.2 ac-langparts <== */

.ac-langparts em {
    font-style: normal;
}