html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
   font-family: 'Noto Sans SC', sans-serif;
}
button:focus {outline:0 !important; }
button:active { outline:none !important;}


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
   display: block;
}
body {
   line-height: 1;
}
ol, ul {
   list-style: none;
}
blockquote, q {
   quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
   content: '';
   content: none;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}  
p {
   line-height: 1.5;
}
/* ////////////////Termina reset css ////////////////*/

html {
   scroll-behavior: smooth;
 }
 *,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.principal {
   width: 100%;
   height: 100%;
   /* margin-top: 4rem; */
}

#home {
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: center;
   flex-direction: column;
}

.fotoHome {
    display: flex;
    justify-content: center;
    width: 100%;
  /*   height: 100%;
    min-height: 768px; */
    margin: 0 auto;
    background-image: url(../recursos/home.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
}

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

.textoHome {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 0 5%;
    color: white;
}

.textoHome h1{
   font-size: 3rem;
   font-weight: 700;
   padding-bottom: 1rem;
}
.azul{
  color: #5aa5dc;
}

.textoHome p{
   font-size: 1rem;
}

.logo{
   width: 3.688rem;
   height: 4rem;
   position: absolute;
   background-image: url(../recursos/logoHeader.png);
   background-repeat: no-repeat;
   background-size: cover;
   left: 5%;
   top: 0.5rem;
}

.backmenu {
   background: rgba(255,255,255,0.15);
   height: 5rem;
   width: 100%;
   position: fixed;
   top: 0;
   z-index: 3;
   -webkit-transition: all ease-out .5s;
  -moz-transition: all ease-out .5s;
  -o-transition: all ease-out .5s;
  transition: all ease-out .5s;
 }
 .activo {
   background-color: rgba(255,255,255,0.9);
 }

 #menu {
   visibility: visible;  
   cursor:pointer;
   background-color: transparent;
   mix-blend-mode: normal;
   box-sizing: border-box;
   border-style: none !important;
   position: absolute;
   right: 5%;
   top: 15%;
   display: grid;
   justify-content: center;
   align-items: center;
   background-color: black;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   }

   #menu:hover i{
   color: #ccc;
   } 

   #menu p { 
      width:100%;
      margin-top: 4rem;
      position: absolute;
      font-size: 0.75rem;
      text-transform: uppercase;
      color: black;
      font-weight: 700;
   }

   #menu i { 
      width:100%;
      margin: 0;
      font-size: 1.25rem;
      color: white;
      /* margin-bottom: -1.25rem !important; */
   }
  
   #boton_cerrar {
      visibility: hidden;
      cursor:pointer;
      position: absolute;
      box-sizing:border-box;
      border-style: none;
      right: 5%;
      top: 15%;
      display: grid;
      justify-content: center;
      align-items: center;
      background-color: black;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      }

   #boton_cerrar p {
      width:100%;
      margin-top: 4rem;
      position: absolute;
      font-size: 0.75rem;
      text-transform: uppercase;
      color: black;
      font-weight: 700;
      }

   #boton_cerrar i { 
         width: 100%;
         margin: 0;
         font-size: 1.25rem;
         color: white;
         /* margin-bottom: -1.25rem !important; */
      } 


   #boton_cerrar button:hover {
         background-color: transparent !important;
      }    

   ul{
      display:none; 
      /* visibility: hidden; */
      padding:0px; 
      margin:0px;
      width:100%;
      /* height: 35rem; */
      height: 100vh;
      background-color: black;
      position:absolute;
      z-index: 2;
      margin-top: 5rem;
   }
 
   #enlaces_menu li {
      display: flex;
      justify-content: center;
      align-items: center;
   }

   #enlaces_menu li:hover {
      align-items: center;
   }

   #enlaces_menu li a {
      height: auto;
      line-height: calc(2.28rem + 3.0625vw);
      display:block;
      color:#fff;
      text-decoration:none;
      font-size: 1.25rem;
      font-weight: 400;
   }

   #enlaces_menu li:hover a {
      color:#ccc;
      padding-right: 0.5rem;
      -webkit-transition: all 200ms linear;
      -ms-transition: all 200ms linear;
      transition: all 200ms linear; 
   }
   .altura {
      position: absolute;
      top: 42%;
      left: 50%;
      width: 100%;
      transform: translate(-50%,-50%);
      z-index: 1;
   }

   .separa {
      border-bottom-color: black;
      border-bottom-width: thin !important;
      border-style: solid;
      width: 100%;
      margin: 0 auto;
      margin-top: 1rem;
      height: 4rem;
   }
   #proyectos {
      width: 90%;
      height: 100%;
      padding-top: 8rem;
      padding-bottom: 4rem;
      margin: 0 auto;
   }

   #proyectos h1 {
      font-size: 2rem;
      color: black;
      font-weight: 700;
      text-align: center;
   }

   #proyectos p {
      font-size: 1rem;
      color: black;
      font-weight: 300;
      text-align: center;
   }

    div.gallery {
       background-color: white;
      /* border: 1px solid #ccc; */
    }
    
   /*  div.gallery:hover {
      border: 1px solid #777;
    } */
    
    div.gallery img {
      width: 100%;
      height: auto;
    }
    
    div.desc {
      padding: 2rem 0;
      text-align: left;
    }
    
    * {
      box-sizing: border-box;
    }
    
    .responsive {
      padding: 0 6px;
      float: left;
      width: 24.99999%;
    }

    .clearfix:after {
      content: "";
      display: table;
      clear: both;
    }


    #quienes {
      width: 100%;
      height: 100%;
      padding-top: 6rem;
      padding-bottom: 6rem;
      margin: 0 auto;
      background-color: #f8f8f8;
   }
   .imagenSomos {
      width: 90%;
      margin: 0 auto;
   }

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

   .info {
      display: flex;
      justify-content: center;
      flex-direction: column;
      padding: 0 1rem;
    }

   .texto1 {
      display: flex;
      justify-content: center;
      flex-direction: column;
      padding: 1rem 2rem 4rem 2rem;
    }

    .texto1  h1{
      font-size: 2rem;
      color: black;
      font-weight: 700;
      text-align: center;
    }

    .texto1  p{
      font-size: 1rem;
      color: black;
      text-align: center;
      max-width: 720px;
      margin: 0 auto;
    }

    .redes {
      display: flex;
      justify-content: center;
      width: 100%;
      flex-direction: column;
      text-align: center;
      /* background-color: #1D3D66; */
   }

   .redes i {
      color: white;
      font-size: 2.5rem;
      cursor: pointer;
      padding: 3rem 0;
   }
   .redes i:hover {
      color: #505050;
   }

    #contacto {
      width: 90%;
      height: 100%;
      padding-top: 8rem;
      padding-bottom: 6rem;
      margin: 0 auto;
   }

   #contacto  h1{
      font-size: 2rem;
      color: black;
      font-weight: 700;
      text-align: center;
    }

    #contacto  p{
      text-align: center;
    }

    .formulario {
      width: 100%;
      height: 100%;
      padding: 4rem 0;
    /* background-color: brown; */
      display: flex;
      justify-content: center;
      align-items: center;
   }

   .formulario label{
      font-size: 1rem;
      color: black;
      padding: 1rem 0;
   }

   .campo {
      font-size: 1rem;
      color: black;
      background-color: white;
      border-style: solid;
      border-color: black;
      border-width: thin;
      border-radius: 5px;
      padding: 0.5rem 0.5rem;
   }

   .campo:active {
      outline: none;
      border: none;
   }
   

   .campo::placeholder {
      font-size: 1rem;
      color: #ccc;
      /* padding: 0 0 0 0.5rem; */
      width: 100%;
   }

   .doble{
      height: 7rem;
      padding: 0.5rem 0;
      font-size: 1rem;
      color: black;
      background-color: white;
      border-style: solid;
      border-color: black;
      border-width: thin;
      border-radius: 5px;
      padding: 0.5rem 0.5rem;
      margin-bottom: 1rem;
      /* width: 100%; */
   }

   .doble::placeholder {
      font-size: 1rem;
      color: #ccc !important;
      /* padding: 0 0 0 0.5rem; */
   }

   .botContacto{
      background: black;
      height: 3rem;
      box-sizing:border-box;
      border-style: none !important;
      margin: 1rem 0;
      border-radius: 5px;
      color: #f1f1f1;
      filter: drop-shadow(6px 6px 8px rgba(62, 79, 177, 0.289));
      cursor: pointer;
   }
   .botContacto:hover{
      background: #505050;
      cursor: pointer;
   }

   .campos {
      display: flex;
      width: 20rem;
      flex-direction: column;
   }

   footer {
      width: 100%;
      background-color: #505050;
      bottom: 0;
      height: 16rem;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      margin: 0 auto;
      /* position: fixed; */
   }

   footer p{
      text-align: center;
      color: white;
      font-size: 0.85rem;
      font-weight: 300;
   }
   footer h4{
      text-align: center;
      color: white;
      font-weight: 600;
      font-size: 1rem;
      padding: 0.5rem 0;
   }

   footer img{
      display: flex;
      justify-content: center;
      align-items: center;
      width: 70px;
   }

   .scroll-down {
      opacity: 1;
      -webkit-transition: all .5s ease-in 3s;
      transition: all .5s ease-in 3s;
    }
    
    .scroll-down {
      position: absolute;
      bottom: 30px;
      left: 50%;
      margin-left: -16px;
      display: block;
      width: 3rem;
      height: 3rem;
     /*  border: 3px solid black; */
      background-size: 14px auto;
      /* border-radius: 50%; */
      z-index: 2;
      -webkit-animation: bounce 2s infinite 2s;
      animation: bounce 2s infinite 2s;
      -webkit-transition: all .2s ease-in;
      transition: all .2s ease-in;
    }
    
    .scroll-down:before {
        position: absolute;
        top: calc(50% - 12px);
        left: calc(50% - 9px);
        transform: rotate(-45deg);
        display: block;
        width: 1.75rem;
        height: 1.75rem;
        content: "";
        border: 3px solid black;
        border-width: 0px 0 3px 3px;
    }
    
    @keyframes bounce {
      0%,
      100%,
      20%,
      50%,
      80% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
      }
      40% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px);
      }
      60% {
        -webkit-transform: translateY(-5px);
        -ms-transform: translateY(-5px);
        transform: translateY(-5px);
      }
    }


    img {
      vertical-align: middle;
    }
    
    /* Position the image container (needed to position the left and right arrows) */
    .container {
      position: relative;
      width: 70%;
      margin: 0 auto;
    }
    
    /* Hide the images by default */
    .mySlides {
      display: none;
    }
    
    /* Add a pointer when hovering over the thumbnail images */
    .cursor {
      cursor: pointer;
    }
    
    /* Next & previous buttons */
    .prev,
    .next {
      cursor: pointer;
      position: absolute;
      top: 40%;
      width: auto;
      padding: 16px;
      margin-top: -50px;
      color: white;
      font-weight: bold;
      font-size: 20px;
      border-radius: 0 3px 3px 0;
      user-select: none;
      -webkit-user-select: none;
    }
    
    /* Position the "next button" to the right */
    .next {
      right: 0;
      border-radius: 3px 0 0 3px;
    }
    
    /* On hover, add a black background color with a little bit see-through */
    .prev:hover,
    .next:hover {
      background-color: rgba(0, 0, 0, 0.8);
    }
    
    /* Number text (1/3 etc) */
    .numbertext {
      color: #f2f2f2;
      font-size: 12px;
      padding: 8px 12px;
      position: absolute;
      top: 0;
    }
    
    /* Container for image text */
    .caption-container {
      text-align: center;
      background-color: rgb(46, 46, 46);
      padding: 16px 16px;
    }

    .caption-container  p{
      font-weight: 500 !important;
      color: white !important;
      font-size: 1rem !important;
    }
   
    
    .row:after {
      content: "";
      display: table;
      clear: both;
    }
    
    /* Six columns side by side */
    .column {
      float: left;
      width: 16.66%;
    }
    
    /* Add a transparency effect for thumnbail images */
    .demo {
      opacity: 0.6;
    }
    
    .active,
    .demo:hover {
      opacity: 1;
    }


   /* /////// Media Queries //////////////////////////////////////////////////////////// 
    //////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////*/


  /* Extra small devices (phones, 600px and down) */
   @media only screen and (max-width: 600px) {
   .escritorio {
      visibility: hidden;
   }
   .responsive {
      width: 100%;
    }
    .clearfix:after {
      content: "";
      display: table;
      clear: both;
    }
    .container {
      width: 100%;
    }
      
   }

/* Small devices (portrait tablets and large phones, 600px and up) */
   @media only screen and (min-width: 600px) {
   .escritorio {
      visibility: hidden;
   }
   .responsive {
      width: 49.99999%;
      margin: 6px 0;
    }

   }

/* Medium devices (landscape tablets, 768px and up) */
   @media only screen and (min-width: 768px) {
   .escritorio {
      visibility: hidden;
   }
   
   } 

/* Large devices (laptops/desktops, 992px and up) */
   @media only screen and (min-width: 992px) {
   .escritorio {
      visibility: visible;
      width: 80%;
      max-width: 57rem;
      margin: 0 auto;
      height: 5rem;
      /* background:#024959; */
      position: fixed;
      display: flex;
      justify-content: center;
      top: 0;
      left: 70%;
      transform: translate(-50%,0%);
   }

   .lista {
      display: flex; 
      justify-content: center;
      align-items: center;
      overflow:hidden;
	   list-style:none;
   }

   .lista a {
      display: flex; 
      color: black;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.5rem;
      height: 2rem;
      padding: 0 2rem;
      display:block;
      text-decoration:none;
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
      border-color: transparent;
      background-color: transparent;

   }

   .lista a:hover {
      border-style: solid;
      border-width: 1px;
      border-color: black;
      background-color: transparent;
      line-height: 1.5rem;
      height: 2rem;
   } 

   #menu {
      visibility: hidden !important;
    }
   
  
  .textoHome {
     width: 90%; 
     padding: 2rem;  
   }
   .textoHome h1{
      font-size: 3.5rem;
      font-weight: 700;
      text-shadow: 1px 1px 2px black;
   }
   
   .textoHome p{
      font-size: 1.5rem;
      text-shadow: 1px 1px 2px black;
   }

   .info {
      width: 100%;
      height: 100%;
      display: grid;
      margin: 0 auto;
      grid-template-columns: 1fr 1fr;
      align-items: center;
   }
 
  .imagenSomos {
      display: flex;
      justify-content: center;
      width: 80%;
   }

   .slideshow-container {
      width: 95%;
  }

  #contacto {
   width: 100%;
   height: 100%;
   display: grid;
   margin: 0 auto;
   grid-template-columns: 1fr 1fr;
}

.infoContacto {
   width: 80%;
   margin: 0 auto;
   text-align: left !important;
   padding: 2rem;
}
.formulario {
   padding: 2rem 0;
   justify-content: left;
   padding-left: 4rem;
}

#contacto  h1{
   text-align: left;
 }

 #contacto  p{
   text-align: left;
   font-size: 1.25rem;
   line-height: 2rem;
 }

} 

/* Extra large devices (large laptops and desktops, 1200px and up) */
   @media only screen and (min-width: 1200px) {
   .lista a {
      padding: 0 3rem;
   }
   #menu {
      visibility: hidden !important;
    }
   
   }