* {
    margin: 0;
    padding: 0;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;

    scroll-margin-top: 150px;
}

html {
    scroll-behavior: smooth;
}

:root {
    --white: #FFFFFF;
    --purple: #3d1ead;
    --blue: #159BC8;
    --light-blue: #EAF7FC;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 94%;
    padding: 0 3%;
    height: 100px;
    background-color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 9999;
}

header .contlogoheader {
    display: flex;
    height: 100%;
}

header .logoheader {
    display: flex;
    height: 90%;
    z-index: 1000;
}

header nav {
    display: flex;
    align-items: center;
    justify-content: end;
    width: 100%;
}

header .menuheader {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 70%;
    list-style: none;
}

header .menuheader li a {
    text-decoration: none;
    color: var(--verde_oscuro);
    transition: all .5s;
    z-index: 0;
}

header .menuheader li a:hover {
    background: linear-gradient(180deg,
            #fff8d6 0%,
            #f8e28c 20%,
            #d4af37 40%,
            #a97c18 60%,
            #fff3b5 80%,
            #d4af37 100%);

    background-clip: text;
    -webkit-text-fill-color: transparent;
}

header .cotizarheader {
    color: #757164;
    letter-spacing: .8px;
    transition: .35s;
    padding: 5px 10px;
    border-radius: 5px;
    text-decoration: none;
    text-decoration: none;
}

header .cotizarheader:hover {
    background: #143125;
    border-color: #F3D98C;
    color: #ffffff;
    box-shadow: 0 0 15px rgba(212, 175, 55, .25);
    background: black;
}

header .botonheader {
    width: 45px;
    height: 45px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    display: none;
}

header .botonheader span {
    height: 2px;
    width: 28px;
    background: var(--purple);
    transition: .4s;
    border-radius: 10px;
}

header .botonheader.open span:nth-child(1) {
    transform:
        translateY(8px) rotate(45deg);
}

header .botonheader.open span:nth-child(2) {
    opacity: 0;
}

header .botonheader.open span:nth-child(3) {
    transform:
        translateY(-8px) rotate(-45deg);
}

.hero {
    width: 100%;
    height: calc(100svh - 50px);
    background: url(img/heropc.png);
    background-size: auto;
    background-position: center;
    position: relative;
}

.capagris {
    background-color: rgba(171, 171, 171, 0.39);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.txthero {
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    display: flex;
    flex-direction: column;

}

.txthero h1 {
    font-size: 3rem;
    color: var(--purple);
}

.txthero p {
    font-size: 1.2rem;
    color: var(--purple);
    margin: 25px 0;
}

.btnshero {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 20px;
}

.btnshero a {
    padding: 1rem 1rem;
    border-radius: 30px;
}

.btnhero1 {
    background-color: var(--purple);
    border: 1px solid var(--purple);
    color: var(--white);
    text-decoration: none;
}

.btnhero2 {
    border: 1px solid var(--purple);
    color: var(--purple);
    text-decoration: none;
}

.ventajashero {
    width: 70%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 65%);
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    background-color: #ffffff;
    box-shadow: 0 0 15px rgba(106, 106, 106, 0.25);
    border-radius: 20px;
    padding: 20px 10px;
}

.ventaja {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
    padding: 40px 0;

    border-right: 1px solid #ddd;
}

.ventaja:last-child {
    border-right: none;
}

.ventaja img {
    width: 3rem;
}

ventaja h3 {
    font-size: .8rem;
}

.ventaja p {
    font-size: .75rem;
}

.estudios {
    width: 80%;
    margin: 100px auto;
}

.estudios h2 {
    text-align: center;
    font-size: 2rem;
    color: var(--purple);
}

.estudios p {
    text-align: center;
    font-size: 2rem;
    color: var(--purple);
}

.contestudios {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin: 50px 0;
}

.estudio {
    width: 20%;
    aspect-ratio: 1;
    box-shadow: 0 0 15px rgba(106, 106, 106, 0.25);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.estudio img {
    width: 30%;

}

.estudio p {
    font-size: 1.7rem;
    color: var(--blue);
    margin: 5%;
}

.sbnosotros {
    width: 80%;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}

.sbncont {
    display: grid;
    grid-template-columns: 2fr 1fr;
    margin: 100px 0px;
}

.sbnsttxt {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
}

.sbnsttxt h3 {
    text-align: center;
    font-size: 1.5rem;
    margin: 10px;
    color: #3d1ead;
}

.sbnsttxt p {
    color: var(--purple);
    font-size: 1.1rem;
}

.sbnsimg {
    width: 100%;
    display: flex;
}

.sbnsimg img {
    width: 100%;
    display: flex;
    object-fit: cover;
    margin: 0 10px;
}

.importancia p {
    color: var(--purple);
    font-size: 1.1rem;
    margin: 50px 0;
}

.importancia ul {
    color: var(--purple);
    font-size: 1.1rem;
    margin: 50px auto;
    list-style: number;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px 50px;
}

.elegirnos {
    background: url(img/fondoelegirnos.png);
    background-size: cover;
    background-position: center;
    display: grid;
    grid-template-columns: 5fr 10fr 5fr;
    height: 30vh;
    margin: 100px 0;
    position: relative;
}

.capaelegirnos {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #342b7cec;
}

.elegirnossect {
    width: 100%;
    height: 100%;
    display: flex;
    z-index: 1;
}

.estxt {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: white;
}

.estxt h2 {
    width: 80%;
    margin: 0 auto;
    font-size: 1.7rem;
}

.estxt .estt {
    color: #159BC8;
    font-family: serif;
    font-weight: bold;
}

.estxt p {
    width: 80%;
    margin: 0 auto;
    font-size: 1.2rem;
}

.eslist {
    align-items: center;
}

.eslist ul {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    list-style: none;
}

.eslist ul li {
    text-align: center;
    color: white;
    border-right: 1px solid #ddd;
    padding: 5% 0;
    gap: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.eslist ul li:last-child {
    border-right: none;
}

.eslist ul li h3 {
    font-size: 1rem;
}

.eslist ul li p {
    font-size: .91rem;
}

.elegirnossect img {
    width: 100%;
    height: 100%;
}

.titulo {
    margin-top: 100px;
    margin-bottom: 40px;
    text-align: center;
    font-size: 2.5rem;
    color: var(--purple);
}

.nosotros {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 100px;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 30px;
}

.nosotros h2 {
    margin: 30px;
    color: var(--purple);
}

.contacto {
    display: flex;
    flex-direction: column;
    text-align: center;
    background-color: white;
    border-radius: 30px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.redes {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    margin-bottom: 30px;
}

.redes a {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    padding: 20px 0;
    width: 50%;
    border-radius: 20px;
    color: var(--blue);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.redes ion-icon {
    font-size: 2rem;
    margin: 10px;
}

.ubicacion {
    background-color: white;
    border-radius: 30px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 30px;
}

.ubicacion iframe {
    border-radius: 20px;
    width: calc(100% - 60px);
}

footer {
    border-top: 1px solid;
    background-color: var(--purple);
    height: 200px;
    display: flex;
    flex-direction: column;
    color: white;
    padding: 0;
}

.footer1 {
    display: flex;
    height: 80%;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}

.f1sc {
    display: flex;
    height: 100%;
    width: 100%;
}

.f1sc:first-child {
    border-left: none;
}

.foologo {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.foologo img {
    display: flex;
    height: 100%;
}

.foomenu {
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

.menufooter {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    color: white;
    list-style: none;
}

.menufooter a {
    color: white;
    text-decoration: none;
    transition: .5s;
}

.menufooter a:hover {
    color: #159BC8;
}

.foocontacto {
    align-items: center;
    justify-content: space-evenly;
}

.foocontacto {
    font-size: 3rem;
}

.footer2 {

    border-top: white 1px solid;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 5%;
}

.footer2 a {
    color: var(--white);
    text-decoration: none;
}

@media (max-width:991px) {
    header::before {
        content: "";
        position: absolute;
        inset: 0;
        background: white;
        z-index: 2;
        pointer-events: none;
    }

    header .contlogoheader,
    header .botonheader {
        position: relative;
        z-index: 3;
    }

    header nav {
        position: fixed;
        top: 100px;
        transform: translateY(calc(-100% - 100px));
        left: 0;
        width: 100%;
        height: auto;
        max-height: calc(100svh - 100px);
        background: rgb(255, 255, 255);
        transition: transform .55s cubic-bezier(.22, .61, .36, 1);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 1;
        gap: 35px;
        padding: 48px 0 55px;
        overflow-y: auto;
        border-radius: 0 0 28px 28px;
        box-shadow: 0 24px 45px rgba(31, 58, 46, .14);
    }

    header nav.active {
        transform: translateY(0);
        z-index: 1;
    }

    header .menuheader {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 35px;
        padding: 0px 0;
        width: 100%;
    }

    header .botonheader {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .capagris {
        background-color: rgba(171, 171, 171, 0.457);
    }

    .txthero {
        width: 80%;
    }

    .ventajashero {
        width: 90%;
    }

    .ventaja {
        font-size: .8rem;
        text-align: center;
    }

    .ventaja img {
        width: 2rem;
    }

    .estudios {
        width: 94%;
    }

    .estudios h2 {
        font-size: 1.5rem;
    }

    .estudios p {
        font-size: 1.2rem;
    }

    .contestudios {
        gap: 10px;
    }

    .estudio {
        width: calc((100% - 20px) / 3);
    }

    .estudio p {
        font-size: .8rem;
    }

    .titulo {
        font-size: 2rem;
    }

    .sbnosotros {
        width: 90%;
    }

    .sbncont {
        grid-template-columns: 1fr;
    }

    .sbnsttxt {
        gap: 30px;
    }

    .sbnsttxt h3 {
        font-size: 1.3rem;
    }

    .sbnsttxt p {
        font-size: 1rem;
        text-align: justify;
    }

    .sbnsimg img {
        margin: 30px 0;
    }

    .importancia ul {
        grid-template-columns: 1fr 1fr;
        gap: 30px 40px;
    }

    .elegirnos {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 0;
        height: auto;
    }

    .eslist ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px 0;
    }

    .eslist ul li {
        border-right: none;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: start;
    }

    .eslist ul li:nth-child(1),
    .eslist ul li:nth-child(3) {
        border-right: 1px solid #ddd;
    }

    .eslist ul li h3 {
        font-size: .9rem;
    }

    .eslist ul li p {
        font-size: .81rem;
        margin: 0 5px;
    }

    .estxt {
        text-align: center;
    }

    .esimg {
        display: none;
    }

    .nosotros {
        width: 94%;
        grid-template-columns: 1fr;
    }

    .redes a {
        margin: 20px 0;
        padding: 20px;
    }


    footer {
        height: auto;
    }
    
    .footer1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 0;
    }

    .f1sc {
        border: none;
    }

    .foologo img {
        width: 20%;
    }

    .foomenu h3 {
        margin: 10px;
    }
    
    .menufooter {
        width: 90%;
        font-size: .8rem;
    }

    .footer2 {
        font-size: .8rem;
    }

    .footer2 a {
        text-align: end;
    }
}