:root {
    --primario: #6834a6;
    --blanco: #FFF;
    --negro: #000000;
    --fuentePrincipal: 'Poppins', sans-serif;
}
html {
    font-size: 62.5%;
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    font-family: var(--fuentePrincipal);
    font-size: 1.6rem;
    line-height: 1.8;
}
h1, h2, h3 {
    font-weight: 900;
    margin: 2rem 0;
}
h1 {
    font-size: 5rem;
}
h2 {
    font-size: 4.6rem;
}
h3 {
    font-size: 3rem;
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
    display: block;
}

/* Esta regla hace que cada clase que termine con guion bajo y el nombre de contenedor y heading aplicara estos estilios */
[class$="__contenedor"] {
    max-width: 120rem;
    margin: 0 auto;
    width: 90%;
}
[class$="__heading"] {
    text-align: center;
    margin-bottom: 5rem;
}

/* Header */
.header{
    background-image: url(../img/header_bg.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 10rem;
    padding: 5rem 0;
}

@media (min-width: 768px) { 
    .header {
        background-size: 50rem;
    }
}
@media (min-width: 992px) { 
    .header {
        background-size: 60rem;
    }
}

@media (min-width: 1280px) { 
    .header {
        background-size: 85rem;
    }
}



@media (min-width: 768px) {
     .header__barra{
        display: flex;
        justify-content: space-between;
        
     }
}

.header__logo{
    width:15rem ;
    margin:  0 auto 3rem auto;
}

@media (min-width: 768px) {
     .header__logo{
        margin: 0;
     }
}

.navegacion{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.navegacion__link{
    color: var(--primario);
}

.navegacion__link--blanco{
    color: var(--blanco);
}

@media (min-width: 768px) {
     .navegacion{
        flex-direction: row;
        gap: 2rem;
        align-items: flex-start;
     }

     .navegacion__link{
        color: var(--blanco);
     }
}

@media (min-width: 768px) {
    .header__grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        align-items: center;
        gap: 4rem;
    }
    
}

.header__heading{
    font-size: 2rem;
    text-align: center;
}

.header__boton{
    background-color: var(--primario);
    padding: 1rem;
    display: block;
    text-align: center;
    margin-bottom: 3rem;
    color: var(--blanco);
}
@media (min-width: 768px ) {
     .header__boton{
        display: inline-block;
        padding: 1rem 4rem;
     }

     .header__heading{
        font-size: 4rem;
        text-align: left;
     }
}


@media (min-width: 768px) {
    .header__imagen{
        max-width: 25rem;
        margin: 0 auto;
      
    }
}

/* Main */

.nucleus__grid{
    display: flex;
    flex-direction:column-reverse;
}
@media (min-width: 768px) {
     .nucleus__grid{
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 5rem;
        align-items: center;
     }
}

.listado__elemento{
    background-color: var(--blanco);
    padding: 2rem;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 15px 3px;
    margin-bottom: 5rem;
    transition-property: transform;
    transition: 300ms ;
}

.listado__numero{
    text-align: center;
    font-size: 6rem;
    color: var(--primario);
    font-weight: 900;
    margin: 0;
}

@media (min-width: 768px) {
    .listado__elemento--2col{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 2rem;
    }

    .listado__numero{
        text-align: right;
        font-size: 4rem;
        flex-basis: 20rem;
    }

    
}


.listado__elemento:hover{
    transform: scale(1.1);
}
.listado__heading{
    font-size: 3rem;
    color: var(--primario);
    margin: 0;
}

.listado__texto{
    font-size: 2rem;
    margin: 0;
   
}

/* Seguridad */
.seguridad{
    background-color: var(--primario);
    padding: 20rem 0;
    margin: 10rem 0;
    position: relative;
    overflow: hidden;
}

.seguridad::before,
.seguridad::after{
    background-color: var(--blanco);
    content: ' ';
    height: 20rem;
    width: 120%;
    position: absolute;
}

.seguridad::before{
    top:-10rem;
    left: 0;
    transform: rotate(3deg);
}

.seguridad::after{
    bottom:-10rem;
    left: 0;
    transform: rotate(-3deg);
}

.seguridad__heading{
    color: var(--blanco);
}


@media (min-width: 768px) {
    .seguridad__grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 5rem;
    }
}

/* comisiones */

@media (min-width: 768px) {
     .comisiones__grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        column-gap: 5rem;
        align-items: flex-end;
     }
}

@media (min-width: 998px) {
     .comisiones__grid{
        align-items: center;
     }
}


/* Testimoniales */
.testimoniales{
    background-color: var(--primario);
    padding: 5rem 0;
}

.testimoniales__heading{
    color: var(--blanco);
}



@media (min-width: 768px) {
    .testimoniales__grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 4rem;
        margin: 0;
    }
}



.testimonial{
    background-color: var(--blanco);
    padding: 2rem;
    position: relative;
    margin-bottom: 2rem;
}

.testimonial__texto{
    padding-left: 4rem;
}

.testimonial__texto::before{
    background-image: url(../img/comilla.png);
    background-size: 3rem;
    background-position: center center;
    background-repeat: no-repeat;
    content: " ";
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 3.5rem;
    left: 2rem;
}

.testimonial__autor{
    text-align: right;
    color: var(--primario);
    font-weight: 700;
}

/* Footer */
.footer{
    background-color: #5A30A0;
    padding: 3rem 0;
}

@media (min-width: 768px) {
     .footer__grid{
        display: flex;
        justify-content: space-between;
        align-items: center;
     }
}

.footer__logo{
    width: 20rem;
    margin: 0 auto 4rem auto;
}

@media (min-width: 768px) {
     .footer__logo{
        margin: 0;
     }
}