/*css reset*/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
}
body{
    font-family: Arial, Helvetica, sans-serif;
}
a{
    font-weight:700;
}


/*header*/

header{
    width: 100%;
    background-color: white;
    position: fixed;
}
.menu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1180px;
    height: 60px;
    margin: 0 auto;
    padding: 5px 10px;
}

a .logo{
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo{
    display: flex;
    justify-content: center;
    max-width: 250px;
}


.nav-list{
    position: fixed;
    top: 60px;
    left: 100%;
    width: 100%;
    background-color: #353535;
    text-align: center;
    padding: 20px 0;

    overflow-y: auto;
    height: calc(100% - 60px);

    transition: left 0.3s;
}
.nav li{
    display: flex;
    justify-content: center;
}
.nav li a{
    font-size: 1.2rem;
    color: white;
    padding: 40px;
    width: 80%;
}
.nav li :hover{
    color: #FF6600;
}


.nav-toggle{
    background-color: white;
    border: none;
    padding: 5px;
    cursor: pointer;
}
.menu-burger{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
}

.nav-list_visible{
    left: 0;
}


@media screen and (min-width:900px) {
    .menu{
        height: 80px;
        margin: 0 auto;
        padding: 5px 20px;
    }
    

    .logo{
        max-width: 350px;
    }
    
    
    .nav-list{
        display: flex;
        position:relative;
        top: 0;
        left: 0;
        width: 100%;
        background-color: white;
        text-align: center;
        height: fit-content;
        padding: 5px 0;
    }
    .nav li{
        display: flex;
        justify-content: center;
        text-align: center;
    }
    .nav li a{
        color: #353535;
        padding: 20px;
        width: fit-content;
    }
    .nav li :hover{
        color: #FF6600;
    }
    
    
    .nav-toggle{
        display: none;
    }
}




/* section banner */
.banner{
    background: url("../img/banner.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;

    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
}
.banner-contenedor{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    width: 1180px;
}

.banner-info{
    text-align: center;
    color: white;
    padding: 40px 15px;

    background-color: rgba(225, 102, 0, 0.7);
    width: 100%;
    max-width: 570px;
    border-radius: 40px;
    box-shadow: 35px 35px 35px rgba(0, 0, 0, 0.7);
}
.banner-info h1{
    font-size: 2rem;
    font-weight: 800;
}
.banner-info h2{
    font-size: 24px;
    font-weight: 700;
}
.banner-info p{
    text-align: justify ;
    word-break: keep-all;

    font-size: 20px;
    padding-top: 15px;
    padding-bottom: 25px;
    font-weight: 700;
    max-width: 410px;
    margin: 0 auto;
}

.banner-info a{
    font-size: 21px;
    color: #353535;
    background-color: white;
    padding: 8px 40px;
    border-radius: 10px;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.7);
}
.banner-info a:hover{
    color: #FF6600;

}


@media screen and (min-width:570px) {
    .banner-contenedor{
        padding: 0 10px;
        width: 1180px;
    }
    .banner-info{
        text-align: center;
        color: white;
        padding: 40px 80px;
    }
}
@media screen and (min-width:900px) {
    .banner{
        background-position: 30%;
    }
    .banner-contenedor{
        align-items: baseline;
        padding: 10;
        width: 1180px;
    }
    .banner-info{
        text-align: center;
        color: white;
        padding: 40px 80px;
    }
}



/*section nosotros*/
#nosotros{
    display: flex;
    justify-content: center;
}
.us-contenedor {
    width: 100%;
    max-width: 1180px;
    height: fit-content;
    text-align: center;
}
.us-contenedor h2{
    padding: 80px 0 30px 0; 
    font-size: 1.5rem;
}
.us-contenedor h3{
    padding: 10px 0;
}
.us-contenedor p{
    padding-bottom: 20px;
}

.nosotros-img{
    width: 100%;
    max-width: 560px;
    padding-bottom: 20px;
}


.mision-vision{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    padding: 0px 8px ;
    text-justify: distribute;
}
.mision-vision-contenedor{
    display: inherit;
    flex-flow: column nowrap;
    justify-content: center;
    max-width: 560px;
    text-align: justify;
    word-break: keep-all;
}
.calidad-contenedor{
    text-align: justify;
    word-break: keep-all;
    padding-bottom: 20px;
    max-width: 560px;
}

@media screen and (min-width:1023px){
    .mision-vision{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-around;
        padding: 0 ;
        text-justify: distribute;
    }
    .calidad-contenedor{
        text-align: justify;
        word-break: keep-all;
        padding-top: 20px;
        padding-bottom: 20px;
        max-width: 560px;
        margin: 0 auto;
    }
}



/*section servicios*/

#servicios{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
.servicios{
    width: 100%;
    max-width: 1180px;
    height: fit-content;
    text-align: center;
}
.servicios h2{
    padding: 80px 0 30px 0;
}
.carrusel{
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
}
.grande{
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;

    gap: 20px;
}
.img{
    width: 300px;
}



/*section contactos*/

.contacto{
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    height: fit-content;
}
.contacto h2{
    text-align: center;
    padding: 60px 0 0 0;
}
.contacto h3{
    max-width: 780px;
    word-break: keep-all;
    padding: 20px 10px 10px 10px;
}

.formulario{
    display: flex;
    justify-content: center;
    width: 100%;
}
.form{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 780px;
    padding-bottom: 20px;
}
.form-grupo{
    width: 90%;
    max-width: 560px;
    padding:5px 10px 20px 10px;
}

.input-form {
	width: 100%;
	background: #fff;
	border: 2px solid #858585;
	border-radius: 3px;
	height: 45px;
	line-height: 45px;
	padding: 0 40px 0 10px;
	transition: .3s ease all;
}
.input:focus {
	border: 3px solid #353535;
	outline: none;
	box-shadow: 3px 0px 30px rgba(163,163,163, 0.4);
}
.textarea{
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 1.2;
    padding: 8px 20px 0 8px;
    height: 95px;
    resize: none;
}
.btn-form{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 230px;
    height: 50px;
    border-radius: 10px;
    background-color: #fff;
    margin: auto;
    cursor: pointer;
    font-size: 18px;
}
.btn-form:hover{
    background-color: #FF6600;
    color: #fff;
    transition: .5s;
}
@media screen and (min-width: 770px) {
    .contacto h3{
        max-width: 780px;
        word-break: keep-all;
        padding: 20px 10px 20px 40px;
    }

	.form{
        display: flex;
        flex-direction:row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 780px;
    }
    .form-grupo{
        width: 90%;
        max-width: 390px;
        padding:5px 10px 20px 10px;
    }
}



/*footer*/

#footer{
    width: 100%;
    height: fit-content;
    background-color: #353535;
}

.footer-container{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 1180px;
    padding: 40px 10px 10px 10px;
}
.redes-sociales{
    display: flex;
    justify-content: space-evenly;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    padding-bottom: 30px;
}

.footer-container-info{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.footer-info{
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 350px;
    min-width: 300px;
    align-items: center;
    padding: 10px 0 20px 0;
    gap: 15px;
}

.footer-info-contacto{
    width: 200px;
    color: #fff;
}
.footer-info-contacto h4{
    padding-bottom: 10px;
}
.footer-info-contacto a{
    color:#ff6600 ;
}
.copyr{
    text-align: center;
    color: #858585;
    padding-bottom: 15px;
}