@font-face {
    font-family: monserrat;
    src: url(fonts/Montserrat-Medium.otf);
  }
  @font-face {
    font-family: monserrat;
    src: url(fonts/Montserrat-Light.otf);
    font-weight: lighter;
  }
  @font-face {
    font-family: monserrat;
    src: url(fonts/Montserrat-Regular.otf);
    font-weight: bold;
  }
  *{
    font-family: monserrat;
    color: #666666;
  }
  body{
    overflow-x: hidden;
  }
  b{
    font-weight: bold;
  }
  h2{
    font-weight: lighter;
  }
  h3{
    font-weight: bold;
  }
  p{
    font-weight: lighter;
  }


.hid {
  display: none;
  transition: opacity 1s;
}

#bLogo{
    width: 100vw;
    height: 100vh;
    opacity: 1;
    transition: opacity 0.8s;
}

.container{
    position: absolute;
    z-index: -1;
    margin-left: 50%;
    margin-top: 5%;
    transform: translateY(-50%);
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
}
.container img{
    width: 100%;
}

.eyes{
    position: absolute;
    top: 38%;
    width: 100%;
    height: 19%;
    text-align: center;
  }

.eye{
    width: 19%;
    height: 100%;
    background-color:#2B388F;
    display: inline-block;
    margin: 8.8%;
    border-radius: 50%;
    position: relative;
    overflow: visible;
  }

  .ball{
    width: 44.2%;
    height: 44.2%;
    background: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-2%, -98%);
    border-radius: 50%;
  }

  .prox{
    position: absolute;
    top: 75%;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
    font-size: 5em;
    font-family: monserrat;
    font-weight: normal;
    color: #2B388F;
    line-height: 0.5em;
  }
  .prox b{
    color: #2B388F;
  }
  .prox small{
    font-size: 0.3em;
    
  }

  #myHeader {
    height: 90px;
    width: 100vw;
    background-color: white;
    display: none;
    flex-wrap: nowrap;
    justify-content: center;
    opacity : 0;
    transition: opacity 0.5s;
    position: fixed;
    top: 0;
    z-index: 3;
    -webkit-backface-visibility: hidden;
  }
  
  .logo
  {
    width: 100px;
    min-width: 90px;
    display: flex;
  }
  
  .logo img {
    width: 100%;
    height: auto;
    align-self: center;
  }
  header .nav
  {
    height: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-end;
    padding-left:18%;
    
  }
  
  header ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  
  .nav-container{
    float:right;
  }
  
  header li{
    display: inline;
    float: left;
  }
  
  header li a{
    display: block;
    padding: 20px;
    text-decoration: none;
    text-align: center;
    font-size: 1.1em;
    color: #2B388F;
    font-weight: bold;
  }

  #banner{
    width: 100vw;
    margin-top: 90px;
  }

  .banCont{
    position: relative;
  }

  #banner img{
    width: 100%;
    min-width: 900px;
    object-fit: cover;
    background-color: #2B388F;
    mix-blend-mode: luminosity;
    z-index: -1;
  }
  .clip1SVG{
    clip-path: url(#myClip);
    position: relative;
    height: auto;

  }

  .blue{
    background-color: #2B388F;
    width: 100%;
  }

  .floatingCenter{
    width: 70%;
    text-align: center;
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .floatingCenter svg{
    width: 22%;
  }
  .floatingCenter h2 {
    margin-top: 7%;
    color: whitesmoke;
    font-size: 2em;
    font-weight: lighter;
  }
  .floatingCenter b {
    color: whitesmoke;
    font-size: 2em;
    font-weight: bold;
  }


  .titulo{
    position: absolute;
    top: -2%;
    left: 7%;
    font-size: 1.8em;
  }
  .titulo b{
    font-size: 1.8em;
    font-weight: bold;
  }

  #historia{
    width: 100vw;
    position: relative;
  }
  .hcontainer{
    width: 100%;
    height: 50vw;
    min-height: 1000px;
    display: flex;
    align-items: center;
    justify-content:center;
    position: relative;
  }
  .bg{
    width: 100%;
    max-width: 1850px;
    min-width:1500px ;
    position: absolute;
  }

  .vertcontainer{
    width: 380px;
    height: 480px;
    margin-left: 30px;
    margin-right: 30px;
    background-color: white;
    border-radius: 5%;
    filter: drop-shadow(5px 10px 15px rgb(71, 71, 71));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
  }
  .icon{
    width: 120px;
  }
  .textos{
    width: 90%;
    height: 250px;
  }

  #nosotros{
    width: 100vw;
    overflow: hidden;
  }

  .svgWrap{
    width: 100%;
    height: 100%;
    min-width: 1800px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%)
  }

  .nContainer {
    display: flex;
    height: 900px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .svgT {
    position: absolute;
    width: 600px;
    top: 0;
    left: 0;
  }
  .svgB {
    position: absolute;
    width: 600px;
    right: 0;
    bottom: 0;
  }

  .nHCont{
    width: 80%;
    max-width: 1400px;
    display: flex;
    justify-content: space-evenly;
    margin-bottom: 50px;
  }
  .nIco{
    width: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .ntext{
    width: 850px;
  }

  .nIco img{
    width: 90px;
    margin: auto;
  }

  #modeloE{
    margin-top: 100px;
    width: 100vw;
    overflow: hidden;
  }

  .mContainer{
    display: flex;
    flex-direction: column;
  }
  .ilustr{
    position: relative;
    width: 100%;
    height: 82vh;
  }
  .ilimg{
    display: none;
  }
  .ilustr svg{
    position: absolute;
    width: 110%;
    min-width: 1200px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mtext{
    width: 35%;
    min-width: 600px;
    font-size: 1.8em;
    position: absolute;
    top: 50%;
    left: 40%;
    transform: translate(-65%, -50%);
    font-weight: lighter;
  }
  .mtext b{
    color: #00a8e9;
    font-size: 1.1em;
  }
  .mGrid{
    display: grid;
    grid-template-columns: auto auto auto auto;
    justify-content: center;
    grid-gap: auto;
    position: relative;
    
  }
  .mCube{
    z-index: 1;
    width: 250px;
    margin: 25px;
    height: 250px;
    background-color: #2B388F;
    border-radius: 10%;
    text-align: center;
    filter: drop-shadow(5px 10px 15px rgb(71, 71, 71));
    display: grid;
    align-items: center;
    color: aliceblue;
    font-size: 1.5em ;
    cursor: pointer;
    transition: 0.3s all;
  }
  .mCube:hover{
    background-color: #2f9ee7;
    transform: scale(1.1);
  }
  .mGrid .bg{
    z-index: -1;
    width: 100%;
    max-width: 1850px;
    min-width:1700px ;
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
  }
  .frase{
    width: 100vw;
    height: 300px;
    margin-top: 5vw;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
  }
  .frase b{
    font-size: 2em;
  }
  .oferta{
    position: relative;
    display: flex;
    height: 700px;
    justify-content: center;
    align-items: center;
  }
  .ofertaEL{
    z-index: 0;
    width: 500px;
    height: 500px;
    margin: 0px 75px;
    border-radius: 5%;
    background-color: white;
    filter: drop-shadow(5px 10px 15px rgb(71, 71, 71));
    padding: 10px 40px;
    box-sizing: border-box;
  }
  .ofertaEL h3{
    font-weight: bolder;
    font-size: 1.5em;
  }

  #vEstudi{
    width: 100vw;
    display: flex;
    flex-direction: column;
  }

  .vEHead{
    width: 100%;
    height: 550px;
    position: relative;
  }

  .franjaV{
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .vEHead div{
    width: 35%;
    position: absolute;
    font-size: 1.3em;
    left: 15%;
    top: 45%;
    transform: translateY(-40%);
  }

  .vEHead h2, .vEHead p{
    color: aliceblue;
  }

  .vEGallery{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    
  }
  .btn{
    z-index: 2;
    position: absolute;
    width:60px;
    height: 143px;
    top: 2%;
    text-decoration: none;
    border: none;
    cursor: pointer;
    background-color: transparent;
    transition: transform 0.5s ;
  }
  .btn img {
    width: 55px;
  }
  .btn:hover{
    transform: scale(1.2);
  }

  .btnIna{
    filter: grayscale(100%) opacity(20%);
    cursor:default;
    z-index: -1;
  }
  
  .der{
    right: 12%;
  }
  .izq{
    left: 12%;
  }
  .vEDescript{
    width: 100%;
    min-height: 150px;
    margin-bottom: 30px;
  }
  .vEDescript div{
    width: 60%;
    font-size: 1.0em;
    margin: auto;
    transition: 0.2s all;
  }
  .vEDescript span{
    font-size: 0.7em;
  }
  .vEDescript h3{
    margin-top: 0;
    font-size: 1.3em;
  }
  .vEDescript b{
    font-weight: bold;
    line-height: 1.4em;
  }
  .galSect{
    min-width: 100%;
    width: 100%;
    position: relative;
  }
  .gridCont{
    display: grid;
    height: 800px;
    width: 65vw;
    margin: auto;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    grid-auto-flow: dense;
  }
  .griditem{
    border-radius: 10px;
    filter: drop-shadow(5px 5px 6px rgba(112, 112, 112, 0.562));
    overflow: hidden;
    cursor: pointer;
    transition: 0.3s all;
  }
  .griditem:hover{
    transform: scale(1.04);
  }
  .griditem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .griditem:first-child{
    grid-column-start: span 2;
    grid-row-start: span 2;
  }
  .griditem:nth-child(5n){
    grid-column-start: span 1;
    grid-row-start: span 2;
  }
  .griditem:nth-child(7n){
    grid-column-start: span 2;
    grid-row-start: span 2;
  }

  
  #testimonios{
    width: 100vw;
    margin-top: 200px;
  }
  .tTitulo{
    position: absolute;
    top: -6%;
    right: 7%;
    font-size: 4em;
  }
  .hcontainerT{
    width: 100%;
    height: 30vw;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content:center;
    position: relative;
  }
  .tVertcontainer{
    width: 380px;
    height: 350px;
    margin-left: 30px;
    margin-right: 30px;
    background-color: white;
    border-radius: 5%;
    filter: drop-shadow(5px 10px 15px rgb(71, 71, 71));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
  }
  
  .contText{
    text-align: center;
  }
  .contText h2{
    font-size: 3em;
    line-height: 3.7em;
  }
  .contText p{
    font-size: 1.5em;
    width: 60%;
    margin: auto;
    line-height: 1.5em;
    margin-bottom: 70px;
  }

  .cContainer{
    display: flex;
    width: 100%;
    height: 500px;
    align-items: center;
    justify-content:center;
    box-sizing: border-box;
    margin-bottom: 100px;
  }

  .formCont{
    width: 600px;
    margin-right: 50px;
    height: 450px;
    background-color: #ffffff;
    border-radius: 10px;
    filter: drop-shadow(5px 10px 15px rgb(71, 71, 71));
  }
  form{
    height: 100%;
    box-sizing: border-box;
  }
  .form{
    padding: 0 30px;
    position: relative;
    height: 100%;
  }
  .form div{
    margin: 20px 0;
  }
  .form input{
    width: 100%;
    height: 25px;
    border: none;
    background: none;
    border-bottom:1px solid #666666;
  }
  .form label{
    width: 100%;
    display: inline-block;
  }
  
  .formbtn{
    z-index: 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.5em;
    background-color: #2B388F;
    color: #ffffff;
    line-height: 50px;
    border: none;
    border-radius: 5px;
    bottom: 35px;
    transition: 0.5s all;
  }
  .formbtn:hover{
    background-color: #2f9ee7;
    font-size: 1.8em;
    line-height: 60px;
    
    
  }
  .map{
    margin-left: 50px;
    width: 600px;
    height: 450px;
  }
  .map iframe{
    border-radius: 5%;
  }
  .modal {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed; 
    z-index: 4; 
    left: 0;
    top: 0;
    width: 100vw; 
    height: 100vh; 
    overflow: auto; 
    background-color: rgba(0,0,0,0.6); 
  }
  .modalContent{
    width: 60%;
    position:absolute;
    
    transform: translateY(-50%);
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff;
    border-radius: 10px;
    margin: auto;
    padding: 60px;
    box-sizing: border-box;
  }
  .modalContent h2{
    font-size: 2.3em;
    margin-top: 0;
    color: #2B388F;
  }
  .modalContent p{
    font-size: 1.6em;
  }
  #imgModal{
    height: 90%;
    position:absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    
  }
  .close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    z-index: 5;
  }
  
  .close:hover,
  .close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
  }
  .conten{
    width: 100vw;
    position: fixed;
    display: flex;
    justify-content: flex-end;
    bottom: 0;
    z-index: 3;
    
  }
  .conten a{
    margin: 0 20px;
  }
  .conten img{
    width: 100px;
  }
  @media (max-width: 1600px) {
    .vEHead div{
      width: 38%;
      font-size: 1.1em;
      top: 40%;
    }
  @media (max-width: 1200px) {
    .vEHead div{
      width: 45%;
      font-size: 1.1em;
      top: 30%;
    }
  }
  @media (max-width: 700px) {
    .container{
        width: 300px;
        height: 300px;
        margin-top: 30%;
    }
    .prox{
        font-size: 1.8em;
        top: 65%;
    }
    .logo
  {
    padding-left: 10px;
  }
  header .nav
  {
    height: 100%;
    display: none;
  }
    header li a{
      display: block;
      padding: 5px;
      text-decoration: none;
      text-align: center;
      font-size: 0.6em;
      color: #2B388F;
      font-weight: bold;
    }
    .floatingCenter{
      width: 90%;
    }
    
    .floatingCenter h2 {
      margin-top: 7%;
      color: whitesmoke;
      font-size: 1.2em;
      font-weight: lighter;
    }
    .floatingCenter b {
      color: whitesmoke;
      font-size: 1.2em;
      font-weight: bold;
    }
    #historia{
      margin-top: 100px;
    }
    .titulo{
      position: absolute;
      top: -12%;
      left: 7%;
      font-size: 1.8em;
      z-index: 2;
    }
    .hcontainer{
      flex-direction: column;
      height: 1200px;
    }
    .vertcontainer{
      width: 90vw;
      height: 350px;
      margin: 15px 0;
    }
    .icon{
      width: 20%;
    }

    .svgWrap{
      display: none;
    }
    .nContainer {
      height: auto;
    }

    .nHCont{
      flex-direction: column;
    }

    .nIco{
      width: 60px;
      position: relative;
    }

    .ntext{
      width: 90%;
    }

    #modeloE{
      margin-top: 30px;
      overflow: visible;
      margin-bottom: 50px;
    }
    .ilimg{
      display: block;
    }
    .ilimg img{
      width: 120%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
    .mtext{
      width: 2%;
      font-size: 1em;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-weight: lighter;
    }
    .mtext p{
      width: 55%;
      font-size: 1em;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -0%);
      font-weight: lighter;
    }
    .mtext b{
      color: #00a8e9;
      font-size: 1em;
    }

  .ilSvg{
    display: none;
  }
  .mGrid{
    grid-template-columns: auto auto;
    grid-gap: 10px;
  }
  .mCube{
    width: 150px;
    height: 150px;
    margin: 5px;
    font-size: 0.9em;
    filter: drop-shadow(1px 2px 7px rgb(71, 71, 71));
  }
  .mGrid .bg{
    top: -150px;
  }
  .oferta{
    position: relative;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .ofertaEL{
    z-index: 0;
    width: 300px;
    height: 420px;
    margin: 10px;
    padding: 5px 20px;
    box-sizing: border-box;
    font-size: 0.8em;
  }
  .ofertaEL h3{
    font-weight: bolder;
    font-size: 1.2em;
  }
  .vEHead{
    height: 290px;
  }
  .franjaV{
    width: 125%;
  }
  .vEHead div{
    font-size: 0.7em;
    width: 60%;
    left: 5%;
    top: 50%;
  }
  .vEHead h2{
    font-size: 1.7em;
  }
  .btn{
    top: 0;
  }
  .btn img {
    width: 20px;
  }
  .der{
    right: 0;
  }
  .izq{
    left: 0;
  }
  .vEDescript{
    min-height: 100px;
  }
  .vEDescript div{
    width: 75%;
    font-size: 0.6em;
  }
  .vEDescript span{
    font-size: 0.7em;
  }
  .vEDescript h3{
    margin-top: 0;
    font-size: 1.3em;
  }
  .vEDescript b{
    font-weight: bold;
    line-height: 1.4em;
  }
  .gridCont{
    width: 85%;
    grid-template-columns: repeat(3, 1fr);
  }
  #testimonios{
    margin-top: 50px;
  }
  .tTitulo{
    font-size: 2.8em;
    top: 0;
  }
  .hcontainerT{
    height: auto;
    flex-direction: column;
    padding-top: 100px;
  }
  .tVertcontainer{
    width: 85%;
    height: 200px;
    margin: 10px 0;
  }
  .tVertcontainer .textos{
    font-size: 0.75em;
    height: auto;
  }
  .contText h2{
    font-size: 2.2em;
    line-height: 2em;
  }
  .contText p{
    font-size: 1.2em;
    width: 80%;
    margin: auto;
    line-height: 1.5em;
    margin-bottom: 70px;
  }
  .cContainer{
    height: auto;
    flex-direction: column;
  }
  .formCont{
    width: 85%;
    margin: auto;
    filter: drop-shadow(1px 2px 8px rgb(71, 71, 71));
  }
  .form{
    font-size: 0.8em;
    padding: 0 20px;
  }
  .map{
    width: 85%;
    margin: 30px auto;
    height: 300px;
  }
  .modalContent{
    width: 90%;
    padding: 35px;
  }
  .modalContent h2{
    font-size: 1.4em;
  }
  .modalContent p{
    font-size: 0.85em;
  }
  .close{
    font-size: 55px;
  }
  #imgModal{
    width: 100%;
    height: auto;
    top: 30%;
  }
  .conten a{
    margin: 0 10px;
  }
  .conten img{
    width: 75px;
  }
  }