body, html {
    font-family: 'Roboto', sans-serif; font-size: 24px; color:#FFF;
	background-color: #141938
}
:root {
    --color-base:#141938;
    --color-base-light:#292B46;
    --color-secondary:#01DEEC;
}

h2 {
    font-size: 40px; font-weight: bold; padding-right: 15px; position: relative; display: inline-block; margin-bottom: 25px;
}
h2:after { content: ""; display: block; width: 110%; height: 2px; background-color: var(--color-secondary);   }

/****************************************
 Header
***************************************/
header.header {
    padding-top: 35px;  position:sticky; width:100%; top:0; left:0; transition: all .5s; z-index: 99;
}

header.header.fixed {
  transition: all .5s; background-color: var(--color-base); padding-top: 10px;
}
nav {
    display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center;
}
.logo {
    white-space: nowrap; flex-grow: 1;
}
.menu__top {
    
}
.menu__top ul{
    list-style: none; padding: 0; margin: 0; display: flex;
}
.menu__top ul li a{
    display: block; font-size: 18px; color: #FFF; text-decoration: none; padding-left: 35px; padding-right: 35px; transition: all .3s;
}
.menu__top ul li a:hover{
    color: var(--color-secondary);
}

.bar,
.fa-times {
  width: 1.5rem;
  height: 3px;
  display: block;
  color: #fff;
  padding: 0;
  margin: 6px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: #fff;
}

/******************************************
  Home banner
******************************************/
.videobg {
  height: 100vh;
  overflow: hidden;
  padding: 5vh;
  position: relative; /* requires for to position video properly */
}

video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: .3;
  object-fit: cover; /* combined with 'absolute', works like background-size, but for DOM elements */
}


.home__banner {
    /* padding-top: 15%; padding-bottom: 15%; */
    min-height: 100vh; 

    
    /* background-repeat: no-repeat; background-position: center center; background-image: url(../img/header_bg.jpg); background-size: cover; */
    background-color: var(--color-base);



    display: flex;  align-items: center; margin-top: -110px; position: relative; overflow: hidden;
}
.home__banner h1{ font-size: 50px; font-weight: bold; color: #FFF; line-height: 1.3em; margin-bottom: 25px; }
.home__banner h2{ font-size: 32px; font-weight: 400; color: var(--color-secondary); line-height: 1.3em; margin-bottom: 35px; }
.home__banner h2:after{ display: none; }


/******************************************
  Sections
******************************************/
section.partners   {
    background-color: var(--color-base); padding-top: 90px; padding-bottom: 90px;
}
p.bajada {
    margin-bottom: 50px; font-size: 30px; line-height: 1.3em;
}
.partner__item {
    border-radius: 10px; background-color: var(--color-base-light); text-align: center; height: 164px; display: grid; justify-content: center; margin-bottom: 25px; text-align: center;
}
.partner__item img{ align-self: center; max-width: 100%; }


section.servicios {
    background-color: var(--color-base-light); padding-top: 90px; padding-bottom: 90px;
}
.servicio__item {
    background-color: var(--color-base); padding: 20px; border-radius: 10px; margin-bottom: 25px;
}
.servicio__item h3{
    font-weight: bold; font-size: 25px; display: flex; align-items: center;
}
.servicio__item p{
    font-size: 19px; line-height: 1.1em;  margin-bottom: 0;
}
.servicio__item i {
    border-radius: 10px; background-color: var(--color-secondary); color: var(--color-base); font-size: 28px; display: inline-block; padding: 20px 10px; margin-right: 10px; text-align: center; width: 70px; height: 70px;
}
.servicio__wrap {
    margin-bottom: 60px;
}


section.about {
    background-color: var(--color-base); padding-top: 90px; padding-bottom: 90px;
}

section.condiciones {
  background-color: var(--color-base); padding-top: 90px; padding-bottom: 90px;
}
section.condiciones p, section.condiciones li { font-size: 15px; font-weight: 400; }
section.condiciones h3 { font-size: 17px; font-weight: 600; }


/*****************************************
  FOOTER
******************************************/
footer.footer {
    background-image: url(../img/header_bg.jpg); background-repeat: no-repeat; background-size: cover; background-position: center; padding-top: 85px; padding-bottom: 85px;
}
footer.footer h3 {
    font-size: 30px; font-weight: bold; position: relative; display: inline-block; margin-bottom: 15px;
}
footer.footer h3:after {  content: ""; display: block; height: 2px; width: 110%; background-color: var(--color-secondary); }
footer.footer p { font-size: 24px; }

section.copy{
    background-color: var(--color-base-light); padding-top: 12px; padding-bottom: 12px; font-size: 16px;
}
section.copy a{ 
    font-size: 14px; color: #FFF; text-decoration: none; transition: all .3s;
}
section.copy a:hover{ 
    color: var(--color-secondary);
}



/*****************************************
  Scroll Animation
******************************************/
.show-on-scroll {  
  opacity: 0;
  /* transform: translateY(4em) rotateZ(-5deg); */
  transform: translateY(4em);
  transition: transform 2s .25s cubic-bezier(0,1,.3,1),
              opacity .3s .25s ease-out;
  
  will-change: transform, opacity;
}

.is-visible {
  opacity: 1;
  transform: rotateZ(0);
}


/*****************************************
  MISC
******************************************/
.btn-blanco { font-size: 20px; font-weight: bold; color: #FFF; border:1px solid var(--color-secondary); border-radius: 6px; padding: 10px 45px; transition: all .3s; }
.btn-blanco:hover { background-color: var(--color-secondary); }
.celeste { color: var(--color-secondary); }
.align-right { text-align: right; }
.align-center { text-align: center; }
.hamburger {
    display: none;
  }


/*****************************************
  Responsive
******************************************/
@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 
  header.header { min-height: 0; }
  .home__banner { padding-top: 7%; padding-bottom: 10%; }
}


@media only screen and (min-width: 750px) and (max-width: 1250px) {
  body, html { font-size: 20px; }
  h2 { font-size: 35px; }
  .home__banner h1 { font-size: 40px; }
  .menu__top ul li a { padding-left: 21px; padding-right: 21px; }  
  p.bajada { font-size: 21px; }
  .servicio__item h3 { font-size: 21px; }
}


@media only screen and (max-width: 750px) {
    body, html { font-size: 18px; }
    header.header > .container { padding: 0; margin: 0; z-index: 99; }
    h2 { font-size: 28px; }
    .home__banner h1 { font-size: 38px; }
    .home__banner h2 { font-size: 24px; }
    p.bajada { font-size: 24px; }
    .partner__item img { max-width: 90%; }
    .servicio__item i { padding: 15px; width: 55px; height: 55px; font-size: 24px; }
    .servicio__item h3 { font-size: 21px; }
    .servicio__item p { font-size: 16px; }
    .home__banner { padding-top: 20%; }

    nav { position: fixed; background-color: var(--color-base); width: 100%; top:0; padding:15px 30px; z-index: 99; }

    /************************
      Menu
    ***************************/
    nav { flex-wrap: nowrap; }
    .hamburger { display: block;  }    
    .logo img { width: 150px; }
    .active .bar:nth-child(2) {
        opacity: 0;
      }
      .active .bar:nth-child(1) {
        -webkit-transform: translateY(8px) rotate(-315deg);
        transform: translateY(8px) rotate(-315deg);
        /* width: 300%; */
      }
      .active .bar:nth-child(3) {
        -webkit-transform: translateY(-10px) rotate(-45deg);
        transform: translateY(-10px) rotate(-45deg);
        /* width: 300%; */
      }
      .nav-menu {
        width: 100%;
        height: 100vh;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;        
        flex-direction: column;        
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 60px;
        right: -100%;        
        transition: 0.5s;
        margin: 0 auto;
        background-color: var(--color-base);
      }
    
      .nav-menu li {
        padding: 1rem 0;
      }
    
      a.nav-link {
        margin: .1rem 0;
        color: #333;
        z-index: 1;
        font-size: 25px !important;
      }
    
      .active {
        right: 0;
        z-index: 100;
      }
    
    section.copy { text-align: center; font-size: 14px; }
    section.copy a { font-size: 12px; }
    section.copy .align-right { text-align: center; }
}