main section:nth-child(n + 2){
    margin-top: 0.5rem;
}
/*SECCION CAROUSEL PRINCIPAL*/
.carousel{
    width: 100%;
    height: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    margin-top: 0.5rem;
}
/*Barra de progreso*/
.carousel .progress-bar-contenedor{
    display: block;
    width: 95%;
    max-width: 1250px;
    height: 0.5rem;
    margin: 0 auto;
}
.carousel .progress-bar{
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgb(151,194,30);
    margin: 0 auto;
    border-radius: 0.5rem;
}
/*Contenido del carousel*/
.carousel .carousel_items{
    position: relative;
    width: 95%;
    max-width: 1250px;
    height: 500px;
}
.carousel .item{
    position: absolute;
    width: 70%;
    height: 100%;
    left: 0;
}
.carousel .carousel_items .item:nth-child(n + 6){
    opacity: 0;
    pointer-events: none;
}
/*contenido de cada item de carousel*/
/*estilo de la imagen*/
.carousel .carousel_imagen{
    position: absolute;
    width: 50%;
    aspect-ratio: 1/1;
    left: 50%;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel .carousel_imagen img{
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}
/*estilo de la introduccion*/
.carousel .carousel_items .item .introduccion{
    font-family: 'Gideon Roman', sans-serif;
    opacity: 0;
    pointer-events: none;
}
.carousel .carousel_items .item:nth-child(2) .introduccion{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 50%;
    opacity: 1;
    pointer-events: auto;
}
.carousel .carousel_items .item .introduccion h2{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1em;
    color: var(--color-carrousel-title);
}
.carousel .carousel_items .item .introduccion h3{
    font-size: 4rem;
    font-weight: 500;
    line-height: 1em;
    color: var(--color-carrousel-topic);
}
.carousel .carousel_items .item .introduccion p{
    font-family: 'Open+Sans', sans-serif;
    font-size: 1rem;
    text-align: justify;
    color: var(--color-carrousel-des);
}
.carousel .carousel_items .item .introduccion .checkout{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: 1rem;
}
.carousel .carousel_items .item .introduccion .checkout button{
    font-family: Poppins;/*tendra una fuente poppins*/
    background-color: transparent;/*color de fondo transparente (tendra el mismo color de fondo que su bloque padre)*/
    border: 1px solid #5555;/*tendra un borde de 1 pixek de ancho*/
    margin-left: 5px;/*tendra un margin-left de 5 pixeles, por ende este se separara 5 pixekes del boton a su izquierda*/
    padding: 5px 10px;/*tendra un padding de 10 pixeles para su derecha e izquierda y 5 pixekes para su parte superior e inferior*/
    letter-spacing: 2px;/*el espacio entre cada letra sera de 2 pixeles*/
    font-weight: 500;/*la letra tendra un peso de 500 lo cual es medium*/
    border-radius: 10px 0;
    padding:  8px 0;
    cursor: pointer;
    background-color: var(--color-fondo-carrousel-boton);
    color: var(--color-carrousel-boton);
}
.carousel .carousel_items .item .introduccion .checkout button:hover{
    background-color: rgb(151,194,30);/*el boton checkout tendra un color de fondo lila*/
    color: var(--color-carrousel-boton_hover);
}

/*posicion y estilos de cada hijo item, menos el segundo hijo porque es el principal que se mostrara ni el sexto hijo para adelante porque no sera visible al usuario final*/
/*Los elementos primero, tercero, cuarto y quinto tienen transformaciones, filtros, índices Z, opacidades y eventos de puntero personalizados usando variables CSS*/
.carousel .carousel_items .item:nth-child(1){/*seleccionamos el primer hijo*/
    transform: var(--item1-transform);/*mueve el objeto hacia la izquierda un 100% del contenedor padre y un 5% hacia arriba, su escala es 1.5 veces su tamaño*/
    filter: var(--item1-filter);/*la imagen presenta un desenfoque en un radio de 30 pixeles, , donde los detalles y bordes se verán menos definidos debido al desenfoque.*/
    z-index: var(--item1-zIndex);/*tiene un index de 11, osea que cualquier capa menor a este se vera detras*/
    opacity: var(--item1-opacity);/*tendra una poasidad de 0, osea se vera invisible*/
    pointer-events: none;/*Desactiva la interacción del cursor con el elemento. Esto significa que el elemento no responderá a eventos de ratón como clics o pasos del ratón*/
}
.carousel .carousel_items .item:nth-child(3){
    transform: var(--item3-transform);/*mueve el objeto hacia la derecha un 50% del contenedor padre y un 10% hacia abajo, su escala es 0.8 veces su tamaño*/
    filter: var(--item3-filter);/*la imagen presenta un desenfoque en un radio de 10 pixeles, , donde los detalles y bordes se verán menos definidos debido al desenfoque.*/
    z-index: var(--item3-zIndex);/*tiene un index de 9, osea que cualquier capa menor a este se vera detras*/
    /*normalmente deberia decir su opacidad pero no es necesario porque por defecto esta en 1*/
}
.carousel .carousel_items .item:nth-child(4){
    transform: var(--item4-transform);
    filter: var(--item4-filter);
    z-index: var(--item4-zIndex);
}
.carousel .carousel_items .item:nth-child(5){
    transform: var(--item5-transform);
    filter: var(--item5-filter);
    opacity: var(--item5-opacity);
    pointer-events: none;
}
/* animation de los elementos de introduccion del item2 */
.carousel .carousel_items .item:nth-child(2) .introduccion h2,
.carousel .carousel_items .item:nth-child(2) .introduccion h3,
.carousel .carousel_items .item:nth-child(2) .introduccion p,
.carousel .carousel_items .item:nth-child(2) .introduccion .checkout{
    opacity: 0;
    animation: showContent 0.5s 1s ease-in-out 1 forwards;
}
@keyframes showContent{
    from{
        transform: translateY(-30px);/*de arriba a abajo*/
        filter: blur(10px);/*desenfocado*/
    }to{
        transform: translateY(0);
        opacity: 1;
        filter: blur(0px);
    }
}
.carousel .carousel_items .item:nth-child(2) .introduccion h3{
    animation-delay: 1.2s;
}
.carousel .carousel_items .item:nth-child(2) .introduccion p{
    animation-delay: 1.4s;
}
.carousel .carousel_items .item:nth-child(2) .introduccion .checkout{
    animation-delay: 1.6s;
}

/*cuando presionamos el boton de siguiente*/
.carousel.next .item:nth-child(1){
    animation: transformFromPosition2 0.5s ease-in-out 1 forwards;
}
@keyframes transformFromPosition2{
    from{
        transform: var(--item2-transform);
        filter: var(--item2-filter);
        opacity: var(--item2-opacity);
    }
}
.carousel.next .item:nth-child(2){
    animation: transformFromPosition3 0.7s ease-in-out 1 forwards;
}
@keyframes transformFromPosition3{
    from{
        transform: var(--item3-transform);
        filter: var(--item3-filter);
        opacity: var(--item3-opacity);
    }
}
.carousel.next .item:nth-child(3){
    animation: transformFromPosition4 0.9s ease-in-out 1 forwards;
}
@keyframes transformFromPosition4{
    from{
        transform: var(--item4-transform);
        filter: var(--item4-filter);
        opacity: var(--item4-opacity);
    }
}
.carousel.next .item:nth-child(4){
    animation: transformFromPosition5 1.1s ease-in-out 1 forwards;
}
@keyframes transformFromPosition5{
    from{
        transform: var(--item5-transform);
        filter: var(--item5-filter);
        opacity: var(--item5-opacity);
    }
}
/*cuando presionamos el boton de volver*/
.carousel.prev .item:nth-child(5){
    animation: transformFromPosition4 0.5s ease-in-out 1 forwards;
}
.carousel.prev .item:nth-child(4){
    animation: transformFromPosition3 0.7s ease-in-out 1 forwards;
}
.carousel.prev .item:nth-child(3){
    animation: transformFromPosition2 0.9s ease-in-out 1 forwards;
}
.carousel.prev .item:nth-child(2){
    animation: transformFromPosition1 1.1s ease-in-out 1 forwards;
}
@keyframes transformFromPosition1{
    from{
        transform: var(--item1-transform);
        filter: var(--item1-filter);
        opacity: var(--item1-opacity);        
    }
}
/*estilos de las flechas*/
.flechas{/*el bloque arrow es hijo directo de carrousel, por ende ira sobre item*/
    width: 95%;/*el bloque arrow tendra un ancho de 1140 pixeles, pero si se hace mas pequeño que ello su ancho minimo sera el 90% de su bloque padre carousel*/
    max-width: 1250px;
    display: flex;/*sera un display flex porque sus elementos deben estar ubicados horizontalmente*/
    justify-content: space-between;/*tendra el maximo espaciado entre los bloques hijos*/
}
.prev_carousel,
.next_carousel{/*estan con # porque se pusieron como id*/
    width: 40px;/*los botones de prev y next tendrán un ancho de 40 pixeles*/
    height: 40px;/*los botones de prev y next tendrán un alto de 40 pixeles*/
    border-radius: 50%;/*los botones de prev y next tendrán un borde circular del 50% del borde más pequeño del bloque*/
    font-family: monospace;/* indica al navegador que utilice una fuente de espaciado fijo donde cada carácter tiene el mismo ancho, ideal para mostrar código, datos tabulares o para lograr efectos visuales específicos. Esto nos asegura que el caracter prev y next tengan el mismo ancho*/
    border: 1px solid #5555;/*el boton tendra un ancho de 11 pixel*/
    background-color: rgba(240,248,245);
    font-size: large;/*se aplica un tamaño de fuente más grande que el tamaño predeterminado o normal del navegador.*/
    bottom: 20%;/*esta posicionado a un 20% de la altura del bloque padre*/
    left: 10%;/*esta posicionado con left 10%, osea de izquierda a derecha un 10 % dek bkiqye padre*/
    cursor: pointer;
}
.prev_carousel:hover,
.next_carousel:hover{
    background-color: rgba(151,194,30);
    color: #eee;
}

/*SECCION CAROUSEL CLIENTES*/
.carousel_clientes{
    display: flex;
    height: 160px;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.carousel_clientes_imagenes{
    display: flex;
    flex-wrap: nowrap;
    overflow-y: hidden;
    gap: 20px;
    align-items: center;
    margin-left: 20px;
}
.carousel_clientes_imagenes::-webkit-scrollbar {
    display: none;
}
.elemento {
    flex: 0 0 auto;
    scroll-snap-align: start;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    border-radius: 15px;
    transition: all 0.5s ease-in-out;
    overflow: hidden;
}
.elemento img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}
/*Flechas de la seccion clientes*/
.flechas_cliente{
    display: flex;
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    justify-content: space-between;
}
.flechas_cliente .prev_carousel{
    transform: translateX(-20%);
}
.flechas_cliente .next_carousel{
    transform: translateX(20%);
}
.clientes .prev_carousel,
.clientes .next_carousel{/*estan con # porque se pusieron como id*/
    background-color: rgba(240,248,245,0.8);
}
.clientes .prev_carousel:hover,
.clientes .next_carousel:hover{
    background-color: rgba(151,194,30,0.8);
    color: #eee;
}

/*SECCION DE VIDEOS TUTORIALES DE GUIA*/
.video_guia_tutorial{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 1rem;
    max-width: 1250px;
    width: 95%;
    margin: 0 auto;
    position: relative;
}
.video_guia_tutorial .video-container h2{
    font-size: 1.5rem;
    color: var(--color-titulo-contenido);
    text-align: center;
}
.video_guia_tutorial .video-container iframe{
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 15px;
    max-width: 600px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}



/* Estilos para pantallas menores a 600px */
@media (max-width: 599px) {
    .elemento {
        flex: 0 0 calc(50% - 20px); /* es el tamaño base del elemento mas espaciado, osea que cada elemento tendra que tamaño de 50% del ancho madre menos 20px que se usara para su separación entre elementos*/
        height: 80px;
    }
    .carousel_clientes{
        height: 120px;
    }
}
/* Estilos para pantallas de 600px a 899px */
@media (min-width: 600px) and (max-width: 999px) {
    .elemento {
        flex: 0 0 calc(100%/3 - 20px); /* 2 elementos por fila con espaciado de 20px entre elemento, osea en total entre los elementos se tendra un espaciado de 40px*/
        height: 80px;
    }
    .carousel_clientes{
        height: 120px;
    }
}
/* Estilos para pantallas de 900px a 1199px */
@media (min-width: 1000px) and (max-width: 1199px) {
    .elemento {
        flex: 0 0 calc(25% - 20px); /* 3 elementos por fila con espaciado */
        height: 90px;
    }
    .carousel_clientes{
        height: 130px;
    }
}
/* Estilos para pantallas de 1200px a 1499px */
@media (min-width: 1200px) and (max-width: 1499px) {
    .elemento {
        flex: 0 0 calc(20% - 20px); /* 4 elementos por fila con espaciado */
        height: 100px;
    }
    .carousel_clientes{
        height: 140px;
    }
}
/* Estilos para pantallas de 1500px en adelante */
@media (min-width: 1500px) {
    .elemento {
        flex: 0 0 calc(100%/6 - 20px); /* 5 elementos por fila con espaciado */
    }
}











@media screen and (max-width: 1200px){
    .carousel{
        height: 450px;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1.8rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 3.5rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 1rem;
    }
}
@media screen and (max-width: 1000px){
    .carousel{
        height: 450px;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1.4rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 2.8rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 0.9rem;
    }
}
@media screen and (max-width: 800px){
    .carousel .item{
        width: 80%;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1.3rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 2.5rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 0.8rem;
    }
    .video_guia_tutorial{
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 0.5rem;
    }
    .video_guia_tutorial .video-container h2{
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 600px){
    .carousel{
        height: 400px;
    }
    .carousel .item{
        width: 90%;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1.3rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 2.5rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 0.8rem;
    }
}
/*@media screen and (max-width: 500px){
    .carousel{
        height: 320px;
    }
    .carousel .item{
        width: 95%;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1.3rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 2.5rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 0.8rem;
    }
}*/
@media screen and (max-width: 500px){
    .carousel{
        height: 350px;
    }
    .carousel .item{
        width: 100%;
    }
    .carousel .carousel_items .item .introduccion h2{
        font-size: 1rem;

    }
    .carousel .carousel_items .item .introduccion h3{
        font-size: 2rem;
    }
    .carousel .carousel_items .item .introduccion p{
        font-size: 0.7rem;
    }
    .carousel .carousel_items .item .introduccion .checkout button{
        font-size: 0.5rem;
        padding:  5px 0;
    }
}