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: 'Raleway', 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;
}
p {
   line-height: 1.5;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}  
/* ////////////////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;
   font-family: 'Raleway', sans-serif;
}

.fotoHome {
    display: flex;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
    padding: 2rem 0;
}
.foto{
   width: 100%;
   height: auto;
}

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

.textoHome h1{
   font-size: 2rem;
   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.jpg);
   background-repeat: no-repeat;
   background-size: cover;
   left: 5%;
   top: 0.5rem;
}

.backmenu {
   background-color:#fff;
   height: 5rem;
   width: 100%;
   position: fixed;
   top: 0;
   z-index: 3;
 }


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

   #menu:hover i{
   color: black;
   } 

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

   #menu i { 
      width:100%;
      margin: 0;
      font-size: 1.75rem;
      color: #5aa5dc;
      margin-bottom: -1.25rem !important;
   }
  
   #boton_cerrar {
      visibility: hidden;
      cursor:pointer;
      width:5rem;
      height:5rem;
      background-color: transparent !important;
      position: absolute;
      box-sizing:border-box;
      border-style: none;
      right: 5%;
      top: 0;
      display: grid;
      justify-content: center;
      align-items: center;
      }

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

   #boton_cerrar i { 
         width:100%;
         margin: 0;
         font-size: 1.75rem;
         color: #5aa5dc;
         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:#155c90;
      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: calc(1.28rem + 3.0625vw);
      font-family: 'Raleway', sans-serif;
      font-weight: 400;
   }

   #enlaces_menu li:hover a {
      color:#5aa5dc;
      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:#155c90;
      border-bottom-width: thin !important;
      border-style: solid;
      width: 90%;
      margin: 0 auto;
      margin-top: 1rem;
      height: 4rem;
   }
   #proyectos {
      width: 90%;
      height: 100%;
      padding-top: 8rem;
      margin: 0 auto;
   }

   #proyectos h1 {
      font-size: 2rem;
      color: #5aa5dc;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
   }

    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: 4rem;
      margin: 0 auto;
      background-color: #efefef;
   }

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

   .texto1 {
      display: flex;
      justify-content: center;
      flex-direction: column;
      padding: 4rem 0;
      max-width: 720px;
      margin: 0 auto;
    }

    .texto1  h1{
      font-size: 2rem;
      color: #155c90;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      text-align: center;
    }

    .texto1  p{
      font-size: 1rem;
      color: black;
      font-family: 'Raleway', sans-serif;
      text-align: center;
    }

    .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: #5aa5dc;
   }

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

   #contacto  h1{
      font-size: 2rem;
      color:#5aa5dc;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
    }

    .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;
      font-family: 'Raleway', sans-serif;
      /* padding: 0 0 0 0.5rem; */
   }

   .botContacto{
      background: #155c90;
      height: 2rem;
      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: #114c70;
      cursor: pointer;
   }

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

   footer {
      width: 100%;
      background-color: #102b40;
      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 #155c90;
      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: 1rem;
        height: 1rem;
        content: "";
        border: 3px solid #155c90;
        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);
      }
    }


   /* /////// 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;
    }
      
   }

/* 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: 50%;
      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;
      padding: 0 3rem;
      display:block;
      text-decoration:none;
   }

   .lista a:hover {
      color: #5aa5dc;
      background-size: 100% 2px;
      text-decoration: underline solid #5aa5dc;
   } 

   #menu {
      visibility: hidden !important;
    }
   
   #home {
      width: 90%;
      height: 100%;
      display: grid;
      margin: 0 auto;
      grid-template-columns: 1fr 1fr;
   }

   .fotoHome {
      display: flex;
      justify-content: center;
      width: auto;
   }
  
  .textoHome {
     width: auto; 
     padding: 2rem;  
   }
   .textoHome h1{
      font-size: 3.5rem;
      font-weight: 700;
   }
   
   .textoHome p{
      font-size: 1.5rem;
   }

} 

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