* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
width: 100vw;
height: auto;
background-color: white;
color: black;
font-family: sans-serif;
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
header {
 width: 100vw;
 height: 100vh;
 position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.menu {
    width: 100vw;
    height: 20vh;
    position: relative;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
}
.menu .logo {
    width: 100px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #00005c;
    border-radius: 50%;
    position: relative;
}
.menu .logo img {
    width: 80%;
    height: auto;
    transition: 0.5s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.menu ul {
    width: 80%;
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
    flex-direction: row;
    margin-right: 25px;
}
.menu ul li {
    margin: 2px;
    list-style: none;
    transition: 0.3s ease;
}
.menu ul li:hover {
    transform: scale(1.05);
    }
.menu ul li a {
    margin: 2px;
    padding: 8px 12px;
    text-decoration: none;
    color: inherit;
  
}

header .portada {
    width: 100%;
    height: 80vh;
    background-image: url(img/img2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
header .portada .fondoportada {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #00005cef;
    
    z-index: +2;
}
header .portada .videoportada {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   filter: blur(3);
}
header .portada h1 {
    width: 60%;
    height: auto;
    color: white;
    z-index: +3;
    text-align: center;
    font-size: 50px;
    font-family: 'Times New Roman', Times, serif;
    line-height: 1.5;
    text-shadow: 2px 2px 1px rgb(8, 8, 8);
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
}
.menucell {
    display: none;
}



main {
  padding: 1.5rem;
  width: 100vw;
  margin: auto;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}

section {
  margin-bottom: 2rem;
  background: white;
 
  border-radius: 17px;
  box-shadow: 3px 5px 7px rgba(0,0,0,0.1);
  width: 100vw;
  height: auto;
  margin-top: 25px;
}
.quienes {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 80vh;
    
    margin-bottom: 20px;
    overflow: hidden;
}
.quienes .quienimg {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 60%;
  height: 100%;
   background-color: #00005c;
}
.quienes .quienimg .quienimg1 {
    width: 60%;
    height: auto;
    top: 10px;
    right: 10px;
    object-fit: cover;
    z-index: +1;
    position: absolute;
    border-radius: 12px;
    
}
.quienes .quienimg .quienimg2 {
    width: 50%;
    height: auto;
    bottom: 15px;
    left: 10px;
    z-index: +2;
   
    position: absolute;
     border-radius: 12px;
   


}
.quienes .quienimg .fondoquien {
 width: 80%;
 height: 400px;
 background-color: white;
 position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 
}
.quienes .quientexto {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 40%;
  height: 100%;
  padding: 30px;
  
}
.quientexto .imgcomilla {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 100px;
}
.quientexto h2 {
    width: 100%;
    text-align: start;
    margin: 15px;
    font-size: 40px;
}
.quientexto p {
    width: 100%;
    text-align: start;
     margin: 15px;
     line-height: 1.5;
     font-size: 19px;
}
.quientexto a {
    padding: 10px 15px;
    background-color: #00005c;
    border-radius: 12px;
    text-decoration: none;
    color: white;
    margin: 30px;
    font-size: 21px;
    font-weight: bold;

}
.productos {
     display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 100vw;
    height: auto;
    margin-bottom: 20px;
    overflow: hidden;
    padding: 20px;
    background-image: url("img/fondolazaro.png");
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    position: relative;
}
.productos .fondoproducto {
  background-color: #00005ca9;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
 
}

.productos h2 {
  font-size: 45px;
  width: 90%;
  text-align: start;
  margin: 10px;
  z-index: +2;
  color: white;
}
.productos .productocontenedor {
  width: 90%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-wrap: wrap;
   flex-direction: row;
    z-index: +2;
}
 .productocontenedor .productoart {
 width: 300px;
 height: 320px;
 justify-content: start;
 align-items: start;
 flex-direction: column;
 border-radius: 12px;
 box-shadow: 0 0 5px gray;
 background-color: #00005c;
 color: white;
 display: flex;
 margin: 15px;
 overflow: hidden;
 transition: 0.3s ease;
}
.productocontenedor .productoart:hover {
 transform: scale(1.02);
}
.productocontenedor  .productoart .artimg {
  width: 300px;
  height: 200px;
  padding: 15px;
  

}
.productocontenedor  .productoart .artimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.productocontenedor .productoart .arttext {
  width: 300px;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  padding: 10px;
   
}
.productocontenedor .productoart .arttext h3 {
margin: 5px;
}
.productocontenedor .productoart .arttext p {
  margin: 5px;
  color: white;
}

ul {
  padding-left: 1.2rem;
}


.servicios {
       display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    width: 100vw;
    height: 80vh;
    margin-bottom: 20px;
   
    padding: 20px;
    position: relative;
}
.servicios .serviimg {
  width: 50%;
  height: 100%;

  position: relative;
 
}
.servicios .serviimg .serviimg1 {
  position: absolute;
  width: auto;
  height: 100% ;
  top: 0;
  right: 0;

}
.servicios .serviimg .serviimg2 {
  position: absolute;
  width: auto;
  height: 40%;
  bottom: 0;
  left: 0;
  
}
.servicios .servitexto {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  height: 100%;
  padding: 15px;
}
.servicios h2 {
  font-size: 32px;
  margin: 20px;
}
.servicios p {
  font-size: 20px;
  line-height: 1.5;
  margin: 20px;
  
}
.servicios .servitexto .contenedoricon {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.servicios .servitexto .contenedoricon .iconservi{
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 width: 200px;
 height: 150px;
  margin: 20px;
  transition: 0.5s ease;
}
.servicios .servitexto .contenedoricon .iconservi:hover{
 transform: scale(1.05);
}
.iconservi img {
  width: 50px;
  aspect-ratio: 1/1;
  background-color: #00005c;
  border-radius: 50%;
  padding: 10px;
  margin: 20px;
  
}
.iconservi span {
  font-weight: bold;
  text-transform: capitalize;
}
footer {
    display: flex;
    flex-direction: row;
    width: 100vw;
    height: 100vh;
    background: #00005c;
    color: white;
    padding: 50px;
    margin-top: 50px;
  
}

.footerinfo {
    display: flex;
    justify-content: center;
    align-items: start;
    flex-direction: column;
    width: 60%;

}
.footerinfo .logo {
    width: 30%;
    height: auto;
  
    transition: 2s ease;
  
    margin-bottom: 10px;

}
.footerinfo .logo:hover {

}
.footerinfo p {
    margin: 7px;
    
}
.footerinfo .footerredes {
    width: 90%;
    height: auto;
    display: flex;
    justify-content: end;
    align-items: center;
    flex-direction: row;
   
}
.footerinfo .footerredes img {
 width: 45px;
 height: 45px;
 margin: 5px;
}
footer .footerinfo .map {
    width: 90%;
    height: 100%;
    z-index: +3;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 7px;
}
footer .footerinfo .map iframe{
    width: 100%;
    height: 100%;
    border-radius: 5px;
    transition: 0.5s ease;
}
footer .footerformulario {
    width: 50%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
   
}
.footerformulario .formulario {
    width: 90%;
    height: 100%;
    
}
.formulario form {
    padding: 15px;
    border:1px solid white;
    background-color: white;
    color: black;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    box-shadow: 1px 1px  3px gray;
}
.formulario form h2 {
 width: 100%;
 text-align: center;
 margin: 10px;
}
.formulario form p {
    margin: 5px;
}
.formulario form div {
    display: flex;
    justify-content: start;
    align-items: start;
    flex-direction: row;
    width: 100%;

}
.formulario form div input{
 padding: 5px;
 font-size: 13px;
 margin: 5px;   
 flex-grow: 1;
}
.formulario form div label{
    padding: 5px;
    font-size: 13px;
    margin: 5px;
}
.formulario form .formularioconsulta{
    display: flex;
    justify-content: start;
    align-items: start;
    flex-direction: column;
}
.formulario form .formularioconsulta textarea{
    padding: 5px;
    font-size: 13px;
    margin: 5px;
    width: 100%;
    text-align: start;
    
    height: 150px;
}
.formulario form .formularioboton{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}
.formulario form .formularioboton button {
    width: 40%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    margin: 5px;
    padding: 5px;
}
.formulario form .formularioboton button img{
    width: 20px;
    height: 20px;
    margin-right: 5px;
}
.whatsappfixer {
  width: auto;
  height: auto;
  position: fixed;
  bottom: 12px;
  right: 5px;
  z-index: +30;
  display: none;
  transition: 0.5s ease;
}
.whatsappfixer:hover {
  transform: scale(1.01);
}
.whatsappfixer img {
  width: 60px;
  height: 60px;
  filter: drop-shadow(0 0 1px rgb(20, 156, 36));
}
@media(max-width: 800px){
.whatsappfixer {
  width: auto;
  height: auto;
  position: fixed;
  bottom: 12px;
  right: 5px;
  z-index: +30;
  display: block;
}
  header {
        justify-content: end;
        align-items: end;
        height: 60vh;
    }
    .menu {
        height: 10vh;
        width: 100vw;
        z-index: +5;
        position: fixed;
        top: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0.574);
        align-items: start;
        justify-content: start;
    }
    .menu .logo {
       
        width: 60px;
        aspect-ratio: 1/1;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: 10px;
        margin-top: 5px;
        
    }
    .menu ul {
        display: flex;
        width: 50vw;
        position: absolute;
        top: 0;
        right: 0;
        flex-direction: column;
        height: 100%;
        
        justify-content: start;
        margin-top: 60px;
    }
    .menu ul li {
        margin-left: 0;
        margin-right: 0px;
        margin-top: 15px;
        transform: translateX(200%);
        transition: all 0.5s ease;
        opacity: 0;
        background-color: aliceblue;
        padding: 6px;
        width: 50vw;
        display: flex;
        justify-content: start;
        align-items: start;
        margin: 0;
    }
    .menu ul li:hover {
        background-color: rgb(164, 160, 160);
    }
    .menucell {
        display: flex;
        position: fixed;
        justify-content: center;
        align-items: center;
        top: 10px;
        right: 10px;
        width: 40px;
        aspect-ratio: 1/1;
        padding: 10px;
       
        z-index: +7;
        border-radius: 50%;
        transition: 0.5s ease;
    }
    .menucell:hover {
        transform: scale(1.05);
    }
    .menucell img {
        width: 100%;
        height: 100%;
    }
 
    header .portada {
        height: 50vh;
    }
    header .portada h1 {
        width: 90%;
        height: auto;
        color: white;
        z-index: +3;
        text-align: center;
        font-size: 35px;
        font-family: 'Times New Roman', Times, serif;
        line-height: 1.5;
        text-shadow: 2px 2px 1px rgb(8, 8, 8);
    }
    .quienes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    
    margin-bottom: 20px;
    overflow: hidden;
}
.quienes .quienimg {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 50%;
   background-color: #00005c;
}
.quienes .quientexto {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 50%;
  padding: 30px;
  
}
.quientexto .imgcomilla {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 60px;
}
.quientexto h2 {
    width: 100%;
    text-align: start;
    margin: 15px;
    font-size: 35px;
}
.quientexto p {
    width: 100%;
    text-align: start;
     margin: 8px;
     line-height: 1.5;
     font-size: 18px;
}
.quientexto a {
    padding: 10px 15px;
    background-color: #00005c;
    border-radius: 12px;
    text-decoration: none;
    color: white;
    margin: 15px;
    font-size: 18px;
    font-weight: bold;

}
.productos h2 {
  font-size: 35px;
  width: 90%;
  text-align: start;
  margin: 10px;
  z-index: +2;
  color: white;
}
.productos .productocontenedor {
  width: 95%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-wrap: wrap;
   flex-direction: row;
    z-index: +2;
}
 .productocontenedor .productoart {
 width: 100%;
 height: 200px;
 justify-content: start;
 align-items: center;
 flex-direction: row;
 border-radius: 12px;
 box-shadow: 0 0 5px gray;
 background-color: #00005c;
 color: white;
 display: flex;
 margin: 15px;
 overflow: hidden;
 transition: 0.3s ease;
}
.productocontenedor  .productoart .artimg {
  width: 280px;
  height: 180px;
  padding: 15px;
  

}
.productocontenedor .productoart .arttext {
  width: 300px;
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  padding: 10px;
   
}
.servicios {
       display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 100vw;
    height: 100vh;
    margin-bottom: 10px;
   
    padding: 10px;
    position: relative;
}
.servicios .serviimg {
  width: 100%;
  height: 50%;

  position: relative;
 
}
.servicios .servitexto {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  height: 50%;
  padding: 10px;
}
.servicios h2 {
  font-size: 32px;
  margin: 10px;
}
.servicios p {
  font-size: 20px;
  line-height: 1.5;
  margin: 10px;
  
}
.servicios .servitexto .contenedoricon .iconservi{
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 width: 180px;
 height: 150px;
  margin: 10px;
  background-color: rgba(128, 128, 128, 0.125); 
  border-radius: 12px;
}
    footer {
        display: flex;
        flex-direction: column;
        width: 100vw;
        height: auto;
        
        color: white;
        padding: 30px;
        margin-top: 60px;
        margin-bottom: 50px;
      
    }
    .footerinfo {
        display: flex;
        justify-content: center;
        align-items: start;
        flex-direction: column;
        width: 100%;
        margin-top: 10px;
    
    }
    .footerinfo .logo {
        width: 30%;
        height: auto;
      
        transition: 2s ease;

        margin-bottom: 10px;
    
    }
    footer .footerinfo .map {
    width: 50%;
    height: 100%;
    z-index: +3;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 7px;
}
    footer .footerformulario {
        width: 100%;
        height: auto;
        display: flex;
        justify-content: center;
        align-items: center;
       
    }
    .footerformulario .formulario {
        width: 95%;
        height: 100%;
        
    }
  }
