



/*-------------------------------------
            GENERALES
-------------------------------------*/
.padGenSect{
    padding:80px 0px;
}

.bgSilverLight{
    background-color:var(--silverLight);
}

/*-------------------------------------
            Efectos
-------------------------------------*/
    .efectoOthers{
        width:100%;
        display: flex;
        justify-content: space-between;
    }

    .controlImgEfectOthers{
        display:flex;
        justify-content:center;
        align-items: center;
        width:100px;
        height:auto;
    }

    .controlImgEfectOthers img {
        width: 100%;
        height: auto;
    }

    .efectw100{
        width:100%;
    }

    .controlImgEfectW100{
        width:100%;
        height:auto;
    }

    .controlImgEfectW100 img {
        width: 100%;
        height: auto;
    }


/*-------------------------------------
    BANNER SUPERIOR EN SECCIONES
-------------------------------------*/
.bannerSuperior{
    width:100%;
    height:auto;
    position: relative;
    padding-top:75px;
}
.controlImgBannerSuperior{
    width:100%;
    height:auto;
}

.controlImgBannerSuperior img{
    width:100%;
    height:100%;
    display:block;
}


.bannerSuperior .fondoDegraSobreBanner{
    width:100%;
    height:100%;
    padding-top:90px;
    position:absolute;
    top:0px;
    left:0px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: #00000015;
    background-blend-mode: multiply;
    background: -webkit-linear-gradient(90deg, #00000015 0%, rgba(0, 0, 0, 0) 100%);
    background: -moz-linear-gradient(90deg, #00000015 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(90deg, #00000015, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}


.infoSobreBanner{
    width:100%;
    display:flex;
    justify-content:left;
    height:auto;
    max-width:1350px;
    color:var(--white);
    height:auto;
    padding:20px;
    flex-wrap:wrap;
}
.infoSobreBanner h1{
    font-size:50px;
    line-height:55px;
    font-weight:700;
    margin:0px;
    padding:0px;
    margin-bottom:10px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.infoSobreBanner .flexReturn{
    display:flex;
}

.flexReturn{
    width:100%;
    display:flex;
    align-items:center;
    height:35px;
    gap:10px;
    font-size:23px;
}

.flexReturn a{
    color:var(--white);
    text-decoration:none;
    border-radius:5px;
}

.flexReturn i{
    font-size:10px;
}



/*-----------------------------------
            Inicio
------------------------------------*/
.flexImageContentInfo{
    display:flex;
    justify-content:space-between;
    gap:40px;
    align-items:center;
    width:100%;
}

.containerImgII{
    width:48%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    height:auto;
}

.containerImgII img{
    width:100%;
    height:100%;
}


.containerTT{
    width:48%;
    display:flex;
    justify-content:left;
    align-items:center;
    height:auto;
    flex-wrap:wrap;
}

.containerTT span{
   width:100%;
   color:var(--principal);
   font-size:15px;
   font-weight:600;
}

.containerTT h1{
    font-size:32px;line-height:1.2;
    color:var(--silver);
    font-weight:900;width:100%;
}


.containerTT h2{
    font-size:25px;line-height:1.2;
    color:var(--silver);
    font-weight:700;width:100%;
}

.containerTT h1 span{
    font-size:34px;
    color:var(--principal);
    font-weight:900;
}

.infoContainerTT{
    padding:10px 0px;
    font-size:16px;
}

.flexCentered{
    display:flex;
    justify-content:center;
    align-items: center;
}

.infoContainerTTT{
    padding:30px 0px;
    font-size:16px;
    width:70%;text-align:center;
    color:var(--silver);
}


.flexValoresTT{
    display:flex;
    justify-content:left;
    align-items:start;
    flex-wrap:wrap;
    gap:10px 40px;
    width:55%;
    padding-top:10px;
}

    .iconValorTT{
        width:40%;
        height: auto;
        display:flex;
        justify-content:left;
        align-items:center;
        gap:10px;
    }

    .iconValorTT i{
        color: var(--principal);
    }

.wBtnGeneralWeb{
    width:100%;
    padding:20px 0px;
}

.btnGeneralWeb button{
    padding:12px 40px;
    background-color:var(--principal);
    color:var(--white);
    border:none;
    outline:none;
    border-radius:5px;
    cursor: pointer;
}

.btnGeneralWebTwo{
    width:100%;
    padding:20px 0px;
}

.btnGeneralWebTwo button{
    padding:10px 42px;
    background-color:var(--silverLight);
    color:var(--principal);
    border:1.5px solid var(--principal);
    outline:none;
    border-radius:25px;
    font-weight:500;
    cursor: pointer;
    transition:all ease .3s;
}

.btnGeneralWebTwo button:hover{
    background-color:var(--principal);
    color:var(--white);
}

.proyectEnfDelPeru:hover .btnGeneralWebTwo button{
    background-color:var(--principal);
    color:var(--white);
}


.proyectEnfDelPeru:hover .containerImgProyect img{
    transform: scale(1.1);
}






.wBtnGeneralWebTwoT{
    width:100%;
    padding:20px 0px;
    display: flex;
    justify-content: space-between;
    padding-top:0px;
}

.btnGeneralWebTwoT button{
    padding:15px 40px;
    background-color:var(--principal);
    color:var(--white);
    border:none;
    outline:none;
    font-size:16px;
    border-radius:5px;
    cursor: pointer;
}



        .equipo-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            max-width: 1200px;
            margin: 60px auto;
            margin-bottom:100px;
        }

        .miembro-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            width: 300px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .miembro-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
        }

        .imagen-contenedor {
            width: 100%;
            height: 250px;
            overflow: hidden;
            position: relative;
        }

        .imagen-contenedor img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .miembro-card:hover .imagen-contenedor img {
            transform: scale(1.05);
        }

        .miembro-info {
            padding: 25px;
            text-align: center;
        }

        .miembro-nombre {
            font-size: 1.4em;
            font-weight: bold;
            color: #2d3748;
            margin-bottom: 10px;
        }

        .miembro-cargo {
            color: #4a5568;
            font-weight: 600;
            margin-bottom: 15px;
            font-size: 0.95em;
        }

        .miembro-descripcion {
            color: #718096;
            line-height: 1.6;
            margin-bottom: 20px;
            font-size: 0.9em;
        }

        .whatsapp-btn {
            display: block;
            width: 100%;
            background: linear-gradient(135deg, #25D366, var(--principal));
            color: white;
            text-decoration: none;
            padding: 12px 20px;
            border-radius: 8px;
            text-align: center;
            font-weight: bold;
            transition: background 0.3s ease;
            border: none;
            cursor: pointer;
        }

        .whatsapp-btn:hover {
            background: linear-gradient(135deg, #128C7E, var(--principal));
            transform: translateY(-2px);
        }

        .whatsapp-btn i {
            margin-right: 8px;
        }

        @media (max-width: 768px) {
            .equipo-container {
                gap: 20px;
            }

            .miembro-card {
                width: 100%;
                max-width: 350px;
            }
        }

/*-------------*/
.bannerInSection{
    width:100%;
    height:auto;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}


.fondoSobreBannerInSection{
    width:100%;
    height:100%;
    top: 0px;
    left: 0px;
    background-color:#046fc7ce;
}

.infoSobreBannerInSection{
    display:flex;
    justify-content:space-around;
    padding:20px 0px;
}

.counterAddnfoShow{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    text-align:center;
    color:var(--white);
    width:150px;
}

.counterAddnfoShow .number{
    font-size:45px;
    width:100%;
    font-weight:800;
    padding-top:10px;
}

.counterAddnfoShow span{
    font-size:45px;
    width:100%;
    font-weight:800;
    color:yellow;
}

.counterAddnfoShow p{
    font-size:20px;
    font-weight:500;
    line-height:1.2;
}


/*-------------------------------
         SERVICIOS
--------------------------------*/
.containerWidthEffect{
    position: relative;
}

.h3subtitle{
    font-size:40px;
    text-align:center;
    color:var(--principal);
    line-height:1;
}

.upD{
    margin-top:-300px;
    margin-bottom:100px;
}

.h3subtitleTwo{
    font-size:40px;
    text-align:center;
    color:var(--white);
    line-height:1;
    padding-top:30px;
}


/*---------------------------------
          Brands
----------------------------------*/
.brandItemSlide{
    width:160px;
    height:120px;
    /*background-color:var(--white);*/
    background-color:transparent;
    display:flex;
    border-radius:5px;
    justify-content:center;
    align-items:center;
    overflow: hidden;
}

.brandItemSlide img{
    width:100%;
    height:100%;
}


.flexBrandsGen{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    padding-top:20px;
}
.brandItemSlideTwo{
    width:180px;
    height:140px;
    background-color:var(--white);
    display:flex;
    border-radius:5px;
    justify-content:center;
    align-items:center;
    overflow: hidden;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.brandItemSlideTwo img{
    width:100%;
    height:100%;
}


/*------------------------------------
             Nosotros
-------------------------------------*/
    .flexMisionVision{
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:40px;
    }

    .MvItem{
        width:100%;
        height:auto;
        width:60%;
    }

    .MvItem h2{
        color:var(--principal);
        font-weight:900;
        padding:10px 0px;
    }

    .MvItem .textMision{
        background-color:var(--white);
        padding:15px;
        border-radius:10px;
        border:1px solid var(--silverDark);
        color:var(--silver);
        transition:all ease .3s;
    }
    .MvItem:hover .textMision{
        color:var(--black)
    }

    .ContainerMvItem{
        width:47%;
        height:100%;
    }

     .ContainerMvItem img{
        width:100%;
        height:100%;
    }


    .flexRazones{
        display:flex;
        justify-content:center;
        align-content:center;
        gap:40px;
        margin-bottom:80px;
    }

    .itemRazon{
        width:25%;
        display:flex;
        align-items:center;
        height:auto;
        flex-wrap:wrap;
        gap:25px;
    }

    .flexUnoR{
        width:100%;
        height:auto;
        display:flex;
        align-items:center;
        text-align:right;
        gap:15px;
    }

    .flexUnoD{
        width:100%;
        height:auto;
        display:flex;
        align-items:center;
        text-align:left;
        gap:15px;
    }

    .flexUnoR h4, .flexUnoD h4{
        padding-bottom:5px;
    }

    .flexUnoR i, .flexUnoD i{
        color:var(--principal);
        font-size:24px;
    }

    .containerItemRazon{
        width:25%;
        height:auto;
    }

    .containerItemRazon img{
        width:100%;
        height:100%;
    }

    .flexUnoR .blockInRespons{
        display:none;
    }



/*-----------------------------------
            Contact
------------------------------------*/

.flexImgInfoContacto{
    display: flex;
    justify-content:space-between;
    align-items: start;
    flex-wrap:wrap;
    gap:20px;
    padding:0px 0px;
    color:var(--silver);
}

.infoTitleContacto{
    width:58%;
}

.containerImgContacto{
    width:35%;
}



.infoTitleContacto h2, .containerImgContacto h2{
    color:var(--principal);
    font-weight:700;
    font-size:35px;
    line-height:43px;
    display:block;
    margin-top:-5px;
    margin-bottom:15px;
}

/* -- Contacto --*/
.formEnfDelPeru{
    width:100%;
    margin-top:40px;
}

.formEnfDelPeru .flexInputLabelEnf{
    display: flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px;
    flex-wrap:wrap;
}

.formEnfDelPeru .flexInputLabelEnf .inputLabel{
    width:48%;
}


.formEnfDelPeru .flexInputLabelEnf .inputLabel label{
    width:100%;
}


.formEnfDelPeru .flexInputLabelEnf .inputLabel label span{
    color:var(--red);
}

.formEnfDelPeru .flexInputLabelEnf .inputLabel input{
    width:100%;
    padding:10px;
    border:none;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    outline:none;
    margin-top:5px;
    transition: all ease .3s;
}


.formEnfDelPeru .flexInputLabelEnf .inputLabel select{
    width:100%;
    padding:10px;
    border:none;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    outline:none;
    margin-top:5px;
    transition: all ease .3s;
}

.formEnfDelPeru .flexInputLabelEnf .inputLabel input:focus{
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    border-radius:5px;
}

.checkBoxFormEnf{
    width:100%;
    margin:20px 0px;
}


.formEnfDelPeru .controlLabelTextAreaEnf{
    width:100%; max-width: 100%;min-width: 100%;
}

.formEnfDelPeru .controlLabelTextAreaEnf label{
    width:100%;
}


.formEnfDelPeru .controlLabelTextAreaEnf label span{
    color:var(--red);
}

.formEnfDelPeru .controlLabelTextAreaEnf textarea{
    width:100%;max-width: 100%;min-width: 100%;
    height:auto;min-height:150px;
    padding:10px;
    border:none;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    outline:none;
    margin-top:5px;
    transition: all ease .3s;
}


.formEnfDelPeru .controlLabelTextAreaEnf textarea:focus{
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    border-radius:5px;
}

.btnEmailEnf{
    width:100%;
    background-color:var(--principal);
    padding:15px 20px;
    font-weight:600;
    color:var(--white);
    font-size:20px;
    border:none;
    border-radius:5px;
    cursor: pointer;
    transition:all ease .3s;
}

.btnEmailEnf:hover{
    background-color:var(--principalHover);
}

.controlIframeMapEnfDelPeru{
    width:100%;
    height:300px;
    margin:40px 0px;
    background-color: var(--white);
    padding:10px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    border-radius:5px;
    transition: all ease .3s;
}


.controlIframeMapEnfDelPeru iframe{
    width:100%;
    height:100%;
}

.containerImgContacto h3{
    font-size:30px;
    color:var(--principal);
}

.itemEnfEs{
    margin:10px 0px;
    margin-bottom:20px;
}

.itemEnfEs h4{
    font-size:16px;
}
.itemEnfEs .flexItemContactO{
    display:flex;
    justify-content:left;
    align-items: center;
    margin:5px 0px;
    gap:10px;
    color:var(--silver);
}

.itemEnfEs .flexItemContactO .iconItemContactO{
    color:var(--principal);
}


/*-- Mensaje de error en los input --*/
.error-message {
    color: red;
    font-size: 0.875rem;
    margin-top: 4px;
}

/* Overlay de envio de email */
#loadingOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.overlayBackground {
    position: absolute;
    width: 100%;
    height: 100%;
	background-color: rgba(0, 0, 0, 0.219);
}

.spinnerLoader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 4px solid var(--white);
    border-top: 4px solid var(--principal);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}








@media(max-width:2750px){.upD{margin-top:-250px;}}
@media(max-width:2400px){.upD{margin-top:-200px;}}
@media(max-width:2250px){.upD{margin-top:-150px;}}
@media(max-width:1750px){.upD{margin-top:-100px;}}
@media(max-width:1370px){.upD{margin-top:-50px;}}
@media(max-width:1010px){.upD{margin-top:0px !important;}}



@media(max-width:1200px){
.flexImageContentInfo{justify-content:center;}
.containerImgII{width:40%;}
}


@media(max-width:1024px){
    /* Brands*/
    .brandItemSlide{
        width:auto;
        height:auto;
    }
    /* Brands*/
}


@media(max-width:900px){
    /*-- inicio --*/
    .flexImageContentInfo{
        flex-wrap:wrap-reverse;
    }
    .containerImgII,.containerTT{
        width:100%;
    }
    /*-- Fin de inicio --*/

    .infoTitleContacto, .containerImgContacto{
        width:100%;
    }

    .containerImgContacto h2,.containerImgContacto h3{
        padding-top:40px;
    }


    .infoSobreBannerInSection{
        flex-wrap: wrap;
    }

    /*-- Nosotros --*/

    .flexMisionVision,.flexRazones{
        flex-wrap:wrap;
    }

    .MvItem,.ContainerMvItem,.itemRazon,.containerItemRazon{width:100%;}

    .flexUnoR{text-align:left;}
    .flexUnoR .noneRespons{display:none;} .flexUnoR .blockInRespons{display:flex;}

    .h3subtitle,.h3subtitleTwo{
        font-size:30px;
        text-align:center;
        color:var(--principal);
        line-height:1;
    }


}


@media (max-width:650px) {

    .infoSobreBannerInSection{
       gap:30px;padding:0px;
    }

    .counterAddnfoShow{
        width: 300px;
    }

    .infoContainerTTT{
        width:100%;
    }


    .flexBrandsGen{
        justify-content:center;
        gap:10px;
    }

    .brandItemSlideTwo {
        width:135px;
        height:115px;
    }

}



@media(max-width:900px){
    .infoSobreBanner h1{font-size:35px;margin-bottom:0px;line-height:1;}
    .flexReturn{font-size:20px;}
}




@media (max-width:600px) {
    .formEnfDelPeru .flexInputLabelEnf .inputLabel {
        width: 100%;
    }
    .infoSobreBanner h1{font-size:30px;}
    .flexReturn{font-size:15px;}

     .h3subtitle,.h3subtitleTwo{
        font-size:25px;
        text-align:center;
        color:var(--principal);
        line-height:1;
    }


   .infoSobreBanner h1{
       font-size:20px;
    }

    .containerTT h1 span{
        font-size:25px;
    }
}



@media (max-width:350px) {
   .infoSobreBanner h1{
       font-size:18px;
    }

}
