@font-face{
  font-family: "Advent Pro";
  src: local("Advent Pro Regular"), local("AdventPro-Regular"),
       url("./type/adventpro-r.woff2") format("woff2"),
       url("./type/adventpro-r.ttf") format("ttf");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

html{
  -ms-text-size-adjust: 100%;
  -webkit-texts-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body{
  font-family: "Advent Pro", arial;
  text-rendering: optimizeLegibility;
}
html, body{
  height: 100%; position: relative;
}
body.is-active{
  overflow: hidden;
}
*{
  margin: 0; box-sizing: border-box;
}
*:before, *:after{
  box-sizing: border-box;
}
a, img{
  border: 0 none; outline: none;
}
a, a:link, a:visited, a:focus, a:active, a:hover{
  text-decoration: none; cursor: pointer;
}
.hide{
  display: none;
}
.alignjustify{
  text-align: justify;
}

/* -------------------------------------------- */

.preload{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: #fff;
}
.preload-logo{
  position: absolute;
  top: 50%;
  margin-top: -95px;
  width: 130px;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
}
@media only screen and (max-width: 760px){

  .preload-logo{
    width: 115px;
  }

}

/* -------------------------------------------- */

nav{
  position: fixed;
  top: 0;
  width: 100%;
  height: 80px;
  background: rgba(255,255,255,0.99);
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.2);
  z-index: 100;
}
.inner{
  width: 100%;
  margin: 0 auto;
  padding: 0 15px 0 15px;
}
.logo img{
  position: absolute;
  height: 75px;
  top: 2px;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  z-index: 101;
}

@media only screen and (max-width: 760px){
  nav{
    height: 75px;
  }
  .logo img{
    height: 65px;
    margin-top: 3px;
  }
}

/* ----- */

.menu-action{
  margin: 24px 20px;
  width: 35px;
  height: 34px;
  padding: 6px 4px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  border: 0;
  float: right;
  overflow: visible;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0px 0px 10px 6px #fff;
}
.menu-action:hover{
  opacity: 1;
}
.menu-action.is-active:hover{
  opacity: 1;
}
.menu-action.is-active .menu-action-inner,
.menu-action.is-active .menu-action-inner::before,
.menu-action.is-active .menu-action-inner::after{
  background: #000;
}
.menu-action-box{
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
  z-index: 109;
}
.menu-action-inner{
  display: block;
  top: 50%;
  margin-top: -2px;
}
.menu-action-inner,
.menu-action-inner::before,
.menu-action-inner::after{
  width: 27px;
  height: 2px;
  background: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.menu-action-inner::before,
.menu-action-inner::after{
  content: "";
  display: block;
}
.menu-action-inner::before{
  top: -8px;
}
.menu-action-inner::after{
  bottom: -8px;
}

/* Animation menu */

.spin .menu-action-inner{
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.spin .menu-action-inner::before{
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.spin .menu-action-inner::after{
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.spin.is-active .menu-action-inner{
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.spin.is-active .menu-action-inner::before{
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.spin.is-active .menu-action-inner::after{
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* Animation menu Reverse */

.spin-r .menu-action-inner{
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.spin-r .menu-action-inner::before{
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.spin-r .menu-action-inner::after{
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.spin-r.is-active .menu-action-inner{
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.spin-r.is-active .menu-action-inner::before{
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.spin-r.is-active .menu-action-inner::after{
  bottom: 0;
  transform: rotate(90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* ----- */

.cortina-menu{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.93);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.1s, opacity 0.2s linear;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  z-index: 90;
}
.cortina-menu.is-active{
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s linear;
}
body.is-active{
  overflow: hidden;
}
.content-menu{
  position: absolute;
  top: 38%;
  left: 50%;
  width: 250px;
  transform: translate(-50%, -38%);
  -webkit-transform: translate(-50%, -38%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.content-menu a{
  padding: 12px 40px 0 40px;
  font-size: 1.6em;
  color: #000;
}
nav .social{
  position: absolute;
  top: 64%;
  left: 50%;
  width: 250px;
  transform: translate(-50%, -64%);
  -webkit-transform: translate(-50%, -64%);
  width: 240px;
  text-align: center;
  margin: 0;
  padding: 0;
}

/* ----- */

.about, .contact{
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 80;
  visibility: hidden;
  background: #fff;
}
.content-about, .content-contact{
  position: absolute;
  top: 45%;
  left: 50%;
  width: 80%;
  max-width: 500px;
  transform: translate(-50%, -45%);
  -webkit-transform: translate(-50%, -45%);
  text-align: justify;
  font-size: 1.2em;
}
h2{
  margin-bottom: 10px;
  font-size: 1.2em;
}
.inst{
  position: relative;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  text-align: center;
}
.content-about a, .content-contact a{
  position: relative;
  color: #000;
  padding: 10px 10px 0 10px;
  border-bottom: 1px solid #000;
  display: inline-block;
  text-align: center;
}
.close{
  position: relative;
  float: right;
  margin-top: 40px;
  color: #fff;
  padding: 4px 18px 6px 18px;
  background: #111;
}

/* -------------------------------------------- */

header{
  position: relative;
  width: 100%;
  /* height: 100%; */ /* Definido con Javascript */
  padding: 0 12px 0 12px;
  z-index: 10;
  margin: 0;
}
header #slide{
  position: relative;
  width: 100%;
  /* height: 100%; */ /* Definido con Javascript */
  max-width: 1226px;
  top: 92px;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
}
header #slide .slide-item{
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  box-shadow: 0px 2px 7px -2px #000;
}


header h1{
  position: relative;
  top: 100px;
  width: 100%;
  padding-top: 10px;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  text-align: center;
  font-weight: 100;

  
  z-index: 10;
}





.img-load{
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 100;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  visibility: hidden;
}
#img-load-text{
  position: absolute;
  width: 100%;
  height: 25px;
  left: 0;
  bottom: 0;
  padding: 5px 5px 2px 5px;
  font-size: 0.8em;
  text-align: left;
  color: #fff;
  z-index: 10;
  background-image: linear-gradient(to bottom, rgba(0,0,0,0),rgba(0,0,0,0.3), rgba(0,0,0,0.6));
}

/* -------------------------------------------- */

main{
  min-height: 100vh; /* will cover the 100% of viewport */
  /* top: 100%; */
  overflow: hidden;
  display: block;
  position: relative;
  padding-bottom: 110px; /* height of your footer */
}

/* ----- */

section{
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 12px 0 12px;
  margin:0px auto;
}
section h1{
  position: relative;
  padding: 0 15px 0 15px;
  width: 80%;
  height: auto;
  top: 30px;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  text-align: center;
  font-weight: 100;
  font-size: calc(1.1em + 1vw);
  color: #000;
}

/* ----- */

.grid-gallery{
  position: relative;
  height: auto;
  top: 45px;
  margin-bottom: 45px;
}
.grid-column,
.grid-item{
  width: 33.333%;
}
.grid-item{
  float: left;
}
.grid-image-area{
  margin:0 auto;
  display:block;
  margin:4px 4px;
  position:relative;
}
.grid-item img {
  display: block;
  width: 100%;
  height:auto;
  /* border-radius: 5px; */
}
.shadow{
  box-shadow: 0px 2px 5px -2px #000;
}
@media only screen and (min-width: 2000px){
  .grid-column,
  .grid-item{
    width: 16.66%;
  }
}
@media only screen and (min-width: 1600px){
  .grid-column,
  .grid-item{
    width: 20%;
  }
}
@media only screen and (min-width: 1200px){
  .grid-column,
  .grid-item{
    width:25%;
  }
}
@media only screen and (max-width: 800px){
  .grid-column,
  .grid-item{
    width:50%;
  }
}
@media only screen and (max-width: 500px){
  .grid-column,
  .grid-item{
    width:100%;
  }
}

/* -------------------------------------------- */

footer {
  position: absolute;
  width: 100%;
  height: 50px;
  bottom: 0px;
  text-align: center;
  background: #fff;
  z-index: 10;
  opacity: 0.9;
}
footer .social{
  position: relative;
  top: 0;
  text-align: center;
  margin: 0;
  padding: 0;
}
.social ul{
  margin: 0;
  padding: 0;
}
.social li{
  display: inline;
  margin: 0;
  padding: 3px;
}
.icon-500 img{
  position: relative;
  width: 63px;
  top: 19px;
  margin-right: 20px;
}
.icon-twitter img{
  width: 26px;
}
footer .text{
  position: relative;
  width: 99%;
  top: 12px;
  font-size: 0.9em;
  color: #000;
}
footer a{
  color: #000;
}


/* -------- Big Screen -------- */

@media only screen and (min-width: 1275px){

  .inner{
    width: 1250px;
  }
  section{
    width: 1250px;
  }

}
/* ------ End Big Screen ------ */