/* service-website
  generales
*/

/* 001 - generales */

html {
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 16px;
    scroll-behavior: smooth;
}
    
*,
*::after,
*::before {
   box-sizing: inherit;
}
    
body {
   margin: 0;
   padding: 0;
   overflow-x: hidden;
   position: relative;
}

ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

a{
    text-decoration: none;
}

h1{
    font-weight: 800;
    padding: 0;
    margin: 0;
}

h1{
    font-weight: 600;
    padding: 0;
    margin: 0;
}


/* 002 - header */
.menu{
    position: sticky;
    top: 0;
    background-color: #fff;
    height: 80px;
    width: 100%;
    font-weight: 600;
    z-index: 1000;
}

.menu__container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
}

.menu__logo{
    height: 90%;
    padding: 3px 0;
}

.menu__logo img{
    height: 100%;
    margin-right: 30px;
}

.menu__links{
    height: 100%;
    transition: transform .5s;
    display: flex;
    justify-content: space-evenly;
}

.menu__item{
    list-style: none;
    position: relative;
    height: 100%;
    --clip: polygon(0 0, 100% 0, 100% 0, 0 0);
    --transform: rotate(-90deg);
}

.menu__item:hover{
    --clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    --transform: rotate(0);
}

.menu__link{
    color: #00A859;
    text-decoration: none;
    padding: 0 15px;
    display: flex;
    height: 100%;
    align-items: center;
    transition: 0.4s;
}

.menu__link:hover{
    background-color: #055929;
    color: #fff;
}


.menu__arrow{
    transition: transform .3s;
    display: block;
    margin-left: 3px;
}

.menu__nesting{
    list-style: none;
    transition:clip-path .3s;
    clip-path: var(--clip);
    position: absolute;
    right: 0;
    bottom: 0;
    width: max-content;
    transform: translateY(100%);
    background-color: #000000cb;
}

.menu__link--inside{
    padding: 30px 100px 30px 20px;
}

.menu__link--inside:hover{
    background-color: #185E95;
}

.menu__hamburguer{
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 15px;
    cursor: pointer;
    display: none;
}

.menu__img{
    display: block;
    width: 36px;
}

.scrolled {
    background-color: #fcfcfcd2;
    height: 60px;
    transition: 0.5s;
}

@media (max-width: 925px){

    .menu__container{
        justify-content: space-between;
    }

    .menu{
        background-color: #fff;
    }

    .menu__hamburguer{
        display: flex;
    }

    .menu__item{
        --clip:0;
        overflow:hidden ;
    }

    .menu__item--active{
        --transform: rotate(0);
        --background: #5e7094;
    }

    .menu__item--show{
        background-color: var(--background);
    }


    .menu__links{
        position: fixed;
        max-width: 400px;
        width: 100%;
        top: 70px;
        bottom: 0;
        right: 0;
        background-color: #000;
        overflow-y: auto;
        display: grid;
        grid-auto-rows: max-content;
        transform: translateX(100%);
    }

    .menu__links--show{
        transform: unset;
        width: 100%;
    }

    .menu__link{
        padding: 25px 0;
        padding-left: 30px;
        height: auto;
    }

    .menu__arrow{
        margin-left: auto;
        margin-right: 20px;
    }

    .menu__nesting{
        display: grid;
        position: unset;
        width: 100%;
        transform: translateY(0);
        height: 0;
        transition: height .3s;
    }

    .menu__link--inside{
        width: 90%;
        margin-left: auto;
        border-left: 1px solid #798499;
    }
}

/*header index*/

.header{
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 100vh;
}

.header_video_contenedor, .header_contenido{
    position: absolute;
    width: 100%;
    height: 100%;
  }
  
.video_header{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}
  
.black_bg{
    width: 100%;
    height: 100%;
    background-color: #0000009c;
    position: absolute;
    z-index: 500;
  }
  
.header_contenido{
    color: #fff;
    z-index: 700;
    top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
  
.titulo_conte_df img{
    width: 20%;
}
  
.titulo_conte h1{
    font-size: calc(1.3rem + 2vw);
    margin-top: 15px;
}
  
.titulo_conte h2{
    font-size: calc(0.9rem + 1vw);
    margin-top: 15px;
}
  
.header_social_resen{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 20px;
    margin-top: 25px;
}
  
.header_rese{
    width: 100%;
    margin: 5px;
    padding: 10px;
    box-shadow: 20px 20px 50px rgba(0,0,0,0.5);
    background: #ffffff15;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
  
.header_h6{
    font-size: 1rem;
    font-weight: 200;
    margin-bottom: 10px;
}
  
.header_star .fa-star{
    margin: 2px 3px;
}
  
.style_link{
    position: relative;
    display: inline-block;
    background-color: #00A859;
    padding: 15px 15px;
    text-align: center;
    margin: auto;
    margin-top: 15px;
    border-radius: 5px;
    color: #fff;
    letter-spacing: 0.1rem;
    transition: 0.5s;
}

.style_link:hover{
    letter-spacing: 0.25rem;
    background-color: transparent;
    box-shadow: 0 0 35px #00A859;
    color: #00A859;
}

.style_link::before{
    content: '';
    position: absolute;
    inset: 2px;
    background: transparent;
}

.style_link span{
    position: relative;
    z-index: 300;
}

.style_link i::before{
    content: '';
    position: absolute;
    top: -3px;
    left: 80%;
    width: 10px;
    height: 5px;
    border: 2px solid #00A859;
    background-color: transparent;
    transform: translateX(-50%);
    transition: 0.5s;
}

.style_link:hover .style_i_link::before{
    width: 20px;
    left: 20%;
}

.style_link .style_i_link::after{
    content: '';
    position: absolute;
    bottom: -3.5px;
    left: 20%;
    width: 10px;
    height: 5px;
    border: 2px solid #00A859;
    background-color: transparent;
    transform: translateX(-50%);
    transition: 0.5s;
}

.style_link:hover .style_i_link::after{
    width: 20px;
    left: 80% ;
}

.beneficios, .servicios{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.titulos_h2{
    position: relative;
    color: #00A859;
    font-size: 2rem;
    text-align: center;
    margin-top: 90px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.titulos_h2::after{
    content: '';
    position: absolute;
    width: 50%;
    height: 3px;
    background-color: #055929;
    bottom: -15px;
    right: 0;
}

@media screen and (max-width:1196px){
    .header{
        height: 130vh;
    }
}

@media screen and (max-width:750px){
    .resen_nodis{
      display: none;
    }
  
}

/*beneficios*/ 

.beneficios_flex{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
}

.beneficios_ul{
    width: 60%;
    min-width: 300px;
    padding-right: 35px;
    text-align: justify;
}

.beneficios_ul li{
    margin-top: 15px;
    line-height: 1.5;
    font-size: 1.1rem;
}

.beneficios_ul li b{
    font-size: 1.3rem;
    color: #055929;
}

.beneficios_img{
    min-width: 300px;
}

@media screen and (max-width:1146px) {
    .beneficios_flex{
        flex-direction: column;
        padding: 0;
    }

    .beneficios_ul{
        width: 90%;
        padding-right: 0;
    }

    .beneficios_img{
        margin-top: 50px;
    }
}

/*servicios*/


.servicios_flex {
	width: 100%;
    padding: 20px 50px;
	margin:50px auto 20px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

.contenedor_tarjeta {
	margin: 20px;
    position: relative;
}

.contenedor_tarjeta a {
	display: inline-block;
}

.contenedor_tarjeta:hover figure {
	transform: perspective(600px) rotateY(180deg);
	-webkit-box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.25);
	box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.25);
}

figure {
	width: 300px;
	height: 350px;
	margin:0;
	position: relative;
	transition: all ease .5s;
	transform-style: preserve-3d;
	/* Nota:
		Establecemos que la imagen tendra una rotacion de 0grados al inicio porque si no
		ponemos esta propiedad nos da un poco de problemas en algunos navegadores al pasar el cursor.
	*/
	transform: perspective(600px) rotateY(0deg);
}

figure .frontal,
figure .trasera {
	width: 100%;
	height: 100%;
	border-radius: 5px;
	transition: all ease .5s;
}

figure .frontal {
	display: block;
	background: #000;
    object-fit: cover;

	/* Podemos ocultar la imagen al da la vuelta si lo queremos */
	/*backface-visibility: hidden;*/
}

figure .trasera {
	position: absolute;
	top: 0;
	padding: 20px;
	color: #fff;
	transform: perspective(600px) rotateY(180deg);
	backface-visibility: hidden;
	overflow: auto;
}

.contenedor_tarjeta:nth-child(1) figure .trasera, .contenedor_tarjeta:nth-child(4) figure .trasera{
	background: rgba(223,234,241,0.7);
	background: -moz-linear-gradient(top, rgba(223,234,241,0.7) 0%, rgba(15,99,144,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(223,234,241,0.7)), color-stop(100%, rgba(15,99,144,1)));
	background: -webkit-linear-gradient(top, rgba(223,234,241,0.7) 0%, rgba(15,99,144,1) 100%);
	background: -o-linear-gradient(top, rgba(223,234,241,0.7) 0%, rgba(15,99,144,1) 100%);
	background: -ms-linear-gradient(top, rgba(223,234,241,0.7) 0%, rgba(15,99,144,1) 100%);
	background: linear-gradient(to bottom, rgba(223,234,241,0.7) 0%, rgba(15,99,144,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dfeaf1', endColorstr='#0f6390', GradientType=0 );
}

.contenedor_tarjeta:nth-child(2) figure .trasera, .contenedor_tarjeta:nth-child(5) figure .trasera{
	background: rgba(251,232,202,0.7);
	background: -moz-linear-gradient(top, rgba(251,232,202,0.7) 0%, rgba(25,44,72,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(251,232,202,0.7)), color-stop(100%, rgba(25,44,72,1)));
	background: -webkit-linear-gradient(top, rgba(251,232,202,0.7) 0%, rgba(25,44,72,1) 100%);
	background: -o-linear-gradient(top, rgba(251,232,202,0.7) 0%, rgba(25,44,72,1) 100%);
	background: -ms-linear-gradient(top, rgba(251,232,202,0.7) 0%, rgba(25,44,72,1) 100%);
	background: linear-gradient(to bottom, rgba(251,232,202,0.7) 0%, rgba(25,44,72,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbe8ca', endColorstr='#192c48', GradientType=0 );
}

.contenedor_tarjeta:nth-child(3) figure .trasera, .contenedor_tarjeta:nth-child(6) figure .trasera{
	background: rgba(95,58,53,0.7);
	background: -moz-linear-gradient(top, rgba(95,58,53,0.7) 0%, rgba(221,32,47,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(95,58,53,0.7)), color-stop(100%, rgba(221,32,47,1)));
	background: -webkit-linear-gradient(top, rgba(95,58,53,0.7) 0%, rgba(221,32,47,1) 100%);
	background: -o-linear-gradient(top, rgba(95,58,53,0.7) 0%, rgba(221,32,47,1) 100%);
	background: -ms-linear-gradient(top, rgba(95,58,53,0.7) 0%, rgba(221,32,47,1) 100%);
	background: linear-gradient(to bottom, rgba(95,58,53,0.7) 0%, rgba(221,32,47,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5f3a35', endColorstr='#dd202f', GradientType=0 );
}

figure .trasera .titulo {
	color: #fff;
	font-weight: normal;
	margin-bottom: 20px;
	font-size: 2rem;
    font-weight: 600;
}

figure .trasera hr {
	height: 2px;
	background: #fff;
	border: none;
	margin-bottom: 20px;
	opacity: .5;
}

figure .trasera p {
	line-height: 22px;
	font-size: 1.1rem;
}

.tarjeta_frontal{
    position: absolute;
    z-index: 800;
    width: 100%;
    text-align: center;
    top: 5px;
    color: #055929;
    text-shadow: 0 0 3px #fffffff5;
    transition: 0.2s;
}

.contenedor_tarjeta:hover .tarjeta_frontal{
	transform: perspective(600px) rotateY(180deg);
	opacity: 0;
}

.servicos_p{
    font-size: 1.5rem;
    font-weight: 600;
    padding: 0 30px;
    text-align: center;
    margin-top: 0;
}

.servicos_p b{
    font-size: 2rem;
    font-weight: 800;
    color: #00A859;
}

@media screen and (max-width:1146px) {
    .servicios_grid {
        padding: 20px;
    }
}

/* clienets */ 

.cleintes_slider {
    width: 85vw;
    height: auto;
    margin: auto;
    overflow: hidden;
    margin-top: 90px;
}

.cleintes_slider .slide-track {
    display: flex;align-items: center;
    animation: scroll 40s linear infinite;
    -webkit-animation: scroll 40s linear infinite;
    width: calc(200px * 14);
}

.cleintes_slider .cli_slide {
    width: 250px;
    margin: 5px 10px;
}

.cleintes_slider .cli_slide img {
    width: 100%;
}

@keyframes scroll {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(calc(-200px * 7));
        transform: translateX(calc(-200px * 7));
    }
}

/*footer*/

.footer_secundario{
    display: flex;
    flex-direction: column;
    align-items: center ;
}

.derchos{
    margin-top: 25px;
    color: #044103;
    text-align: center;
}

.footer_principal{
    background-color: #083520;
    display: flex;
    padding: 20px 30px;
    margin: 75px auto 20px;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.footer_principal_item{
    width: 400px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 30px 0;
}

.foter_h5{
    font-size: 1.2rem;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
}

.footer_principal_text{
    font-size: 1.1rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.footer_principal_ul li{
    margin-top: 15px;
    font-size: 1.1rem;
    color: #fff;
}

.footer_principal_ul li a{
    color: #fff;
}

.footer_principal_ul .fa-solid, .fa-brands{
    color: #ffffff;
    margin-right: 8px;
    font-size: 1.1rem;
    padding: 10px;
    background-color: #00A859;
    border-radius: 50%;
}

.ballesta{
    color: #185E95;
    font-size: 1.2rem;
    font-weight: 600;
}

/* conoccenos header*/

.header_directorios{
    position: relative;
    width: 100%;
    height: 400px;
}

.header_direc_img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 400;
}

.header_direc_h1{
    position: absolute;
    z-index: 530;
    width: 40vw;
    right: 60px;
    top: 30px;
    color: #00A859;
    line-height: 1.5;
}



.valores_historia{
    width: 80%;
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0 10px 5px #0000004f;
    border-radius: 5px;
    padding-bottom: 20px;
}

.valores_historia_h2, .valore_mv_h2{
    width: 100%;
    background-color: #00A859;
    color: #fff;
    text-align: center;
    border-radius: 5px 5px 0 0;
    padding: 15px 0;
    margin-top: 0;
}

.valores_historia_text, .valores_mv_text{
    font-size: 1.1rem;
    line-height: 1.5;
    color: #044103;
    font-weight: 500;
    text-align: justify;
    padding: 0 30px;
}

.valores_mv{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 80%;
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    padding-bottom: 20px;
}

.valores_mv_item{
    width: 45%;
    min-width: 350px;
    box-shadow: 0 0 10px 5px #0000004f;
    border-radius: 5px 5px 0 0;

}


.valores_mv_img{
    width: 100%;
    min-width: 300;
    object-fit: cover;
}

.preguntas_flex{
    display: flex;
    align-items: center;
    padding: 15px 20px;
    margin-top: 60px;
    gap: 30px;
}

.preguntas_ul li{
    margin-top: 25px;
    line-height: 1.5;
    font-size: 1.1rem;
    text-align: justify;
    color: #044103;
}

.preguntas_ul li b{
    color: #00A859;
    font-size: 1.2rem;
}

@media screen and (max-width:970px) {
    .header_direc_h1{
        width: 90vw;
        left: 20px;
    }

    .preguntas_flex{
        flex-direction: column;
    }

    .valores_mv_item{
        width: 100%;
        margin-top: 40px;
    }
}

/* servicios */

.servicio_compra{
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    width: 90%;
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    padding-bottom: 20px;
}

.servicio_compra_item{
    width: 30%;
    min-width: 350px;
    box-shadow: 0 0 10px 5px #0000004f;
    border-radius: 5px 5px 0 0;
}

@media screen and (max-width:794px) {
    .servicio_compra_item{
        width: 90%;
        margin-top: 40px;
    }
}

/*contacto*/

.general_contact{
    width: 100%;
    height: 100vh;
    background-image: url(../img/contacto_bg.jpg);
    background-size: cover;
    background-attachment: scroll;
    position: relative;
}

.contact_h1{
    position: absolute;
    width: 100%;
    text-align: center;
    z-index: 200;
    padding: 20px 0;
    background-color: #06670469;
    top: 0;
    color: #fff;
}

.contact_flex{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
}

.contact_centrar{
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px 5px #000000ab;
    border-radius: 15px;
    margin-top: 30px;
}

.contact_item{
    width: 400px;
    min-width: 300px;
    height: 600px;
    background-image:  linear-gradient(#034213cd,#064d0fd2), url(../img/contac_iitem_img.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 15px 0 0 15px;
}

.form_item{
    width: 400px;
    height: 600px;
    padding: 20px;
    box-shadow: 20px 20px 50px rgba(0,0,0,0.5);
    background: rgba(0, 0, 0, 0.2);
    border-radius: 0 15px 15px 0;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.form_style{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.container_input{
    position: relative;
    margin-top: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.label_style{
    color: #fff;
    padding: 5px;
    border-radius: 3px;
    transition: 0.3s;
}

.input_style{
    outline: none;
    border: none;
    border-bottom: 2px solid #fff;
    background-color: transparent;
    width: 100%;
    font-size: 1rem;
    padding: 3px 0;
    color: #fff;
    text-align: center;
}

.textarea_style{
    resize: none;
    width: 100%;
    height: 6rem;
    outline: none;
    border: 2px solid #fff;
    background-color: transparent;
    border-radius: 5px;
    color: #fff;
    padding: 3px;
    font-size: 1rem;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    overflow-y: scroll;
    margin-top: 20px;
}

.textarea_style::placeholder{
    color: #ffffffb4;
    font-size: 1rem;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    padding: 3px;
}

.submit_input{
    align-self: center;
}

.span_style{
    position: absolute;
    color: red;
    margin-top: 55px;
}

.esconder_mensaje{
    display: none;
}

.honeypot{
    opacity: 0.01;
}

@media screen and (max-width:980px) {
    .general_contact{
        height: auto;
    }

    .contact_flex{
        height: auto;
    }

    .contact_centrar{
        flex-direction: column;
        margin-top: 200px;
        width: 90%;
    }
    
    .contact_item{
        width: 100%;
    }

    .contact_info{
        height: auto;
        border-radius: 5px 5px 0 0;
    }
    
    .form_item{
        border-radius: 0 0 5px 5px;
        height: auto;
        border: none;
    }
}

