:root {
    --primary-color: #004BC2;
    --background-color: #002649;
    --partners-color: #00C7A9;
    --font-headers: 'Montserrat', sans-serif;
    --font-text: 'Roboto', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

img {
    max-width: 100%;
}

p {
    margin-bottom: 0px;
}

.heroContainer {
    background-color: #E5EDF8;
    background-image: url(https://help.embluemail.com/wp-content/uploads/2024/08/bkg-emblue.webp), url(https://help.embluemail.com/wp-content/uploads/2024/08/bkg-emblue-2.webp), url(https://help.embluemail.com/wp-content/uploads/2024/08/bkg-emblue-3.webp);
    background-repeat: no-repeat;
    background-position: left 11%, right center, left bottom;
}

.hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 67vh auto;
    grid-template-areas: "one form"
                        "two form";
    gap: 40px;
    padding: 150px 90px 80px;
    align-items: start;
    justify-content: center;
}

.heroImg {
    grid-area: form;
    position: sticky;
    top: 95px;
}

.heroText {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 100px;
    grid-area: one;
}

.termsAbusesCases{
    grid-area: two;
}

.heroText h1 {
    font-family: var(--font-text);
    font-size: 23px;
    font-weight: 500;
    line-height: 28px;
    color: #3DC4AB;
}

.heroText h2 {
    font-family: var(--font-headers);
    font-size: 55px;
    font-weight: 700;
    line-height: 63px;
    color: var(--background-color)
}

.heroText span {
    font-family: var(--font-headers);
    font-size: 20px;
    font-weight: 500;
    line-height: 50px;
    color: var(--background-color)
}


.heroText p {
    font-family: var(--font-text);
    font-size: 18px;
    font-weight: 300;
    line-height: 25px;
    color: white;
}

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

.bttnsContainer button, .bttnsContainer a {
    padding: 13px 10px;
    color: white;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    border-radius: 10px;
    border: none;
    width: fit-content;
    border: 1px solid #004BC2;
    text-decoration: none;
    background-color: var(--primary-color);
}

.bttnsContainer .bttnSecundario {
    color: #004BC2;
    text-decoration: underline;
    padding: 10px;
    border: none;
    margin-bottom: 0px;
    background-color: transparent;
}

.bttnsContainer .bttnSecundario:hover {
    color: var(--background-color);
}

.bttnsContainer .bttnPrincipal:hover {
    background-color:#00224C
}

/****************************/


.termsAbusesCases {
    border-radius: 20px;
    border: 1px solid #CBCAC8;
    background-color: #FFF;
    padding: 42px;
}

.termsAbusesCases h2 {
    font-family: var(--font-headers);
    font-size: 25px;
}

.termsAbusesCases p {
    font-size: 16px;
    margin-top: 20px;
    font-family: 'Roboto', sans-serif;
    color: var(--background-color);
}

.termsAbusesCases {
    position: relative;
}


.clip {
    position: absolute;
    top: -49px;
    right: 20px;
}


























/********************/
.accordionContainer {
    padding: 50px 90px 90px;
    font-family: var(--font-text);
}

.accordionContainer h2 {
    font-family: var(--font-headers);
    color: var(--primary-color);
    font-weight: 600;
    margin-bottom: 60px;
    font-size: 40px;
    text-align: center;
}

.accordion-collapse {
    border-radius: 0 0 5px 5px !important;
    background-color: #E6E2FF !important;
    padding: 8px 8px 20px;
}

.accordion-button:not(.collapsed) {
    background-color: white;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button {
    font-family: var(--font-text);
    color: var(--background-color);
    font-size: 15px;
    font-weight: 600;
    line-height: 30px;
}

/**********************/
.cta {
    background-color: var(--background-color);
    padding: 120px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background-repeat: no-repeat;
    background-position: bottom left;
}

.cta h2 {
    font-family: var(--font-headers);
    font-size: 30px;
    font-weight: 500;
    line-height: 37px;
    color: white;
    text-align: center;
    max-width: 900px;
}

.cta button {
    font-family: var(--font-text);
    font-size: 18px;
    font-weight: 500;
    line-height: 21px;
    background-color: var(--primary-color);
    padding: 15px 30px;
    color: white;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    border-radius: 100px;
    border: none;
    width: fit-content;
    margin-top: 20px;
}

form {
    margin: 0 auto;
    width: 500px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid #cbc8ca;
    background: #FFF;
    z-index: 2;
    min-height: 500px;
    justify-content: center;
}

form label {
    color: var(--background-color);
    display: block;
    font-size: 14px;
    font-weight: 400;
    margin: 10px 2px 7px;
    font-family: 'Roboto', sans-serif;
}
form input, textarea {
    border-radius: 6px;
    border: 1px solid #004BC2;
    padding: 8px 10px;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    margin-bottom: 10px;
    color: #00224C;
}

form :nth-child(2) {
    margin-bottom: 10px;
}

textarea {
    margin-bottom: 0px;
}

form .bttnPrincipal {
    min-width: 50%;
    margin-top: 20px;
}

form h2 {
    color: #004DBC;
    font-family: Montserrat;
    font-size: 25px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.sentDescription {
    color: #00224C;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
}

.hidden {
    display: none;
}

.show {
    display: block;
}

.pais img,
.paisList li img {
    max-height: 100%;
    height: 20px;
}

.paisList li img {
    margin-right: 10px;
    margin-bottom: -3px;
}

.pais:hover {
    cursor: pointer;
}

.pais #arrow {
    padding-top: 3px;
}

.pais p img {
    font-size: 10px;
}

.paisList {
    overflow-y: auto;
    width: 300%;
    background-color: white;
    position: absolute;
    top: 43px;
    padding: 10px;
    border-radius: 10px;
    border: solid 1px lightgrey;
}

.paisList li {
    cursor: pointer;
    padding: 10px 20px;
    font-size: 16px;
    border-bottom: solid 1px lightgrey;
    font-family: 'Roboto', sans-serif;
}

.paisList li:last-child {
    border-bottom: none;
}

.telefonoIputCodarea {
    position: relative;
}

.telefonoIput {
    display: grid;
    grid-template-columns: 25% 75%;
}

.pais {
    display: flex;
    justify-content: space-between;
    color: grey;
    margin-right: 3px;
}

.paisListOptions span {
    color: grey;
    margin-left: 10px;
}

/* Estilo general para el marcador de posición */
::placeholder {
    color: grey;
}

/* Estilo específico para el marcador de posición en navegadores WebKit (Chrome, Safari) */
::-webkit-input-placeholder {
    color: grey;
}

/* Estilo específico para el marcador de posición en navegadores Firefox */
:-moz-placeholder {
    color: grey;
}

/* Estilo específico para el marcador de posición en Edge */
::-ms-input-placeholder {
    color: grey;
}

.emailValidatorContainer {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    margin-top: -10px;
    margin-left: 10px;
    color: red;
    height: 10px;
}

#emailValidatorText {
    display: none;
}

.visible {
    display: block !important;
}

div#codAreaSelector {
    min-height: 47px;
}

.sent {
    color: #004DBC;
    font-family: Montserrat;
    font-size: 25px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    justify-self: flex-start;
    padding-bottom: 20px;
}

.thanks {
    color: var(--background-color);
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
    font-weight: 500;
}

.description {
    font-family: var(--font-text);
    color: var(--background-color);
}


/* MEDIA QUERY */
@media (max-width: 1120px) {
    .hero {
        padding: 120px 30px 90px;
        display: flex;
        flex-direction: column;
    }

    .heroText {
        margin-top: 0px;
    }

    .heroImg {
        position: static;
        display: flex;
        margin: 0 auto;
    }

    .heroText h2 {
        font-size: 33px;
        line-height: normal;
    }

    .heroText p {
        font-size: 16px;
        line-height: 1.5;
    }

    .heroText span {
        line-height: normal;
    }

    .termsAbusesCases {
        margin-top: 40px;
    }
    /************/
    .whyContainer,
    .whyEmblue {
        padding: 60px 30px;
        grid-template-columns: 100%;
    }

    .whyContainer .whyImg {
        display: none;
    }

    .whyText,
    .whyEmblueArticles {
        grid-template-columns: 100%;
        gap: 50px;
    }

    .whyText h2 {
        font-size: 35px;
    }

    .whyTextNuevosIngresos {
        margin-top: 0px;
    }

    /**********/
    .whyEmblue {
        gap: 50px;
        background-position: 90% 30px
    }

    .whyEmblue article img {
        display: none;
    }

    .whyEmblue article p {
        padding: 15px 0 0;
    }

    /*********/
    .tableDesktop {
        display: none;
    }

    .tablesMobile {
        display: block;
    }

    .tablesMobile h2 {
        padding: 60px 30px 10px;
        font-family: var(--font-headers);
        font-size: 33px;
        font-weight: 700;
        line-height: 42px;
        letter-spacing: 0em;
        text-align: left;
        color: var(--primary-color);
    }

    .tablesMobile .description {
        font-family: var(--font-text);
        color: var(--background-color);
        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
        letter-spacing: 0em;
        text-align: left;
        padding: 0 30px 20px;
    }

    .tableMobileBronce {
        padding: 15px;
        display: grid;
        grid-template-columns: 40% 60%;
        grid-template-rows: 120px 35px 35px 35px;
        grid-template-areas: "bronce revenue"
            "revenueS revenueS"
            "customer customer"
            "conditions conditions";

        font-family: var(--font-headers);
        font-size: 16px;
        font-weight: 500;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        color: var(--primary-color);
    }

    .tableMobileBronce span {
        font-weight: 600;
    }

    .bronceM {
        grid-area: bronce;
        width: 100%;
        background-color: #E6E2FF;
        display: flex;
        border: 1px solid #B6ACFA;
        border-radius: 10px 0 0 0;
    }

    .bronceM img {
        width: 70px;
        margin: 0 auto;
    }

    .revenueContainerM {
        grid-area: revenue;
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: space-between;
    }

    .revenueContainerM img {
        width: 30px;
    }

    .eachType {
        display: flex;
        justify-content: space-around;
        border: 1px solid #B6ACFA;
        border-left: none;
    }

    .eachType div {
        border-left: 1px solid #B6ACFA;
        ;
        width: 100%;
        text-align: center;
        height: 30px;
        justify-content: center;
        align-items: center;
        display: flex;
    }

    .resselerM {
        font-weight: 600;
    }

    .revenueM {
        background-color: var(--primary-color);
        font-family: var(--font-headers);
        font-size: 15px;
        font-weight: 600;
        line-height: 22px;
        letter-spacing: 0em;
        text-align: center;
        color: white;
        height: 100%;
        justify-content: center;
        align-items: center;
        gap: 10px;
        display: flex;
        border-radius: 0 10px 0 0;
    }

    .revenueShareM {
        grid-area: revenueS;
        border: 1px solid #B6ACFA;
        display: grid;
        grid-template-columns: 40% 30% 30%;
        place-items: center;
        align-items: center;
    }

    .revenueShareM span {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .revenueShareM span:last-child {
        font-weight: 700;
    }

    .revenueShareM p,
    .newCustomersM p,
    .conditionsM p {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        padding-left: 10px;
        text-align: start;
    }

    .newCustomersM {
        grid-area: customer;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
    }

    .conditionsM {
        grid-area: conditions;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
        border-radius: 0 0 10px 10px;
    }

    .conditionsM span {
        font-family: var(--font-text);
        font-size: 14px;
        font-style: italic;
        font-weight: 400;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        padding: 0 10px;
    }

    /****************/
    .tableMobilePlate {
        padding: 15px;
        display: grid;
        grid-template-columns: 40% 60%;
        grid-template-rows: 120px 35px 35px 35px;
        grid-template-areas: "plate revenueContainerP"
            "revenueShareP revenueShareP"
            "customerP customerP"
            "conditionsP conditionsP";

        font-family: var(--font-headers);
        font-size: 16px;
        font-weight: 500;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        color: var(--primary-color);
    }

    .tableMobilePlate span {
        font-weight: 600;
    }

    .plate {
        grid-area: plate;
        width: 100%;
        background-color: #E6E2FF;
        display: flex;
        border: 1px solid #B6ACFA;
        border-radius: 10px 0 0 0;
    }

    .plate img {
        width: 70px;
        margin: 0 auto;
    }

    .revenueP {
        background-color: var(--primary-color);
        font-family: var(--font-headers);
        font-size: 15px;
        font-weight: 600;
        line-height: 22px;
        letter-spacing: 0em;
        text-align: center;
        color: white;
        height: 100%;
        justify-content: center;
        align-items: center;
        gap: 10px;
        display: flex;
        border-radius: 0 10px 0 0;
    }


    .revenueContainerP {
        grid-area: revenueContainerP;
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: space-between;
    }

    .revenueContainerP img {
        width: 30px;
    }

    .revenueShareP {
        grid-area: revenueShareP;
        border: 1px solid #B6ACFA;
        display: grid;
        grid-template-columns: 40% 30% 30%;
        place-items: center;
        align-items: center;
    }

    .revenueShareP span {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .revenueShareP span:last-child {
        font-weight: 700;
    }

    .revenueShareP p,
    .newCustomersP p,
    .conditionsP p {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        padding-left: 10px;
        text-align: start;
    }

    .newCustomersP {
        grid-area: customerP;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
    }

    .conditionsP {
        grid-area: conditionsP;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
        border-radius: 0 0 10px 10px;
    }

    .conditionsP span {
        font-family: var(--font-text);
        font-size: 14px;
        font-style: italic;
        font-weight: 400;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        padding: 0 10px;
    }

    /****************/
    .tableMobileGold {
        padding: 15px;
        display: grid;
        grid-template-columns: 40% 60%;
        grid-template-rows: 120px 35px 35px 35px;
        grid-template-areas: "goldd revenueContainerG"
            "revenueShareG revenueShareG"
            "customerG customerG"
            "conditionsG conditionsG";

        font-family: var(--font-headers);
        font-size: 16px;
        font-weight: 500;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        color: var(--primary-color);
    }

    .tableMobileGold span {
        font-weight: 600;
    }

    .gold {
        grid-area: goldd;
        width: 100%;
        background-color: #E6E2FF;
        display: flex;
        border: 1px solid #B6ACFA;
        border-radius: 10px 0 0 0;
    }

    .gold img {
        width: 70px;
        margin: 0 auto;
    }

    .revenueG {
        background-color: var(--primary-color);
        font-family: var(--font-headers);
        font-size: 15px;
        font-weight: 600;
        line-height: 22px;
        letter-spacing: 0em;
        text-align: center;
        color: white;
        height: 100%;
        justify-content: center;
        align-items: center;
        gap: 10px;
        display: flex;
        border-radius: 0 10px 0 0;
    }


    .revenueContainerG {
        grid-area: revenueContainerG;
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: space-between;
    }

    .revenueContainerG img {
        width: 30px;
    }

    .revenueShareG {
        grid-area: revenueShareG;
        border: 1px solid #B6ACFA;
        display: grid;
        grid-template-columns: 40% 30% 30%;
        place-items: center;
        align-items: center;
    }

    .revenueShareG span {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .revenueShareG span:last-child {
        font-weight: 700;
    }

    .revenueShareG p,
    .newCustomersG p,
    .conditionsG p {
        border-right: 1px solid #B6ACFA;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        padding-left: 10px;
        text-align: start;
    }

    .newCustomersG {
        grid-area: customerG;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
    }

    .conditionsG {
        grid-area: conditionsG;
        display: grid;
        grid-template-columns: 40% 60%;
        place-items: center;

        border: 1px solid #B6ACFA;
        border-top: none;
        border-radius: 0 0 10px 10px;
    }

    .conditionsG span {
        font-family: var(--font-text);
        font-size: 14px;
        font-style: italic;
        font-weight: 400;
        line-height: 14px;
        letter-spacing: 0em;
        text-align: center;
        padding: 0 10px;
    }



    /**********/
    .accordionContainer {
        padding: 60px 15px;
    }

    .accordionContainer h2 {
        font-size: 35px;
        margin-bottom: 40px;
    }

    /************/

    .cta {
        align-items: flex-start;
        background-size: 100px;
    }

    .cta h2 {
        font-size: 30px;
        line-height: 37px;
        text-align: left;
    }
}


@media (max-width: 700px) {
    .bttnsContainer {
        flex-direction: column;
    }

    form {
        width: 100%;
        padding: 15px;
    }

    .bttnsContainer {
        align-items: center;
    }
    
}

@media (min-width: 750px) and (max-width: 1120px) {

    .hero,
    .whyContainer,
    .whyEmblue,
    .tablesMobile,
    .accordionContainer {
        padding-left: 90px;
        padding-right: 90px;
    }

    .insignias {
        justify-content: flex-start;
        gap: 30px;
    }
}

/* MEDIA QUERY - GENERAL Zoom */
@media (min-width: 768px) and (max-width: 1800px) {

    nav,
    footer {
        zoom: .85;
    }

    .box-menu button {
        line-height: 1.19;
    }
}

@media (min-width:1209px) {
    .containerLayout {
        margin: 0 auto;
        max-width: 1366px
    }
}