:root {
  --cubic: cubic-bezier(0.250, 0.460, 0.450, 0.940);
  --blue: #3C64D2;
  --grey: #C8C9C6;
  --darkgrey: #8F908E;
  --pad: 1rem;
}

/* GLOBAL
------------------------------ */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#090909}::-moz-selection{color:#fff;background:rgba(250,250,250,.4);text-shadow:none}::selection{color:#fff;background:rgba(250,250,250,.4);text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}

* {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-tap-highlight-color: transparent!important;
}

a, div, img{
    outline: 0!important;
}

@font-face {
    font-family: 'Neureal';
    src: url('../font/Neureal-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body, html{
    background: var(--grey);
    color: black;
    height: 100%;
    font-family: 'Neureal', Arial;
    line-height: 1;
    font-size: 1rem;
}

body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

body{
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-overflow-style: none;
}

::-moz-selection { color: var(--grey);  background: black; }
::selection      { color: var(--grey);  background: black; }

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.bottom {
    bottom: 0;
}

.left {
    left: 0;
}

.right{
    right: 0;
}

.top{
    top: 0;
}

.pad-025 {
    padding-bottom: 0.25rem !important;
}

.pad-b-0{
    padding-bottom: 0.5rem;
}

.pad-t-0{
    padding-top: 0.25rem;
}

.pad-r-0{
    padding-right: 0.5rem;
}

.pad-l-0{
    padding-left: 0.5rem;
}

.pad-0{
    padding: 0.5rem;
}

.pad-b{
    padding-bottom: var(--pad);
}

.pad-t{
    padding-top: var(--pad);
}

.pad-r{
    padding-right: var(--pad);
}

.pad-l{
    padding-left: var(--pad);
}

.pad{
    padding: var(--pad);
}

.pad-b-1{
    padding-bottom: calc(3 * var(--pad));
}

.pad-t-1{
    padding-top: calc(3 * var(--pad));
}

.pad-r-1{
    padding-right:calc(3 * var(--pad));
}

.pad-l-1{
    padding-left: calc(3 * var(--pad));
}

.pad-1{
    padding: calc(3 * var(--pad));
}

.pad-t-2 {
    padding-top: 4rem;
}

.mag-auto{
    margin: 0 auto;
}

.block{
    display: block;
}

.w-100 {
    width: 100%;
}

.h-30 {
    height: 30%;
}

.h-40 { 
    height: 40%;
}

.h-50 {
    height: 50%;
}

.h-80 {
    height: 80%;
}

.h-80-vh {
    height: 80vh;
}

.h-100{
    height: 100%;
}

.h-100-vh{
    height: 100dvh;
}

.min-100-vh{
    min-height: 100vh;
}

a:link {
    text-decoration: none;
    color: inherit;
}

a:visited {
    color: inherit;
}

.flex, .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

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

.end-justify{
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.evenly{
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
}

.align-center{
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.column{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.column-r{
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
}

.between{
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.between-m{
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.around{
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.jus-center{
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.z--1 {
    z-index: -1;
}

.z-9{
    z-index: 9;
}

.z-99{
    z-index:  99;
}

.z-999{
    z-index: 999;
}

.z-9999{
    z-index: 9999;
}

.z-1{
    z-index: 1;
}

.z-2{
    z-index: 2;
}

.w-20 {
    width: 20%;
}

.w-25{
    width: 25%;
}

.w-33{
    width: 33.33%;
}

.w-40 {
    width: 40%;
}

.w-50, .w-50-m{
    width: 50%;
}

.w-60 {
    width: 60%;
}

.w-66 {
    width: 66%;
}

.w-75 {
    width: 75%;
}

.w-80 {
    width: 80%;
}

.hide-scroll{
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.hide-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.mobile, .mobile-flex{
    display: none;
}

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

.center{
    text-align: center;
}

.justify{
    text-align: justify;
}

.t-right{
    text-align: right;
}

.ab-center{
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
}

.ab-x{
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}

.none{
    pointer-events: none;
}

.auto{
    pointer-events: auto;
}

.none-s{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.inline-block{
    display: inline-block;
}

.inline {
    display: inline;
}

.block{
    display: block;
}

.hide{
    display: none !important;
}

.hide-op{
    opacity: 0;
    -webkit-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
}

.hide-op-op{
    opacity: 0;
    -webkit-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
}

.op{
    opacity: 1;
-webkit-transition: opacity 0.7s ease-in;
    -o-transition: opacity 0.7s ease-in;
    transition: opacity 0.7s ease-in;
}

.show{
    display: block;
}

.hidden{
    overflow: hidden;
}

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

.contain {
    -o-object-fit: contain;
       object-fit: contain;
}

.underline{
    text-decoration: underline;
}

.sticky, .sticky-bar{
    position: sticky;
}

.flex-end{
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

.a-self{
    -ms-flex-item-align: start;
        align-self: flex-start
}

.nw{
    white-space: nowrap;
}

.b-b{
    border-bottom: solid black 1px;
}

.b-t{
    border-top: solid black 1px;
}

ul, li {
  list-style-type: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.white-bk {
    background: white;
}

.white{
    color: var(--grey);
}

.upper{
    text-transform: uppercase;
}

.round{
    border-radius: 2rem;
}

.round-half {
    border-radius: 0.8rem;
}

.line {
    width: 16px;
    height: 2px;
    background: var(--black);
    margin-bottom: var(--pad);
}

.grey {
    color: var(--darkgrey);
}

.grey-btn, .grey-bk {
    background: var(--darkgrey);
}

.blue-btn {
    background: var(--blue);
    color: var(--grey) !important;
}

.blue-bk {
    background: var(--blue);
}

header nav {
    gap: 0.5rem;
}

.gap {
    gap: calc(var(--pad) / 2);
}

.gap-1 {
    gap: 1rem;
}

.grey-btn, .blue-btn {
    padding: 3px 6px;
}

footer img {
    width: 600px;
}

.mobile {
    display: none;
}

.circle {
    background: var(--blue);
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    width: 16.6666666%;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.fadein {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

/* ---------------------------
            MENU
------------------------------ */

.pointer {
    cursor: pointer;
}

.dots-wrapper {
    overflow: scroll;
    pointer-events: none;
}

.dots-wrapper .circle {
    position: absolute;
    opacity: 0;
} 

.dots-wrapper.open a {
    pointer-events: auto;
}

.darkgrey-bk {
    background: var(--darkgrey);
}

.pad-s {
    padding: 2px;
}

.site-header nav {
    gap: var(--pad);
}

/* ---------------------------
         ANIMACIONES
------------------------------ */


.animated-element {
  transform: translateY(30vh); 
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform, opacity;
}

/* cuando entra en viewport */
.animated-element.visible {
  transform: translateY(0);
  opacity: 1;
}



/* ---------------------------
             CONTENT
------------------------------ */

main.pad-menu {
    opacity: 0;
}

.black-bk {
    background: black;
}

.text-format p {
    padding-bottom: 1rem;
}

.text-format p:last-child {
    padding-bottom: 0;
}

.blue {
    color: var(--blue);
}

.white {
    color: var(--grey);
}

a.blue-bk {
    color: var(--grey) !important;
}

/* ---------------------------
            FLUJOS
------------------------------ */

.grid-sizer, .grid-item {
    width: 16.6666%;
}

.grid.select .grid-sizer, .grid.select .grid-item {
    width: 33.33333%;
}

.grid-item img {
    width: 100%;
    height: auto;
}

.grid-item {
    padding-right: var(--pad);
    padding-bottom: var(--pad);
}

.grid-item.premiados .overlay-gray, .grid-item.finalistas .overlay-gray {
    opacity: 0.2;
    background-color: #C8C9C6;
    mix-blend-mode: screen;
}

.grid-item.premiados .thumb img, .grid-item.finalistas .thumb img  {
    filter: contrast(0.5);
}

.grid-item.seleccionados {
    pointer-events: none;
}

.filter-btn {
    cursor: pointer;
}

.filter-btn.active {
    background: black;
}

#expand-categorias svg, #expand-rango svg, #expand-flujo svg {
    width: 16px;
    height: 16px;
}

#expand-categorias.active, #expand-rango.active, #expando-flujo.active {
    background-color: black;
}

.expanded-categorias, .expanded-rango {
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.expanded-categorias.opened, .expanded-rango.opened {
    height: auto;
    opacity: 1;
    pointer-events: auto;
}

#expand-categorias.active, #expand-rango.active {
    background-color: black;
}



/* ---------------------------
            FLUJO
------------------------------ */

.w-1 {
    width: 30%;
}

.w-2 {
    width: 70%;
}

.ver-galeria {
    top: 100%;
}

#see-more {
    height: calc(1rem + 8px);
    aspect-ratio: 1 / 1;
    cursor: pointer;
}

#see-more span.mas {
    position: relative;
}

#see-more span.mas, #see-more span.mas::after {
    width: 1rem;
    height: 2px;
    background-color: var(--grey);
}

#see-more span.mas::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

#see-more span.mas.open::after {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

.swiper-slide img {
    height: 80vh;
    max-width: 90vw;
    width: auto;
    object-fit: contain;
}

.swiper-overlay {
    background: black;
}

.swiper-slide {
    user-select: none;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.line-1 {
    line-height: 1 !important;
}

.swiper-button-next, .swiper-button-prev {
    height: 100%;
    top: 0;
    width: 20%;
}

.swiper-button-next::after, .swiper-button-prev::after {
    color: transparent;
}

/* ---------------------------
            FOOTER
------------------------------ */

.nav-footer .menu {
    gap: var(--pad);
    flex-wrap: wrap;
}

.nav-footer .menu a {
    background-color: var(--darkgrey);
    padding: 2px;
    display: inline-block;
}

.logos-footer img {
    width: 100%;
}

/* ---------------------------
            TEXT
------------------------------ */

.font-XS {
    font-size: 1rem;
}

.font-S {
    font-size: 1.25rem;
    line-height: 1.2;
}

.font-M {
    font-size: 1.6rem;
}

.font-L {
    font-size: 2rem;
}


@media screen and (max-width: 1600px) {

    .grid.select .grid-sizer, .grid.select .grid-item {
        width: 50%;
    }

    .grid-sizer, .grid-item {
        width: 20%;
    }

    .w-1 {
        width: 40%;
    }

    .w-2 {
        width: 60%;
    }

    .font-S {
        font-size: 1rem;
    }

    .font-M {
        font-size: 1.6rem;
    }

    .font-L {
        font-size: 2rem;
    }

}

@media screen and (max-width: 1100px) {

    .expanded-rango, .expanded-categorias {
        align-items: flex-start;
        left: 0;
    }

}

@media screen and (max-width: 1200px) {

    .grid-sizer, .grid-item {
        width: 25%;
    }

    .w-1 {
        width: 50%;
    }

    .w-2 {
        width: 50%;
    }

}

/* HOVER */
@media screen and (min-width: 1024px) {

    #menu-btn div:hover {
        background: black;
        color: var(--grey);
    }

    .dots-wrapper .circle:hover {
        background: black;
    }

    .grid-item a:hover .overlay-gray {
        background-color: var(--blue);
        opacity: 1;
        mix-blend-mode: screen;
    }

    .grid-item a:hover .thumb img {
        filter: none;
    }

    .filter-btn:hover, #expand-categorias:hover, #expand-rango:hover, #see-more:hover, .ver-galeria:hover .blue-bk {
        background-color: var(--darkgrey);
        cursor: pointer;
    }

    a.blue-bk:hover {
        background: var(--darkgrey);
    }

    .links-b a:hover{
        background: black;
        color: var(--grey);
    }

}

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

    .circle {
        width: 33.333333%;
    }

    .grid-sizer, .grid-item {
        width: 33.33%;
    }

    .column-m{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }

    .column-m-r{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }

    .w-1, .w-2 {
        width: 100%;
    }

    .w-2.pad-l-1 {
        padding-left: 0;
    }

    .w-1.pad-r-1 {
        padding-right: 0;
    }

}

@media screen and (max-width: 820px) {

:root {
    --pad: 0.5rem;
}

    body, html {
        font-size: 0.9rem;
    }

    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }

    .font-S {
        font-size: 1rem;
    }

/* FLUJOS */

    .grid.select .grid-sizer, .grid.select .grid-item {
        width: 100%;
    }

    .grid-sizer, .grid-item {
        width: 50%;
    }

}

@media screen and (max-width: 600px) {

    .circle {
        width: 50%;
    }

    .grid-sizer, .grid-item {
        width: 100%;
    }

    .pad-s {
        padding: 2px;
    }

}