:root {
    --landing-accent-color: magenta;
    --landing-link-color: blue;
}

main{
    padding: 0;
    --section-one: 40px;
    --full-cont-w: 2000px;
    display: grid;
    grid-template-rows: min-content 1fr min-content;
    min-height: 100vh;
}

.logged-in main{
    min-height: calc(100vh - 32px);
}

div.fill-overlay{
    position: fixed;
    left: 0;
    top: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    z-index: 3;
    transition: opacity 0.3s;
}

.focus-on-registration div.fill-overlay{
    opacity: 0.8;
    pointer-events: initial;
}

.landing-masthead{
    padding-top: var(--section-one);
    position: relative;
    min-height: 30vh;
    display: flex;
    align-items: flex-end;
}

.mam-landing .landing-masthead .banner-image-wrapper,
.mam-landing .landing-masthead .banner-image-wrapper img{
    filter: unset;
}

.mam-landing .landing-masthead .banner-image-wrapper::after {
    background: rgba(34, 30, 32, 0.6);
}

.landing-h1-highlight {
    background-color: black;
    /* Para hacer el highlight solo en la baseline del título */
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 9%, rgba(0,0,0,1) 9%, rgba(0,0,0,1) 91%, rgba(0,0,0,0) 91%, rgba(0,0,0,0) 100%);
    box-decoration-break: clone;
    line-height: 1.08em;
    padding: 0 0.1em;
}


.banner-landing{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--section-one);
    box-sizing: content-box;
    position: fixed;
    top: 0;
    z-index: 2;
    padding: 15px;
    width: calc(100% - 30px);
}

.logged-in .banner-landing{
    top: 32px;
}

.banner-landing img{
    height: 100%;
    width: auto;
    filter: invert(1);
    transition: filter 0.3s;
}

.mid-scroll .banner-landing img{
    filter: invert(0);
}

.body-landing{
    display: flex;
}

.body-landing p{
    color: black;
}

h1.landing-heading{
    text-transform: uppercase;
    font-family: Montserrat, sans-serif;
    font-weight: 900;
    font-size: max(25px, min(4vw, 75px));
    line-height: 1em;
    max-width: var(--full-cont-w);
    padding: 1em 30px;
    width: 100%;
    color: white;
    margin: 0 auto;
}

h2.landing-subtitle,
h2.landing-registro-subtitle{
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-20pt);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.5em;
}

.mam-landing h2.landing-subtitle,
.mam-landing h2.landing-registro-subtitle {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
}

p.cuerpo-landing{
    font-family: "Roboto Mono", monospace;
    max-width: 800px;
}

.mam-landing p.cuerpo-landing {
    font-family: "Work Sans", sans-serif;
}

.body-landing a,
.body-landing button {
    color: var(--landing-link-color);
}

.cuerpo-landing button {
    background: none;
    border: none;
    text-transform: unset;
    padding: 0;
    margin: 0;
    font-size: 1em;
    font-style: initial;
    font-family: "Roboto mono", monospace;
    cursor: pointer;
}

.mam-landing .cuerpo-landing button {
    font-family: "Work Sans", sans-serif;
}

.body-landing > .body-landing-inner {
    max-width: var(--full-cont-w);
    margin: auto;
    padding: 50px 30px;
}

.body-landing-inner{
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(350px, 1fr);
    grid-column-gap: 100px;
}

.body-landing-left {
    max-width: 1500px;
    padding-bottom:  200px;
}

.body-landing-right {
    max-width: 400px;
    justify-self: end;
}

.body-landing-left > *{
    margin-bottom: 2em;
}

.tres-diferenciadores {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 60px;
    margin-left: -30px;
    font-size: var(--fz-14pt);
    margin-top: 8em;
    margin-bottom: 8em;
}

.tres-diferenciadores:nth-child(2){
    margin-top: 4em;
}

.tres-diferenciadores img{
    max-width: 100%;
    height: auto; 
    width: 100%; 
}

.tres-diferenciadores figcaption{
    font-family: "Roboto Mono", monospace;
    line-height: 1.3em;
}

.mam-landing .tres-diferenciadores figcaption{
    font-family: "Work Sans", sans-serif;
}

.tres-diferenciadores figcaption > *{
    display: block;
}

.tres-diferenciadores figcaption strong{
    font-weight: 700;
    margin: 0.6em 0 0.3em 0;
}

.mam-landing .tres-diferenciadores figcaption strong {
    font-weight: 600;
}

.tres-diferenciadores figcaption span{
    font-size: var(--fz-12pt);
}

.activate-registration {
    position: sticky;
    bottom: 0;
    width: 100%;
    border: 0;
    border-radius: 0;
    background: blue;
    font-family: "Roboto Mono", monospace;
    color: white;
    font-weight: 700;
    font-size: var(--fz-24pt);
    text-transform: uppercase;
    text-align: center;
    padding: 0.8em;
    transition: background 0.3s;
    z-index: 5;
    margin: 0;
}

.mam-landing .activate-registration {
    background: black;
    font-family: "Montserrat", sans-serif;
}

.activate-registration:hover{
    background: black;
    cursor: pointer;
}

.mam-landing .activate-registration:hover {
    background: var(--landing-accent-color);
}

h2.landing-registro-subtitle{
    color: white;
    margin-bottom: 1.2em;
    text-align: center;
    display: none;
}

.mam-landing input.wpcf7-text, .mam-landing textarea.wpcf7-textarea,
.mam-landing span.wpcf7-not-valid-tip,
.mam-landing .wpcf7-acceptance label {
    font-family: 'Work Sans', sans-serif;
}

.mam-landing input.wpcf7-submit {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
}

div.wpcf7{
    position: sticky;
    top: calc(var(--section-one) + 50px);
    z-index: 4;
    --centered-form: 0;
}

form.wpcf7-form {
    position: relative;
    left: 0;
    transition: left 0.3s;
}

.wpcf7-form span.wpcf7-list-item-label {
    align-items: start;
}

.wpcf7-list-item input[type="checkbox"] + ::before {
    background: var(--landing-accent-color);
    margin-top: 0.2em;
}

span.wpcf7-not-valid-tip {
    color: var(--landing-accent-color);
}

.focus-on-registration form.wpcf7-form{
    left: var(--centered-form);
}

.focus-on-registration .footer-wrapper-landing{
    z-index: 2;
}

.focus-on-registration .activate-registration{
    z-index: 1;
}

.logged-in div.wpcf7{
    top: calc(var(--section-one) + 50px + 32px);
}

.wpcf7-form {
    padding: 2rem;
    margin: 0;
}

.wpcf7-form p {
    margin-bottom: 1.3rem;
}

.footer-wrapper-landing{
    border-top: 2px solid white;
    background-color: black;
    z-index: 5;
}

.footer-content-landing{
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 30px 15px;
    grid-gap: 30px;
    width: 100%;
    max-width: 2000px;
    margin: auto;
}

.footer-rankings-landing{
    display: flex;
    flex-direction: column;
}

.ranking-logos{
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 15px;
}

.ranking-logo{
    height: 50px !important;
    margin-right: 10px;
    width: auto; 
}

.footer-text-landing,
.footer-legal-text-landing,
.footer-heading-landing{
    font-family: "Roboto Mono", monospace;
    font-weight: 400;
    color: gray;
}

.mam-landing .footer-text-landing,
.mam-landing .footer-legal-text-landing {
    font-family: "Work Sans", sans-serif;
    font-size: 0.9em;
}

.footer-heading-landing{
    color: white;
    margin-bottom: 1em;
}

.mam-landing .footer-heading-landing{
    text-transform: uppercase;
}

.footer-text-landing,
.footer-legal-text-landing,
.footer-heading-landing{
    font-size: 0.8em;
}

.indicadores-diferenciadores {
    display: none;
}


@media only screen and (max-width: 2030px){
    .tres-diferenciadores {
        margin-left: 0px;
        margin-right: -30px;
    }

    h1.landing-heading,
    p.cuerpo-landing,
    h2.landing-subtitle{
        margin-left: 30px;
    }
}

@media only screen and (max-width: 1399px){
    .body-landing-inner {
        grid-template-columns: 1fr;
    }

    .tres-diferenciadores {
        margin-right: 0px;
    }

    .activate-registration {
        position: fixed;
        z-index: 1;
    }

    .footer-wrapper-landing{
        z-index: 2;
    }

    .body-landing-left {
        padding-bottom:  100px;
    }    

    .body-landing-right {
        max-width: 100vw;
        justify-self: unset;
        background: black;
        padding: 80px 30px;
        margin: 50px -30px -50px -30px;
        z-index: 2;
    }

    h2.landing-registro-subtitle{
        display: block;
    }

    div.wpcf7 {
        z-index: 1;
        max-width: 500px;
        margin: auto;
    }

    .focus-on-registration div.fill-overlay{
        opacity: 0;
        pointer-events: none;
    }

    .focus-on-registration form.wpcf7-form{
        transition: unset;
        left: 0;
    }
}

@media only screen and (max-width: 991px){
    .body-landing-inner{
        display: grid;
        grid-template-columns: 1fr;
    }

    .body-landing > .body-landing-inner {
        padding: 30px 30px;
    }

    p.cuerpo-landing{
        margin-bottom: 2em !important;
    }

    h1.landing-heading, 
    p.cuerpo-landing, 
    h2.landing-subtitle {
        margin-left: 0px;
    }

    .tres-diferenciadores{
        margin-left: -30px;
        margin-right: -30px;
        overflow-x: scroll;
        grid-template-columns: repeat(3, 40vw);
        grid-gap: 40px;
        width: 100vw;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
    }

    .wpcf7-form{
        max-width: 800px;
    }

    .body-landing-right {
        margin: 50px -30px -30px -30px;
    }

    .activate-registration {
        font-size: var(--fz-20pt);
    }

    .footer-content-landing {
        grid-template-columns: 1fr;
        grid-gap: 5px;
    }

    .ranking-logo{
        height: 7vw !important;
        min-height: 35px;
        max-width: unset !important;;
    }
}

@media only screen and (max-width: 767px){
    main{
        --section-one: 30px;
    }

    .banner-landing{
        height: var(--section-one);
    }

    .tres-diferenciadores{
        margin-top: 5em;
        margin-bottom: 5em;
        padding-bottom: 20px;
    }
}

@media only screen and (max-width: 575px){
    main{
        --section-one: 23px;
    }

    ::-webkit-scrollbar {
        display: none;
    }

    .body-landing > .body-landing-inner {
        padding: 30px 15px;
        overflow: hidden;
    }

    .body-landing-left {
        padding-bottom: 50px;
    }

    .body-landing-right {
        padding: 40px 15px;
        margin: 50px -15px -30px -15px;
    }

    .tres-diferenciadores{
        grid-template-columns: repeat(3, 100vw);
        grid-gap: 0;
        padding-left: 0;
        padding-right: 0;
        margin-left: -15px;
        margin-right: -15px;
        width: 100vw;

        scroll-snap-type: x mandatory;
        overflow-y: hidden;
        margin-top: 3em !important;
        margin-bottom: 2em;

        position: relative;
    }

    .tres-diferenciadores::after {
        content: '';
        position: sticky;
        bottom: calc(100% - 40px);
        left: calc(100vw - 40px);
        background-image: url(assets/carousel-pathfinder.svg);
        width: 30px;
        height: 30px;
        background-position: center;
        margin-bottom: -30px;
    }

    .indicadores-diferenciadores + .tres-diferenciadores::after{
        font-family: "Roboto Mono", monospace;
        font-weight: 400;

        box-sizing: border-box;
        bottom: calc(100% - 1.5em - 10px);
        left: calc(100vw - 3.3em - 10px);
        background-image: unset;
        width: 3.3em;
        height: 1.5em;
        background-position: unset;
        margin-bottom: 0;

        content: attr(data-current-slide) '/' attr(data-total-slides);
        position: sticky;
        background-color: rgba(0, 0, 0, 0.6);
    
        z-index: 3;
        color: white;
        font-size: var(--fz-12pt);
        font-weight: 700;
        padding: 0.2em 0.5em;
        border-radius: 1em;
        letter-spacing: 0.1em;
        text-align: center;
    }

    .tres-diferenciadores figure img{
        width: 100%;
    }

    .tres-diferenciadores figure{
        scroll-snap-align: center;
    }

    .tres-diferenciadores figcaption{
        padding: 0 15px;
    }

    p.cuerpo-landing{
        font-size: var(--fz-12pt);
    }

    div.wpcf7 {
        max-width: unset;
        margin: 0 15px;
    }

    .wpcf7-form, .wpcf7 .wpcf7-form {
        padding: 1.5rem;
        margin: 0 -15px;
    }

    form.wpcf7-form > p:last-child {
        margin-bottom: 0;
    }

    a.form-link[href] {
        display: inline;
    }

    a.form-link[href]::after{
        content: none;
    }

    .wpcf7-acceptance label {
        font-size: var(--fz-10pt);
    }

    .banner-landing{
        height: var(--section-one);
    }

    .activate-registration {
        font-size: var(--fz-14pt);
    }

    .mam-landing h2.landing-registro-subtitle {
        text-align: left;
    }

    /* Carrusel móvil */
    .indicadores-diferenciadores + .tres-diferenciadores{
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }

    .indicadores-diferenciadores + .tres-diferenciadores::-webkit-scrollbar {
        display: none;
    }

    .indicadores-diferenciadores {
        display: block;
        margin-top: 0;
        margin-bottom: 0;
        position: relative;
    }

    .arqdis-indicador-carrusel {
        position: absolute;
        display: flex;
        justify-content: center;
        top: calc(100vw + 1.5em);
        left: 0;
        width: 100%;
        margin: 1em 0;
    }

    .arqdis-indicador-carrusel span {
        display: block;
        width: 5px;
        height: 5px;
        background-color: lightgray;
        border-radius: 2.5px;
        margin: 0 2.5px;
        transition: 0.3s;
    }

    .arqdis-indicador-carrusel span.arqdis-indicador-seleccionado {
        background-color: var(--landing-accent-color);
        transform: scale(1.5);
    }

    .indicadores-diferenciadores + .tres-diferenciadores figcaption {
        margin-top: 2em;
    }
}

@media (hover: none) {
    .activate-registration:hover{
        background: blue;
    }
}
.tres-diferenciadores figure img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
  height: auto;
  max-width: 500px;
  max-height: 500px;
  display: block;
}

/* Phone Code Select with Overlay */
.phone-wrapper .phone-code-label {
    position: relative;
    display: inline-block;
    width: auto;
}

select.phone-code-has-overlay {
    color: transparent !important;
    background-color: transparent;
}

select.phone-code-has-overlay:focus,
select.phone-code-has-overlay:active {
    color: inherit !important;
    background-color: white;
}

.phone-code-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    padding: 0.5em 2em 0.5em 0.75em;
    display: flex;
    align-items: center;
    font-size: inherit;
    opacity: 0;
    transition: opacity 0.1s;
    background: white;
}

.phone-code-overlay.visible {
    opacity: 1;
}