:root {
  --primary-color: #FCAE18;
  --secondary-color: rgb(243, 242, 242);
  --background-color: #1D1C22;
  --test-color: #EDDBCD;
  --alter-color: #E39B17;
  --icons-color: #605e68;
  /* --font-primary: 'Quicksand', sans-serif; */
  --font-primary: 'Kumbh Sans', sans-serif;
  --font-secondary: 'Arima Madurai', cursive;
}

::-moz-selection { 
  color: var(--background-color);
  background: var(--alter-color);
}

::selection {
  color: var(--background-color);
  background: var(--primary-color);
}
/* html{
    scroll-behavior: smooth;
} */

body{
  background-color: var(--background-color);
  font-family: var(--font-primary);
}
/*ScrollBar Style*/
body::-webkit-scrollbar{
  width: 10px;
  background: var(--background-color);
}

body::-webkit-scrollbar-thumb{
  background: var(--alter-color);
  border-radius: 10px;
  border-right: 2px solid var(--background-color);
}



#mainNav {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: #212529;
  }
  #mainNav .navbar-toggler {
    padding: 0.75rem;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    color: #fff;
    text-transform: uppercase;
    background-color: var(--primary-color);
    border: 0;
  }
  #mainNav .navbar-brand {
    color: var(--primary-color);
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.0625em;
    text-transform: uppercase;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    transition: all 2s ease-in-out;
  }

  .navbar-brand:hover{
    filter: brightness(1.2);
    
  }

  #mainNav .navbar-brand img {
    height: 1.5em;
  }
  #mainNav .navbar-brand small {  
      font-size: small;
      line-height: 1rem;
    }


  #mainNav .navbar-nav .nav-item .nav-link {
    font-family: var(--font-primary);
    font-size: 0.95rem;
    color: #fff;
    letter-spacing: 0.0625em;
  }
  #mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
    color: var(--primary-color);
  }


  
  @media (min-width: 992px) {
    #mainNav {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      border: none;
      background-color: transparent;
      transition: padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
    }
    #mainNav .navbar-brand {
      font-size: 1.5em;
      transition: font-size 0.3s ease-in-out;
    }
    #mainNav .navbar-brand img {
      height: 2rem;
      transition: height 0.3s ease-in-out;
    }
    #mainNav.navbar-shrink {
      padding-top: 1rem;
      padding-bottom: 1rem;
      background-color: #212529;
    }
    #mainNav.navbar-shrink .navbar-brand {
      font-size: 1.25em;
    }
    #mainNav.navbar-shrink .navbar-brand svg,
  #mainNav.navbar-shrink .navbar-brand img {
      height: 1.5rem;
    }
    #mainNav .navbar-nav .nav-item {
      margin-right: 1rem;
    }
    #mainNav .navbar-nav .nav-item:last-child {
      margin-right: 0;
    }
  }


  /*-------Header-----*/
  header.masthead {
    padding-top: 10.5rem;
    padding-bottom: 6rem;
    text-align: center;
    color: #fff;
    background-image:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.39)),
    url(/assets/img/header2.jpg);
    /* background-image: url("../assets/img/header1.jpg"); */
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /*REVISAR !!! */
  }
  header.masthead .masthead-subheading {
    font-size: 1.5rem;
    font-style: italic;
    line-height: 1.5rem;
    margin-bottom: 25px;
    font-family: var(--font-primary);
  }
  header.masthead .masthead-heading {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 3.25rem;
    margin-bottom: 2rem;
    font-family: var(--font-primary);
  }

  @media (min-width: 768px) {
    header.masthead {
      padding-top: 17rem;
      padding-bottom: 12.5rem;
    }
    header.masthead .masthead-subheading {
      font-size: 2.25rem;
      font-style: italic;
      line-height: 2.25rem;
      margin-bottom: 2rem;
    }
    header.masthead .masthead-heading {
      font-size: 4.5rem;
      font-weight: 700;
      line-height: 4.5rem;
      margin-bottom: 4rem;
    }
  }

  /*------------------Slider*/
  .intro{
    background: var(--background-color);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .intro-text{
    color: var(--alter-color);
  }

  .slider{
    background: var(--alter-color);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(100%);
  }

  .hide{
    background: var(--background-color);
    overflow: hidden;
  }

  .hide span{
    transform: translateY(100%);
    display: inline-block;
  }

  .text{
    font-style: italic;
    font-size: 0.8em;
    font-family: var(--font-secondary);
  }

  @media only screen and (min-width: 768px) {
    .text{
      font-size: 1.3em;
    }
  }
  
  

  /*------WhatsApp Icono */
  .float{
    position:fixed;
    width:40px;
    height:40px;
    bottom:20px;
    right:20px;
    background-color:#25d366;
    color:#FFF;
    border-radius:50px;
    text-align:center;
    font-size:20px;
    box-shadow: 2px 1px 3px var(--test-color);
    z-index:100;
    transition: all 0.3s ease-in-out;
  }
  
  .my-float{
    margin-top:10px;
  }

  .float:hover{
    background-color:#1fb154;
    color: #fff;
    transform: scale(1.1);
  }

  @media only screen and (min-width: 768px) {
    .float{
      width:60px;
      height:60px;
      bottom:40px;
      right:40px;
      font-size:30px;
    }
    .my-float{
      margin-top:16px;
    }
  }

  .section-container {
    padding: 2rem 0;
  }

  .no-padding{
    padding: 0rem;
  }

  .section-container h2.section-heading {
    font-size: 2.5rem;
    margin-top: 0;
    color: var(--primary-color);
    margin-bottom: 1rem;
  }
  .section-container h3.section-subheading {
    font-size: 1rem;
    font-weight: 400;
    color: var(--secondary-color);
    font-style: italic;
    font-family: var(--font-primary);
    margin-bottom: 4rem;
  }
  
  @media only screen and (min-width: 768px) {
    /* section {
      padding: 9rem 0;
    } */
    .section-container{
      padding: 6rem 0;
    }
    .no-padding{
      padding: 0rem;
    }
  }

  /*---------SERVICIOS---------*/
  #servicios{
    padding: 7rem 0;
  }

  /*
  .service-card{
    /* background-color: rgba(220, 220, 220, 0.349); 
    /* padding: 2rem 1rem;
    border-radius: 6px 38px 18px 13px;
    background-color: var(--test-color);
    -moz-border-radius: 6px 38px 18px 13px;
    -webkit-border-radius: 6px 38px 18px 13px;    
    -webkit-box-shadow: 4px -1px 11px -5px rgba(0,0,0,0.65);
    -moz-box-shadow: 4px -1px 11px -5px rgba(0,0,0,0.65);
    box-shadow: 4px -1px 11px -5px rgba(0,0,0,0.65) var(--primary-color);
    margin: 1.2rem 0; 
     background-color: #000; 
  }*/

  @media only screen and (min-width: 768px) {
    /* .service-card{
      transition: all 0.3s ease-in-out;
    }
    .service-card:hover{
      transform: scale(1.05);
    } */
  }

.card-container {
    perspective: 700px;
    /* border: 1px solid #ffffff; */
    display: grid;
    padding: 0.2rem;
    margin-bottom: 2rem;
    border-radius: 10px;
    
  }

  
.card-flip, .card-container {
    transform-style: preserve-3d;
    transition: all 0.9s ease;
}

.card-container:hover{
  -webkit-box-shadow: 10px 10px 125px -14px rgba(102,232,255,0.80);
  -moz-box-shadow: 10px 10px 125px -14px rgba(102,232,255,0.80);
  box-shadow: 1px 10px 1500px -70px var(--alter-color);
  background-color: #fca12a07;
  
  transform: scale(1.10)
}

.card-flip {
  display: grid; 
  grid-template: 1fr / 1fr;
  grid-template-areas: "frontAndBack";
  transform-style: preserve-3d;
  transition: transform 1.9s ease;
  color: var(--primary-color);
  text-transform: uppercase;
}

.card-flip div {
    backface-visibility: hidden;
    -moz-backface-visibility: hidden ;
    -webkit-backface-visibility: hidden ;
    transform-style: preserve-3d;
}

.front {
  grid-area: frontAndBack;
  background-color: transparent;
  transition: all 1s ease-in-out;
}

.front:hover{
  transform: scale(0.8);
  -webkit-box-shadow: 10px 10px 125px -14px rgba(102,232,255,0.80);
  -moz-box-shadow: 10px 10px 125px -14px rgba(102,232,255,0.80);
  box-shadow: 10px 10px 15px -70px var(--alter-color);
}

.front img{

}

.front h4 {
  padding: 1rem 0 1rem 0;
}


.back {
    transform: rotateY(-180deg);
    grid-area: frontAndBack;
    background-color: transparent!important;
}

.back p {
  padding: 6em 0 0 0;
}

.back ul {
  list-style: none!important;
  margin: 0;
}

p.medio{
  padding: 4.5em 0 0 0;
  line-height: 2em;
}


.foco-flip{
  margin-top: 2.3em;
}

.card-container:hover .card-flip {
    -webkit-animation:  rotate 1.3s forwards 0.5s;
    animation: rotate 1.3s forwards 0.5s;
    animation-timing-function: ease-in-out;
}

@keyframes rotate{
  0% {
    transform: rotateY(0deg);
  }
100% {
  transform: rotateY(180deg);
}
}


@media only screen and (min-width: 768px) {
.card-container{
  margin: 0.5rem;
  padding: 1rem;
}

p.medio{
  padding: 4em 0 0 0;
}

p.backtext-graf{
  margin-top: 0.5em;
  line-height: 2em;  
}

.foco{
  margin-bottom: 1.3rem;
}


}





  /* span.service-icon
    background-color: var(--primary-color);
    display: inline-block;
    font-size: 35px;
    padding: 2rem 2.5rem;
    margin-bottom: 1rem;
    border-radius: 200px 200px 200px 200px;
    -moz-border-radius: 200px 200px 200px 200px;
    -webkit-border-radius: 200px 200px 200px 200px;
    /* border: 1.5px solid #f5f5f5; */
  /*}*/

  /*Parallax Jumbotron*/

  .jumbotron {
    position: relative;
    overflow: hidden;
    border-color: transparent;
    height: 90vh;
    background-color:black;
    
  }
  .jumbotron video {
    position: absolute;
    z-index: 1;
    top: 0;
    width:100%;
    height:100%;
    /*  object-fit is not supported on IE  */
    object-fit: cover;
    object-position: center;
    opacity:0.75;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, 
    color-stop(0.00,  rgba(0,0,0,1)),
    color-stop(0.35,  rgba(0,0,0,1)),
    color-stop(0.50,  rgba(0,0,0,1)),
    color-stop(0.65,  rgba(0,0,0,1)),
    color-stop(0.85,  rgba(0,0,0,0.6)),
    color-stop(1.00,  rgba(0,0,0,0)));
    
  }
  .jumbotron .container {
    z-index: 0;
    position: relative;
  }
  

  /*Efecto Ola*/
.ola-container-top{
  position: relative;
  padding: 0;
  margin: 0;
  
}


.shape-divider{
  position: absolute;
  top: -20vw;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: 0; 
}



.shape-divider svg{
  background-image: linear-gradient(150deg #df3e2e #ffffff);
}

@media only screen and (min-width: 768px) {
  .shape-divider{
    top: -150px;
  }
}




/*About & Blockquotes Section*/
/*About*/
.about p {
  color: var(--secondary-color);
  font-size: 1.4em;
  line-height: 2.5rem;
  font-weight: 400;
  letter-spacing: 1.5px;
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
  /* text-shadow: 1px 3px 4px var(--test-color); */
  
}

.about p span{
  color: var(--alter-color);
  font: 1.6em;
  font-weight: 500;
  text-shadow: 1px 2px 3px var(--primary-color);
}

@media only screen and (min-width: 768px) {
  .about p{
    line-height: 2.5rem;
    letter-spacing: 2px;
    font-weight: 350;
  }
}

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


  
  
/*Video Jumbotron*/

.video{
  position: relative;
  padding: 0;
}

.video::after{
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 0px;
  top: 	-20vw;
  left: 0px;
  content: url(/assets/wave.svg);
}

/*Efecto Wave*/
/* @media only screen and (min-width: 350px) {
  .video{
    text-align: center;
    
  }
.video::after{
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 0px;
  top: 	-70px;
  left: 0px;
  content: url(/assets/wave.svg);
}} */





@media only screen and (min-width: 768px) {
  .video{
    text-align: center;
    
  }
.video::after{
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 0px;
  top: 	-18vw;
  left: 0px;
  content: url(/assets/wave.svg);
}}


video{
  width: 100%;
}

/*Parallax */
.parallax{
    background-image:
    linear-gradient(rgba(0, 0, 0, 0.226), rgba(0, 0, 0, 0.349)),
    url(/assets/img/parallax.png);
    height: 50%;
    background-color: var(--alter-color);
    background-position: center center;
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1rem 4rem 1rem 4rem;
    mask-image: -webkit-gradient(linear, left top, left bottom, 
    color-stop(0.00,  rgba(0,0,0,1)),
    color-stop(0.35,  rgba(0,0,0,1)),
    color-stop(0.50,  rgba(0,0,0,1)),
    color-stop(0.65,  rgba(0,0,0,1)),
    color-stop(0.85,  rgba(0,0,0,0.6)),
    color-stop(1.00,  rgba(0,0,0,0)));
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, 
    color-stop(0.00,  rgba(0,0,0,1)),
    color-stop(0.35,  rgba(0,0,0,1)),
    color-stop(0.50,  rgba(0,0,0,1)),
    color-stop(0.65,  rgba(0,0,0,1)),
    color-stop(0.85,  rgba(0,0,0,0.6)),
    color-stop(1.00,  rgba(0,0,0,0)));
  } 

  @media only screen and (min-width: 768px) {
    .parallax{
    background-position: top;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 8rem;
    padding-bottom: 5rem;
    }
    
  }

  .youtube{
    border-radius: 30px;
    border: 2px solid var(--alter-color);
    transition: all 0.4s ease-in-out;
  }

  .youtube:hover{
    transform: scale(1.05);
    border: 2px solid var(--test-color);
  }

  .btn-youtube{
    margin: 3.5rem 0 10rem;
  }

  /*-------------Contacto-----------*/
  #contacto{
    padding: 0 1rem;
    background-image:
    linear-gradient(rgba(0, 0, 0, 0.226), rgba(0, 0, 0, 0.349)),
    url(/assets/img/backgroundform.png);
  }

  .contacto{
    background-color: transparent;
    border: none;
    border-radius: 10px 38px 18px 13px;
    padding: 0 1rem;
  }

  @media only screen and (min-width: 768px) {
    
    #contacto{
      background-position: top;
      background-attachment: fixed;
      background-repeat: no-repeat;
      background-size: cover;
      padding: 0rem;
    }
    .contacto{
      padding: 4rem 1rem;
      
    }
    
  }

  .foto-contacto{
   /* background-image: url(/assets/img/backgroundform.svg); */
   background-position: center center;
   background-repeat: no-repeat;
   background-size: cover;
   border-radius: 0.8rem;
  }

  form input, form textarea{
    border-color: var(--alter-color)!important;
    resize: none;
  }

  input[type=number] {
    appearance: textfield;
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    
  }

  form input:focus, textarea:focus{
    border-color:var(--primary-color)!important;
    box-shadow: 0 0 0px 1000px #303841 inset, 0 0 8px var(--primary-color)!important;
    -webkit-box-shadow: 0 0 0px 1000px #303841 inset, 0 0 8px var(--primary-color);
    outline: 0 none;
    color: var(--primary-color);
    -webkit-text-fill-color: var(--alter-color);
  }

  input:-webkit-autofill,
  input:-webkit-autofill:hover, 
  input:-webkit-autofill:focus,
  textarea:-webkit-autofill,
  textarea:-webkit-autofill:hover,
  textarea:-webkit-autofill:focus{
    border-color:var(--primary-color)!important;
    -webkit-text-fill-color: var(--primary-color);
    transition: background-color 5000s ease-in-out 0s;
  }


  /*--------Footer*/
.footer-container{
  background: rgb(29,28,34);
  background: linear-gradient(0deg, rgba(29,28,34,0.75) 5%, rgba(227,155,23,0.9500175070028011) 12%);
  padding: 2rem;
}

.footer-container p {
  
  font-weight: 500;
}

  .iconos-footer{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }

  .iconos-footer li a{
    cursor: pointer;
    text-decoration: none;
    color: var(--font-primary);
    font-size: 2em;
    transition: all 0.2s ease;
  
  }

  .iconos-footer li a:hover{
    color: var(--test-color);
    transform: scale(1.2);
  }

  .autor{
    background-color: var(--background-color);
    padding: 0.5rem;
  }

  .autor a {
    color: var(--alter-color);
    font-family: var(--font-secondary);
    font-size: 0.9em;
    padding: 0.5rem;
    text-decoration: none;
  }

  .autor a:hover{
    color: var(--primary-color);
  }