
@font-face {
    font-family: 'post_grotesk_regularregular';
    src: url('../font/postgrotesk-regular-webfont.woff2') format('woff2'),
        url('../font/postgrotesk-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'post_grotesk_boldbold';
    src: url('../font/postgrotesk-bold-webfont.woff2') format('woff2'),
        url('../font/postgrotesk-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'post_grotesk_bold_italicBdIt';
    src: url('../font/postgrotesk-bolditalic-webfont.woff2') format('woff2'),
        url('../font/postgrotesk-bolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}



@font-face {
    font-family: 'post_grotesk_book_italicBkIt';
    src: url('../font/postgrotesk-bookitalic-webfont.woff2') format('woff2'),
        url('../font/postgrotesk-bookitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

b,
strong {
    font-family: 'post_grotesk_boldbold';
}

i,
em {
    font-family: 'post_grotesk_book_italicBkIt';
}



u {
    font-family: 'post_grotesk_book_italicBkIt';
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/*
::-webkit-scrollbar {
    display: none;
}
body::-webkit-scrollbar {
    display: none;
}
*/


/* width */
::-webkit-scrollbar {
    width: 8px; height: 8px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #efefef;
    /*border-radius: 5px;*/
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: black;
    /*border-radius: 5px;*/
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #9E4C16;
}






html,
body {
    /*font: 16px/1.5 Helvetica, Helvetica Neue, Arial;*/
    font-family: 'post_grotesk_regularregular';
    width: 100%;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: black;
}

body {
    /*position: fixed;*/
    min-height: calc(var(--vh, 1vh) * 100);
}

.root .home,
.prendido .home,
.prendidoL .home {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    height: calc(var(--vh, 1vh) * 100);
    top: -100vh;
    left: 0;
    width: 100vw;
    z-index: 10;
    padding: 3.4375vw 2.34375vw 0 0;
    background: url(../img/home_bg.jpg);
    background-color: black;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .5s;
}

#intro {
    height: calc(var(--vh, 1vh) * 100);
    width: 100vw;
    z-index: 10;
    position: fixed;
    background: white;
    overflow: hidden;
}

#intro * {
    transition: all 0;
}

.intro_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 0;
    background: url(../img/home_bg.webp);
    background-size: cover;
    background-position: center center;
}

.logo_home {
    position: absolute;
    top: 10vh;
    right: 10vh;
    width: 14.47916667vw;
}

@media (max-width: 425px) {
    .logo_home {
        position: absolute;
        top: 10vmin;
        right: 10vmin;
        transform: translateX(0);
        width: 34vw;
    }
}

.intro_anim {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.intro_anim div {
    width: 100%;
    height: 33%;
    border-bottom: black 5px solid;
    padding: 2.5vh 1vw;
    /*flex-grow: 10;*/
}

@media (max-width: 425px) {
    .intro_anim div {
        width: 100%;
        height: 33%;
        border-bottom: black 2px solid;
        padding: 2.5vh 1vw;
        /*flex-grow: 10;*/
    }
}

#i_wia {
    min-height: 15vw !important;
    max-height: 18vw !important;
    order: 1;
    background: white;
    z-index: 2;
}
@media (max-width: 425px) {
    #i_wia {
        min-height: none !important;
        max-height: none !important;
        order: 1;
        background: white;
        z-index: 2;
    }
}
#i_pop {
    order: 4;
    border: 0;
}

.intro_anim .delay {
    transition: all .3s;
    flex-grow: 4;
    z-index: 1;
}

.intro_anim div img {
    min-width: 94%;
    min-height: 94%;
}

.wip,
.wip * {
    border: pink 1px dotted;
}


.page_content object {
    width: 100%;
    height: 100%;
}



/*  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
body {
    line-height: 1.1;
    color: #9E4C16;
}

.page.home {
    min-height: calc(100vh - 10vh);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 10vh;
}

.page.home .row {
    flex-grow: 4;
    align-items: center;
    border-bottom: black 5px solid;
    height: max-content;
    flex-wrap: wrap;
}

@media (max-width: 425px) {
    .page.home .row {

        border-bottom: black 2px solid;
    }
}

.intro.row:hover,
.wia.row:hover,
.ww.row:hover,
.tcp.row:hover,
.shifting.row:hover {
    background: #fefefe;
}

.row.hovered {
    background: #efefef;
}

* {
    box-sizing: border-box;
}

.col {
    display: flex;
    flex-direction: column;
}

.row {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.home_menu.inline_on {
    position: relative;
    min-height: calc(var(--vh, 1vh) * 100);
    max-height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-align: center;
    opacity: 0;
    z-index: 0;
    transition: all .5s;
}

.home_menu {
    position: relative;
    min-height: calc(var(--vh, 1vh) * 100);
    max-height: none;
    display: flex;
    flex-direction: column;
    text-align: center;
    opacity: 1;
    z-index: 1;
    transition: all .5s;
}

.home_menu a {
    color: inherit;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 5vh;
}

.home_menu a:hover {
    text-decoration: none;
}

.sub_s a:hover {
    font-family: 'post_grotesk_boldbold';
    letter-spacing: -0.025em;
}

.inline_page {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90vh;
    background: white;
    opacity: 1;
    z-index: 0;
    transition: all 1s;
    transform: translateY(-120%);
}

.inline_page.active {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90vh;
    background: white;
    opacity: 1;
    z-index: 2;
    transition: all 1s;
    transform: translateY(0);
}

.lvl2 {
    top: 0 !important;
    z-index: 0 !important;
    padding-top: 10vh;
    overflow: hidden;
}

.lvl3 {
    top: 0 !important;
    z-index: 0 !important;
    padding-top: 0;
    overflow: hidden;
}

.mapa {
    border-bottom: black 5px solid;
    margin: 0
}

@media (max-width: 425px) {
    .mapa {
        border-bottom: black 2px solid;
        margin: 0 -5vw;
    }
}

.lvl2.active {
    top: 0 !important;
    z-index: 3 !important;
    max-height: 100vh;
    height: 100vh;
    background: none;
}

.lvl3.active {
    position: fixed;
    top: 0 !important;
    z-index: 3 !important;
    max-height: 100vh;
    height: 100vh;
    background: none;
}

img {
    max-width: 100%;
}

.back {
    cursor: pointer;
}


.inline_page .sub_s a {
    color: inherit;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 10vh;
    font-size: 2vw;
}

@media (max-width: 425px) {
    .inline_page .sub_s a {
        min-height: 10vh;
        font-size: 4.4vw;
    }

}

.inline_page .title {
    position: sticky;
    top: 0;
    text-align: center;
    font-size: 2vw;
    line-height: 5vh;
    border-bottom: black 5px solid;
    background: white;
    z-index: 4;
    cursor: pointer;
}

.inline_page .title::after {
    content: '×';
    font-family: 'post_grotesk_boldbold';
    height: 5vh;
    width: 5vh;
    position: absolute;
    right: 0;
    top: 0;
    /*
    background: url(../img/equis-01.svg);
    background-size: contain;*/
}

.inline_page .title:hover::after {
    content: '×';
    color: black;
}

@media (max-width: 768px) {

    .inline_page .title {
        font-size: 3vw;
    }

}

@media (max-width: 425px) {

    .inline_page .title {
        font-size: 4.4vw;
        border-bottom: black 2px solid;
    }

}

.inline_page .page_content {
    color: black;
    font-size: 1.56vw;
    line-height: 1.333;
    height: 85vh;
    overflow: auto;
    padding: 0;
    background: white;
}

.inline_page .page_content h3 {
    font-size: inherit;
    text-transform: uppercase;
    font-family: 'post_grotesk_boldbold';
}

@media (max-width: 768px) {

    .inline_page .page_content {
        font-size: 2.1vw;
    }
}

@media (max-width: 425px) {

    .inline_page .page_content {
        height: 85vh;
        font-size: 4vw;
        padding: 0 5vw;
    }
}

.inline_page .page_content.photos {
    overflow: visible;
    z-index: 10;
    position: relative;
}

@media (max-width: 425px) {
    .inline_page .page_content.photos {
        overflow: visible;
        z-index: 10;
        position: relative;
        padding: 0;
    }
}

.content_wrapper {
    padding: 2.5vh 10vw;
    margin: auto;
}

@media (max-width: 768px) {
    .content_wrapper {
        padding: 1.25vh 5vw;
        margin: auto;
    }
}

@media (max-width: 425px) {
    .content_wrapper {
        padding: 1.25vh 0;
        margin: auto;
    }
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.hilite {
    text-transform: uppercase;
    font-family: 'post_grotesk_boldbold';
}
.news_item {
    font-family: 'post_grotesk_boldbold';
    text-align: center;
}
.news_item a {
    color: inherit;
    text-decoration: none;
}

.max_50 {
    max-width: 70%;
    margin: auto;
}

.col_50 {
    width: 50%;
    padding: 1vw;
    float: left;
}

@media (max-width: 768px) {
    .max_50 {
        max-width: 70%;
        margin: auto;
    }

    .col_50 {
        width: 100%;
        padding: 1vw;
        float: none;
    }
}

@media (max-width: 425px) {
    .max_50 {
        max-width: 100%;
        margin: auto;
    }

    .col_50 {
        width: 100%;
        padding: 1vw;
        float: none;
    }
}

.centered {
    text-align: center;
}

.patronato {
    font-size: 1.4vw;
    margin: 10vh 0 30vh 0;
}


@media (max-width: 425px) {
    .patronato {
        font-size: 4vw;
        margin: 10vh 0 30vh 0;
    }

}

@media (max-width: 425px) {
    .max_50 {
        max-width: 80%;
        margin: auto;
    }

    .col_50 {
        width: 100%;
        padding: 1vw;
    }

}



.logos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 0.61515vw;
}

.logos .logo {
    width: 24%;
}


.header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    font-size: 3vw;
    min-height: 10vh;
    border-bottom: black 5px solid;
    font-family: 'post_grotesk_boldbold';
    color: black;
    text-align: center;
}

.home_menu .header {
    color: #9E4C16;
}

@media (max-width: 425px) {
    .header {
        font-size: 7vw;
        border-bottom: black 2px solid;
    }
}

.sect {
    width: 31%;
    font-size: 3vw;
    min-height: 5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'post_grotesk_boldbold';
    cursor: crosshair;
}

@media (max-width: 425px) {
    .sect {
        font-size: 4.5vw;
        padding: 0 1vh;
    }
}

.sub_sections {
    width: 69%;
    height: 100%;

    font-size: 1.875vw;
    font-size: 2vw;
    /*font-family: 'post_grotesk_boldbold';*/

    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    border-left: black 5px solid;
}

@media (max-width: 768px) {
    .sub_sections {
        font-size: 2.2vw;
        border-left: black 5px solid;
    }
}

@media (max-width: 425px) {
    .sub_sections {
        font-size: 4.4vw;
        border-left: black 2px solid;
    }
}

.page.home .sub_sections .row {
    border-bottom: none;
}

.sub_s {
    width: 100%;
    min-height: 5vh;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    border-bottom: black 5px solid;
}

@media (max-width: 425px) {
    .sub_s {
        border-bottom: black 2px solid;
    }
}

.sub_s.last {
    border-bottom: none;
}

.sub_s._3col,
.sub_s._4col {
    min-height: 5vh;
    border-right: black 5px solid;
}

@media (max-width: 425px) {

    .sub_s._3col,
    .sub_s._4col {
        min-height: 5vh;
        border-right: black 2px solid;
    }
}

.sub_s._3col.last.ultimo,
.sub_s._4col.last.ultimo {
    border-right: none;
}

@media (max-width: 425px) {

    .sub_s._3col.last.ultimo,
    .sub_s._4col.last.ultimo {
        border-bottom: none;
    }
}

._3col {
    width: 33.333%;
    float: left;
}

@media (max-width: 425px) {
    .sub_s._3col {
        width: 100%;
        border-right: none;
        border-bottom: black 2px solid;
        float: left;
    }
}

@media (max-width: 425px) {
    .sub_s._4col {
        width: 49.999%;
        min-width: 49.999%;
        border-bottom: black 2px solid;
        float: left;
    }

    .sub_s._4col:nth-child(even) {
        border-right: none;
    }

    .last.lasto {
        border-bottom: none;
    }
}

.vh5 {
    line-height: 2.5vh;
    width: 100%;
}

@media (max-width: 425px) {
    .vh5 {
        line-height: 1.25vh;
        width: 100%;
    }
}

._4col {
    width: 25%;
    float: left;
}

.step {
    padding: 1vh 0;
}

.line_on_top {
    width: 100%;
    line-height: 5vh;
    border-top: black 5px solid;
}

.white_line {
    border-top: rgba(255, 255, 255, 0) 5px solid;
}

@media (max-width: 425px) {
    .line_on_top {
        border-top: black 2px solid;
    }

    .white_line {
        border-top: rgba(255, 255, 255, 0) 2px solid;
    }
}

.footer.menu {
    position: fixed;
    background: #fff;
    bottom: 0;
    font-size: 3vw;
    text-transform: uppercase;
    line-height: 10vh;
    border-top: black 5px solid;
    font-family: 'post_grotesk_boldbold';
    color: black;
    z-index: 3;
    text-align: center;
}

@media (max-width: 425px) {
    .footer.menu {
        font-size: 6vw;
        border-top: black 2px solid;
    }
}

#intro.row .sect:hover {
    background: #efefef;
}

.footer.menu .btn {
    width: 23%;
    border-left: black 5px solid;
    cursor: pointer;
}

.footer.menu .btn a {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

@media (max-width: 425px) {
    .footer.menu .btn {
        border-left: black 2px solid;
    }
}

.footer.menu .btn:hover {
    background: black;
    color: #FFFFFF;
}

.footer.menu .btn#home_btn {
    width: 31%;

}

.footer.menu .btn#esp_btn {
    /*border-right: #fff 1px solid;*/

}

/*//////////////////////////////// Slider ////////////////////////////////*/

.slider {

    width: 100%;
    height: 85vh;
    margin: 0 auto;
    position: relative;
    /* overflow-x: hidden; */
    /* overflow-y: visible; */
    position: absolute;
    z-index: 5;
}

.slide-wia {
    height: 100%;
}

.slide-wia div {
    width: 100%;
    height: 100%;
    position: absolute;
    transition: all 1s;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;

    width: 100vw;
    height: 85vh;
    position: absolute;
    transition: all 1s;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.slider span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: black;
    cursor: pointer;
    mix-blend-mode: difference;
}

/*
.tittle {
    position: absolute;
    display: block;
    top: calc(-5vh - 5px) !important;
    left: 2vw;
    padding: 0 !important;
    margin: 0 !important;
    height: min-content !important;
    font-size: 2vw;
    line-height: 5vh !important;
    cursor: auto !important;
    background-color: none !important;
    transform: translateY(0) !important;
}*/
.tittle {
    display: block;
    max-width: 66%;
    top: 90% !important;
    left: 0;
    padding: 0.5em 0 !important;
    margin: 0 auto !important;
    height: min-content !important;
    font-size: 1vw;
    line-height: 1.1;
    cursor: auto !important;
    background-color: none !important;
    transform: translateY(0) !important;
    text-align: center;
    color: black;
    text-align: left;
    height: 9.8vh !important;
    overflow: auto;
    background: #fdfdfd;
    /* padding: 0.2em; */
}

@media (max-width: 768px) {
    .tittle {
        font-size: 2vw;
        max-width: 98%;
        top: calc(-5vh - 1px) !important;
    }
}

@media (max-width: 425px) {
    .tittle {
        max-width: 98%;
        font-size: 3vw;
        top: calc(-5vh - 1px) !important;
    }
}

.slide-wia {
    font-size: 30px;
    text-align: center;
    text-transform: uppercase;
    background: #fff;
}

#prev {
    left: 1vw;
    border-radius: 0 10px 10px 0;
}

#next {
    right: 1vw;
    border-radius: 10px 0 0 10px;
}

#prev svg,
#next svg {
    width: 100%;
    fill: #fff;
}

#prev:hover,
#next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

/*//////////////////////////////// Slider ////////////////////////////////*/

.indent {
    padding-left: 5vw;
}

.video {
    width: 100%;
    height: 100%;
}

@media (max-width: 768px) {
    .video {
        width: 100%;
        height: fit-content;
        max-height: 100%;
    }
}

@media (max-width: 425px) {
    .video {
        width: 100%;
        height: fit-content;
        max-height: 100%;
    }
}

video.fit {
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

@media (max-width: 768px) {
    video.fit {
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: 50% 50%;
    }
}

@media (max-width: 425px) {
    video.fit {
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: 50% 50%;
    }
}


ol,
ul {
    list-style: none;
}

h1,
h2,
h3 {}


.middle,
.left .body,
.right .body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.left,
.middle,
.right {
    width: 50vw;
    position: relative;
    float: left;
    transform-origin: top left;
    transition: all 1s ease;
}

.left {
    opacity: 1;
    height: 100vh;
    z-index: 2;
    position: relative;
    background: white;
    border-right: 0.3125vw solid black;
}

.loading .left {
    opacity: 0;
}

@media (max-width: 768px) {
    .left {
        height: 80vh;
        width: 100%;
        float: none;
        overflow: auto;
    }
}

@media (max-width: 425px) {
    .left {
        height: 80vh;
        width: 100%;
        float: none;
        overflow: auto;
    }
}





/*  ////////////////////////////////////////// iPad portrait /////////////////////////////////////////////////////// */