@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap');

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

.hiddenTop {
    width: 70% !important;
    position: absolute;
    height: 1rem;
    top: -10rem;
    background: #5ba2af;
    visibility: hidden;
}

:root {

    --primary-color: #5ba2af;
    --second-color: #757575;
    --text-black: #000;
    --texto-blanco: #fff;
    --titulo_g: 2rem;
    --textos_g: 16px;

    --titulos_m: 18px;
    --textos_m: 16px;

    --titulos_p: 16px;
    --textos_p: 14px;

}

body {
    font-family: 'Montserrat', sans-serif;
}

.top_header {
    background: none;
    height: 80px;
    position: sticky;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}

.top_header.white {
    background: #2C3B50;
    box-shadow: 1px 0px 9px 0px rgba(0, 0, 0, 0.75);
}

.img_logo {
    width: 100%;
    height: 5rem;
    position: relative;
}

.top_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 0 2rem;
    background: #fff;
    box-shadow: 0px 0px 15px 1px #8080809e;
    z-index: 1040;
}

.contacto {
    background: var(--primary-color);
    border-radius: 2em;
    border: none;
    color: var(--texto-blanco);
    cursor: pointer;
    font-size: var(--textos_g);
    text-decoration: none;
    text-align: center;
    margin: auto 20px;
    width: 10rem;
    height: 2.5rem;
    transition: 0.5s;
    cursor: pointer;
}

.contacto i {
    color: var(--texto-blanco);
}

.contacto:hover {
    background: #000;
    color: #fff;
    box-shadow: 0px 0px 10px 0px #fff;
}

.contacto a {
    text-decoration: none;
    color: inherit;
}

.contacto a:hover {
    color: #ffffff;
}

.menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu .options {
    padding: 0px 20px;

}

.links {
    text-decoration: none;
    color: var(--white1);
    font-weight: 500;
    line-height: 80px;
    transition: 0.5s;
    font-size: var(--textos_g);
}

.links:hover {
    color: var(--primary-color);
    text-decoration: underline;
    padding: 5px;
}

.abrir_menu,
.cerrar_menu {
    display: none;
}

/* SECCIÓN HEADER CARRUSEL */
.sectionHeader {
    width: 100%;
    height: 45rem;
}

.imgCarrHeader {
    width: 100%;
    height: 40rem;
}

.owl-carousel {
    display: none;
    width: 100%;
    z-index: 0;
    height: 100%;
}

.itemCarrA {
    background: url(../IMAGENES/Car01.jpeg);
    height: 45rem;
    background-size: cover;
    background-position-y: 0%;
}

.contTxtHeader {
    width: 55%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 10%;
    color: #fff;
    text-align: right;
}

.contTxtHeader h2 {
    font-size: 4rem;
    text-shadow: 1px 1px black;
    font-weight: 500;
}

.contTxtHeader p {
    text-align: right;
    width: 100%;
    font-size: 2rem;
    color: white;
    text-shadow: 3px 2px #424242;
}

.itemCarrB {
    background: url(../IMAGENES/Car02.jpeg);
    height: 45rem;
    background-size: cover;
    background-position-y: 75%;
}

.itemCarrC {
    background: url(../IMAGENES/Car03.jpeg);
    height: 45rem;
    background-size: cover;
    background-position-y: 46%;
}

.sectionNosotros {
    width: 100%;
    height: auto;
    background: #fff;
    position: relative;
    padding: 18rem 4rem 12rem 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
}

.contIntro {
    width: 80rem;
    height: 15rem;
    background: transparent;
    margin: 0 auto;
    position: absolute;
    top: -4.5rem;
    left: calc(50% - 40rem);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    min-width: 80rem;
}

.contIntro img {
    position: relative;
    top: -2rem;
    z-index: 2;
}

.txtNosotros {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    border-radius: 5px;
    position: relative;
    z-index: 1;
}

.txtNosotros::before {
    content: '';
    position: absolute;
    width: 50%;
    height: 90%;
    top: 6%;
    left: -5%;
    background: #5ba2af;
    z-index: -1;
    box-shadow: 0px 0px 15px 0px #80808021;
}

.txtNosotros.changeBg::before {
    background: #0096c7;
}

.txtNosotros::after {
    content: '';
    position: absolute;
    width: 60%;
    height: 90%;
    top: 12%;
    right: 2%;
    background: #282828;
    z-index: -2;
    box-shadow: 0px 0px 15px 0px #0000005e;
}

.contIntro h2 {
    font-size: 2rem;
    color: #fff;
}

.contIntro p {
    line-height: 2rem;
    font-size: 20px;
    margin-top: 1rem;
    font-weight: 500;
    color: #fff;
    text-align: justify;
}

.owl-dots {
    text-align: center;
    z-index: 1040;
    position: absolute;
    transform: rotate(90deg);
    right: 0;
    bottom: 2rem;
}

.owl-dots button span {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #ffd300;
    margin: 4px;
    border-radius: 50%;
    opacity: 0.2;
}

.owl-dots button.active span {
    opacity: 1;
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
}

.owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    justify-content: space-between;
    width: 95%;
    left: calc(50% - 47.5%);
}

.owl-nav button span {
    background-color: transparent;
    font-size: 60px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-family: inherit;
    font-weight: bolder;
    font-weight: 200;
    color: var(--primary-color);
}

/* TERMINA SECCIÓN HEADER CARRUSEL */


/* SECCION NUESTRA VISIÓN */
.contVision {
    width: 30%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}

.contVision::before {
    content: '';
    position: absolute;
    width: 20rem;
    height: 15rem;
    top: 0;
    left: 0;
    background: #5ba2af;
    z-index: -1;
    left: calc(50% - 10rem);
    top: calc(50% - 7.5rem);
    transform: rotate(45deg);
    opacity: 0.5;
}

.contVision.changeBg::before{
    background: #0096c7;
}


.contVision h2 {
    font-size: 25px;
    color: #3c3c3c;
    font-weight: 700;
    margin-bottom: 2rem;
}

.contVision p {
    font-size: 18px;
    color: #000000;
    line-height: 2.5rem;
    font-style: italic;
}

.imgVision {
    width: 50%;
    z-index: 1;
}

/* TERMINA SECCION NUESTRA VISIÓN */

/* INICIA SECCIÓN PRODUCTOS */
.sectionProductos {
    width: 100%;
    height: auto;
    background: #f7f7f7a3;
    position: relative;
    display: flex;
    padding: 11rem 0rem 8rem 0rem;
}

/* .sectionProductos::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url(../IMAGENES/bgProductos.jpeg);
    z-index: -1;
    opacity: 0.2;
    background-size: 100%;
    background-position-y: 29%;
} */

.sectionProductos h2 {
    font-size: 2rem;
    position: absolute;
    z-index: 0;
    text-align: center;
    padding: 2rem;
    background: gray;
    width: 50%;
    top: -30px;
    left: 0;
}

.sectionProductos h2::before {
    content: 'PRODUCTOS';
    position: absolute;
    width: 98%;
    height: 100%;
    top: 1.5rem;
    left: 0;
    background: black;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    box-shadow: 0px 0px 15px 0px #878787;
}

.conIconsPrducts {
    width: 50%;
    height: 100%;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4rem;
}

.contTxtProductos {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0rem 6rem;
}

.contTxtProductos p i {
    color: #5ba2af;
    margin-right: 0.5rem;
    position: relative;
    top: 0px;
}

.contTxtProductos img {
    width: 25rem;
    margin-top: 3rem;
}

.contTxtProductos p {
    position: relative;
    z-index: 0;
    line-height: 3rem;
    font-size: 20px;
    text-align: left;
    font-weight: 600;
}

.conIconsPrducts ul {
    width: 100%;
}

.conIconsPrducts ul li {
    display: flex;
    align-items: center;
    text-align: left;
    margin-bottom: 2rem;
    font-size: 20px;
}

.banerIcon {
    width: 3rem;
    height: 3rem;
}

.banerIcon {
    width: 3.4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    margin-right: 1rem;
    position: relative;
    z-index: 0;
}

.banerIcon::before {
    content: '';
    position: absolute;
    width: 0px;
    height: 3rem;
    border-left: 0;
    border-right: 55px solid #f3c900;
    border-bottom: 1rem solid transparent;
    top: 0;
    left: 0;
    z-index: -1;
}

.banerIcon span i {
    position: relative;
    top: -7px;
}

.banerIcon span {
    color: #fff;
    width: 3.4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-shadow: 1px 1px #626262;
}

/* TERMINA SECCIÓN PRODUCTOS */

/* INICIA SECCIÓN BENEFICIOS CLIENTE */
.sectionCards {
    width: 100%;
    height: auto;
    background: #fff;
    position: relative;
    padding: 10rem 2rem 10rem 2rem;
}

.tituloBeneficios {
    font-size: 2rem;
    position: absolute;
    z-index: 0;
    text-align: center;
    padding: 2rem;
    background: gray;
    width: 50%;
    top: -30px;
    right: 0;
}

.tituloBeneficios::before {
    content: 'BENEFICIOS DEL CLIENTE';
    position: absolute;
    width: 98%;
    height: 100%;
    top: 1.5rem;
    right: 0;
    background: black;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    box-shadow: 0px 0px 15px 0px #878787;
}

.txtBeneficios {
    width: 50%;
    margin: 0 auto 4rem auto;
    text-align: center;
    font-family: inherit;
    font-size: 20px;
    text-transform: uppercase;
    line-height: 2.5rem;
    font-weight: 600;
}

.txtBeneficios span {
    color: #5ba2af;
    font-weight: 600;
}

.contTarjets {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, auto));
    grid-template-rows: 18rem;
    column-gap: 3rem;
    row-gap: 4rem;
    place-content: center;
    align-items: center;
    justify-items: center;
}

.contTarjet {
    width: 18rem;
    height: 18rem;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 2rem;
    position: relative;
    z-index: 0;
}

.contTarjet::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: -0.5rem;
    left: -0.5rem;
    background: #ffffff;
    box-shadow: 0px 0px 20px 0px #d5d5d5;
    z-index: -1;
}

.scIcon {
    width: 4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.scIcon::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: -10px;
    left: 20px;
    background: #5ba2af;
    border-radius: 50%;
    opacity: 0.2;
}

.scIcon i {
    color: #5ba2af;
    font-size: 49px;
    position: relative;
}

.txtDescrip {
    font-size: 16px;
    font-weight: 300;
    margin-top: 1rem;
    line-height: 1.7rem;
}

.txtDescrip span {
    font-weight: bold;
}

/* TERMINA SECCION BENEFICIOS CLIENTE */

/* INICIA SECCION SOCIOS */
.sectionSocios {
    width: 80%;
    height: auto;
    padding: 6rem 2rem 6rem 2rem;
    margin: 0 auto;
    position: relative;
    border-top: 1px solid #808080ab;
}

.contImage {
    width: 100%;
    height: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sectionSocios h2 {
    font-size: 2rem;
    position: absolute;
    z-index: 0;
    text-align: center;
    padding: 2rem;
    background: gray;
    width: 50%;
    top: -30px;
    left: calc(50% - 25%);
}

.sectionSocios h2::before {
    content: 'SOCIOS';
    position: absolute;
    width: 94%;
    height: 100%;
    top: 13px;
    left: calc(50% - 47%);
    background: black;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    box-shadow: 0px 0px 15px 0px #878787;
}

.sectionSocios img {
    width: 100%;
    height: auto;
    filter: grayscale(1);
}

/* TERMINA SECCIÓN SOCIOS */

/* INICIA SECCIÓN DE CONTACTO */
.sectionContacto {
    width: 100%;
    height: auto;
    padding: 5rem 4rem 4rem 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 5px 20px 0px #00000042;
}

.contTextoCnt {
    width: 40rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 45rem;
    margin-right: 2rem;
}

.contTextoCnt h2 {
    font-size: 4rem;
}

.contTextoCnt hr {
    width: 40%;
    height: 4px;
    background: #5ba2af;
    margin-bottom: 2rem;
}

.contTextoCnt p {
    font-size: 2rem;
    color: gray;
    margin-top: 1rem;
}

.contTextoCnt img {
    width: 30rem;
    margin-top: 0.5rem;
}

.contForm {
    width: 40rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: transparent;
    padding: 3rem 2rem 2rem 2rem;
    box-shadow: 10px 10px 0px 5px #80808033;
    border-radius: 5px;
    border: 2px solid #5ba2af;
    position: relative;
}

.linesTop {
    position: absolute;
    top: -0.8rem;
    left: 1rem;
    background: #fff;
    width: 10rem;
    padding: 0 10px;
}

.contField {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.contField label {
    position: absolute;
    top: -10px;
    left: 2rem;
    padding: 0 1rem;
    background: #fff;
    font-size: 16px;
}

.contField input {
    width: 95%;
    background: #fff;
    border: 2px solid #5ba2af;
    border-radius: 5px;
    margin-bottom: 3rem;
    padding: 16px;
    font-size: 16px;
    font-weight: 100;
    font-family: inherit;
    color: gray;
}

.contField input:focus,
.contField textarea:focus {
    outline: none;
    background: linear-gradient(90deg, #ffffff00 60%, #5ba2af1c);
}

.contField textarea {
    width: 95%;
    height: 15rem;
    background: none;
    border: 2px solid #5ba2af;
    border-radius: 5px;
    margin-bottom: 1rem;
    padding: 16px;
    font-size: 16px;
    font-family: inherit;
    color: gray;
}

.contForm button {
    width: 15rem;
    height: 3rem;
    background: #5ba2af;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    margin-top: 1rem;
    cursor: pointer;
    transition: 0.5s;
}

.contForm button:hover {
    background: #424242;
}

/* TERMINA SECCIÓN DE CONTACTO */
@media(max-width: 1400px) {
    .contacto {
        margin: auto 10px;
    }

    .owl-dots {
        bottom: 6rem;
    }

    .contIntro {
        width: 74rem;
        left: calc(50% - 37rem);
        min-width: 74rem;
    }

    .contVision {
        width: 50%;
    }
}

@media (max-width: 1200px) {

    /* MEDIA DEL MENU */
    .menu {
        flex-direction: column;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        align-items: center;
        background-color: var(--black1);
        height: 100%;
        overflow-y: auto;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.6s;
    }

    .menu .options {
        padding: 0;
    }

    .top_nav {
        padding: 0 0rem;
    }

    .links {
        text-decoration: none;
        font-family: 'Montserrat', sans-serif;
        color: var(--white1);
        font-weight: 500;
        line-height: 60px;

    }

    .abrir_menu,
    .cerrar_menu {
        display: block;
        color: var(--white1);
        border: none;
        background: none;
        cursor: pointer;
        font-size: 30px;
    }

    .abrir_menu {
        padding: 25px 25px;
    }

    .cerrar_menu {
        align-self: flex-end;
        padding: 25px 28px;
        position: absolute;
        top: 0rem;
        right: 0rem;
    }

    .menu_abierto {
        opacity: 1;
        pointer-events: all;
        background: #fff;
        width: 100%;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .abrir_menu:focus:not(:focus-visible),
    .cerrar_menu:focus:not(:focus-visible) {
        outline: none;
    }

    /* TERMINA MEDIA DEL MENU */

    .sectionNosotros {
        padding: 17rem 4rem 12rem 4rem;
        flex-direction: column;
    }

    .contIntro img {
        display: none;
    }

    .contIntro {
        width: 50rem;
        left: calc(50% - 24.5rem);
        /* position: relative; */
        min-width: 50rem;
    }

    .txtNosotros::before {
        left: -2%;
    }

    .contVision {
        width: 75%;
        margin-top: 5rem;
    }

    .sectionProductos {
        flex-direction: column;
        padding: 6rem 0;
    }

    .contTxtProductos {
        width: 100%;
        padding: 0rem 2rem;
    }

    .conIconsPrducts {
        width: 100%;
        padding: 0 2rem;
        margin-top: 3rem;
    }

    .sectionContacto {
        flex-direction: column;
    }

    .contTextoCnt img {
        display: none;
    }

    .contTextoCnt {
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .sectionSocios {
        width: 90%;
    }
}

@media (max-width: 992px) {
    .contTxtHeader h2 {
        font-size: 3rem;
    }

    .contTxtHeader p {
        font-size: 1.7rem;
    }

    .contIntro {
        width: 44rem;
        left: calc(50% - 22rem);
        min-width: 44rem;
    }

    .contIntro h2 {
        font-size: 20px;
    }

    .contIntro p {
        font-size: 18px;
    }

    .txtNosotros::before {
        left: 0%;
    }

    .txtNosotros::after {
        right: 0%;
    }

    .contVision h2 {
        font-size: 20px;
    }

    .contVision {
        width: 100%;
        margin-top: 5rem;
    }

    .imgVision {
        width: 80%;
        margin-top: 3rem;
    }

    .sectionProductos h2 {
        font-size: 24px;
        width: 80%;
    }

    .contTxtProductos p {
        font-size: 18px;
    }

    .conIconsPrducts ul li {
        font-size: 18px;
    }

    .tituloBeneficios {
        font-size: 24px;
        width: 80%;
    }

    .txtBeneficios {
        width: 80%;
    }

    .contTextoCnt h2 {
        font-size: 3rem;
    }

    .contTextoCnt p {
        font-size: 1.7rem;
        margin-top: 0px;
    }
}

@media (max-width: 768px) {
    .contTxtHeader h2 {
        font-size: 2.5rem;
    }

    .sectionNosotros {
        padding: 7rem 4rem 7rem 4rem;
    }

    .contIntro {
        width: 30rem;
        height: 100%;
        left: 0;
        min-width: 30rem;
        position: relative;
    }

    .contIntro h2 {
        font-size: 18px;
    }

    .contIntro p {
        font-size: 16px;
    }

    .contVision h2 {
        font-size: 18px;
    }

    .contVision p {
        font-size: 16px;
    }

    .sectionProductos h2 {
        font-size: 20px;
        width: 80%;
        padding: 1.5rem;
    }

    .sectionProductos h2::before {
        top: 15px;
    }

    .contTxtProductos p {
        font-size: 16px;
        text-align: justify;
        line-height: 2rem;
    }

    .conIconsPrducts ul li {
        font-size: 16px;
    }

    .banerIcon {
        margin-right: 2rem;
        z-index: 0;
    }

    .tituloBeneficios {
        font-size: 20px;
        width: 80%;
        padding: 1.5rem;
    }

    .tituloBeneficios::before {
        top: 13px;
    }

    .sectionCards {
        padding: 6rem 2rem 6rem 2rem;
    }

    .contForm {
        width: 30rem;
    }

    .contTextoCnt h2 {
        font-size: 2.5rem;
    }

    .contTextoCnt p {
        font-size: 1.5rem;
    }

    .contTextoCnt {
        width: 90%;
        text-align: center;
    }

    .sectionSocios h2 {
        width: 70%;
        left: calc(50% - 35%);
        font-size: 20px;
        padding: 1.5rem;
    }

    .sectionSocios h2::before {
        top: 6px;
    }

    .sectionSocios {
        padding: 4rem 2rem 4rem 2rem;
    }

    .contImage {
        width: 100%;
        height: 15rem;
    }

    .owl-carousel .owl-item img {
        height: 100%;
    }

    .sectionContacto {
        padding: 4rem 4rem 4rem 4rem;
    }
}

@media (max-width: 576px) {
    .contTxtHeader h2 {
        font-size: 24px;
    }

    .contTxtHeader p {
        font-size: 18px;
    }

    .itemCarrA {
        background-position: center;
    }

    .itemCarrB {
        background-position: center;
    }

    .itemCarrC {
        background-position: center;
    }

    .contVision::before {
        width: 15rem;
        height: 15rem;
        left: calc(50% - 7.5rem);
        top: calc(50% - 7.5rem);
    }

    .contIntro {
        width: 290px;
        height: 100%;
        left: 0%;
        min-width: 250px;
        position: relative !important;
        top: 0;
        margin: 0 auto;
    }

    .sectionNosotros {
        padding: 3rem 3rem 6rem 3rem;
    }

    .sectionProductos h2 {
        width: 90%;
    }

    .txtNosotros::before {
        height: 100%;
        top: 0%;
        left: -2%;
    }

    .txtNosotros::after {
        width: 60%;
        height: 100%;
        top: 0%;
    }

    .contTxtProductos img {
        width: 90%;
        margin-top: 3rem;
    }

    .tituloBeneficios {
        width: 90%;
    }

    .contForm {
        width: 19rem;
    }

    .contTextoCnt h2 {
        font-size: 25px;
    }

    .contTextoCnt hr {
        margin-bottom: 1rem;
    }

    .contTextoCnt p {
        font-size: 18px;
        width: 18rem;
    }

    .contField input {
        padding: 10px;
    }

    .sectionContacto {
        padding: 4rem 1rem;
    }

    .contForm {
        width: 100%;
        padding: 2rem 1rem;
    }

    .contField textarea {
        height: 10rem;
    }
}