@import url('./variables.css');
@import url('./mkte_services_circuitos.css');


/*GENERALES*/

#error404 {
    margin-top: -35px;
    margin-bottom: -30px;
}

html {
  scroll-behavior: smooth!important;
}

:root {
    --primary: #FC9F00;
    --secondary: #0046AA;
    --gris: #1F2124;
}

body {
    font-family: 'Montserrat', sans-serif; 
    font-size: 16px;
    overflow-x: hidden;
    scroll-behavior: smooth!important;
}

a, a:hover, a:focus {
    text-decoration: none!important;
}

.input-group-addon {
    background:var(--primary);
    color: white;
    border-color: var(--primary);
}

.resultado #header-HAPPY {
    margin-bottom: 0;
}

.resultado .jumbotron {
    margin-bottom: 30px;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background-color: var(--primary);
}

body.resultado #container {padding-top: 25px; padding-bottom: 25px;}

@media (min-width: 1024px) {
    .container-plus {
        width: 95%;
        max-width: 1400px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
  #header-HAPPY #logo-header {
    display: none;
  }
}

/*HEADER*/

#header-HAPPY .pre-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 0;
}

#header-HAPPY .pre-header a {
    color: var(--gris);
}

#header-HAPPY .pre-header i {
    color: var(--primary);
}

.contacto-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-right: 20px;
    font-weight: 500;
}

.redes-header a {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center; 
}

.redes-header a i {
    color: #ffffff!important;
}

.redes-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    color: #ffffff;
}

#header-HAPPY {
    padding: 20px 0 0; 
    width: 100%;
    background-color: #FFFFFF;
    height: 85px;
}

#header-HAPPY #logo-header {
    margin-top: -5px;
}

#header-HAPPY .navbar-default .navbar-toggle .icon-bar {
    background-color: var(--gris);
}
.navbar-default .navbar-toggle {
    border-color: var(--gris);
}

#header-HAPPY .navbar-default .navbar-toggle,
#header-HAPPY .navbar-default .navbar-toggle:hover {
    background-color: transparent!important;
}

#header-HAPPY .navbar-default {
   background-color: transparent;
   border:none;
   display: flex;
   justify-content: flex-end;
   margin-bottom: 10px;
}
#header-HAPPY .navbar-default a.btn-invert {
    color: #ffffff !important;
    background-color: var(--primary);
    border-radius: 50px;
    font-weight: 700 !important;
}

#header-HAPPY .wrapper-botonera-landings {
    background-color: var(--primary);
    margin-top: 5px;
}

@media(min-width: 769px) {
    .navbar-collapse.collapse, .wrapper-nav {
        padding: 0!important;
    }
    #header-HAPPY .navbar-default a.btn-invert {
        margin-left: 20px;
    }
}

@media (max-width:768px) {
    #header-HAPPY .navbar-default {
        display: block;
        margin-top: 5px;
    }
    #header-HAPPY {
        padding: 5px 0 10px 0;
    }
    #slidesup .carousel-caption h1 {
        font-size: 28px!important;
    }
    #slidesup .carousel-caption h3 {
        font-size: 21px!important;
    }
    .navbar-default .navbar-collapse {
        background-color: #22222290;
        margin-top: 20px;
    }
    #header-HAPPY .navbar-default a {
        color: #ffffff!important;
    }
}

#header-HAPPY .navbar-default a {
    color: var(--gris);
    font-weight: 400;
    padding: 10px 15px;
}

#header-HAPPY .navbar-default a:hover {
    color:var(--primary)
}

#header-HAPPY .navbar-default .dropdown-menu>li>a {
    background-color: var(--secondary);
    padding: 7px 15px;
    color:white!important;
}
#header-HAPPY .navbar-default .dropdown-menu>li>a:hover {
    background-color: #1b9ca1;
    color:white;
}

#header-HAPPY .navbar-default .navbar-nav>.active>a,
#header-HAPPY .navbar-default .dropdown-menu,
#header-HAPPY .navbar-default .navbar-nav>.open>a {
    background: transparent;
    border:none;
    box-shadow: none;
    color: var(--secondary)
}

#header-HAPPY .navbar-default a {
    color: var(--gris);
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
    font-size: 16px;
}

#header-HAPPY .navbar-default .dropdown-menu a:hover {
    background-color: transparent;
    color: var(--secondary);
    display: flex;
    justify-content: flex-end;
}

#header-HAPPY .navbar-default .dropdown.open > a {
    border-bottom: none;
}

#header-HAPPY .link-promo {
    padding-top: 16px!important;
    padding-bottom: 16px!important;
    padding-left: 40px!important;
    padding-right: 40px!important;

    font-size: 12px!important;
    text-decoration: none!important;

    color: #ffffff!important;
    background: var(--primary);

    transition: all .2s linear;

    border-style: solid;
    border-top-width: 0;
    border-right-width: 0;
    border-left-width: 0;
    border-bottom-width: 0;
    border-color: var(--primary);
    background-color: var(--primary);
    font-weight: 700!important;
    line-height: 1em;
    text-transform: uppercase;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
}

#header-HAPPY .link-promo:hover {
  background: #fcba00!important;
}

@media(min-width: 769px) {
  #header-HAPPY .link-promo {
    margin-left: 20px;
  }
}



/*CONTENIDO*/

.title_home {
    color:var(--gris);
    text-align: center;
    font-weight: 700;
    margin: 40px auto 25px auto;
    font-size: 34px;
}

.ver_mas {
    border-radius: 10px;
    color: var(--gris);
    border: solid 1px var(--gris-medio);
    padding: 10px 30px;
    display: inline-block;
    margin: auto;
    font-size: 16px;
}

.banners_home {
    padding: 30px 0;
    background-color: #f1f1f1;
}

/* SECCIÓN */
.seccion-top {
  padding: 80px 0;
}

/* TEXTO */
.seccion-top h1 {
  font-size: 53px;
    font-weight: 800;
    line-height: 1em;
    color: var(--secondary);
}

.linea {
  display: block;
  width: 50px;
  height: 3px;
  background: var(--primary);
  margin: 25px 0;
}

.seccion-top p {
    font-family: 'Open Sans', sans-serif;
  color: var(--gris);
  margin-top: 30px;
  margin-bottom: 40px;
  line-height: 1.8;
}

/* BOTÓN */
.btn-comprar {
  background-color: var(--secondary);
    font-family: "Montserrat", Sans-serif;
    font-size: 12px;
    fill: #FFFFFF;
    color: #FFFFFF;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.32);
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
    padding-top: 15px;
    padding-right: 40px;
    padding-bottom: 15px;
    padding-left: 40px;
    font-weight: 700;
    transform: scale(1);
    transition: all 0.3s ease!important;
    opacity: 0;
}

.btn-comprar.visible:hover {
    background-color: #107CF8;
    font-size: 12px;
    fill: #FFFFFF;
    color: #FFFFFF;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.32);
    transition: all 0.3s ease!important;
    transform: scale(.9)!important;
}

/* FORM */
.form-box {
  background: url('../images/bg-form.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 20px;
  height: 500px;
    padding: 30px;
}

/* IMÁGENES */
.img-box {
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  height: 240px;
  margin-bottom: 20px;
}

.img-box.top {
  background-image: url('../images/img1.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
}

.img-box.bottom {
  background-image: url('../images/img2.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
}

.img-box.top.visible {
  animation: bounceUp 0.9s forwards;
  animation-fill-mode: forwards!important;
  animation-delay: 0.5s;
}

.img-box.bottom.visible {
  animation: bounceUp 0.9s forwards;
  animation-fill-mode: forwards!important;
  animation-delay: 1s;
}

.btn-anim.visible {
  animation: bounceUp 0.9s forwards;
  animation-fill-mode: forwards!important;
  animation-delay: 1.5s;
  transition: all 0.3s ease!important;
}

@keyframes bounceUp {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.1); /* 👈 overshoot fuerte */
  }

  65% {
    transform: scale(0.95); /* 👈 vuelve bastante */
  }

  80% {
    transform: scale(1.03); /* 👈 rebote suave */
  }

  90% {
    transform: scale(0.98); /* 👈 micro corrección */
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .seccion-top {
    padding: 0 0 50px 0!important
  }
  .form-box {
    height: auto!important;
    margin-top: 50px;
    margin-bottom: 20px;
  }
}


#formConsulta h3 {
  color: #ffffff;
  font-size: 23px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}
#formConsulta .list-group-item {
  border: none!important;
  background-color: transparent!important;
}
#formConsulta .panel, #formConsulta .panel-default {
  border: none!important;
  background-color: transparent!important;
}
#formConsulta .form-control {
  border-radius: 10px;
  height: 40px;
}
#formConsulta .btn-default {
  background-color: var(--primary);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  border-bottom-left-radius: 30px;
  padding-top: 15px;
  padding-right: 40px;
  padding-bottom: 15px;
  padding-left: 40px;
}
#formConsulta .list-group-item {
            padding: 0 15px!important;
}
#formConsulta textarea.form-control {
  height: 80px!important;
  resize:none;
}
#formConsulta .escondido { display: none; }

/* FOOTER BASE */
.footer {
  position: relative;
}

.footer-inner {
  background: linear-gradient(to bottom, #76ABF7, #165DC2);
  padding: 60px 0;
  position: relative;
}

/* AVIÓN */
.avion-anim {
  position: absolute;
  left: -200px; /* empieza afuera */
  top: -75px;
  width: 390px;
  opacity: 0;
}

/* estado visible */
.avion-anim.visible {
  animation: avionEntrada 0.75s ease-out forwards;
}

/* animación */
@keyframes avionEntrada {
  0% {
    left: -350px;
    opacity: 0;
  }
  20% {
    left: -300px;
    opacity: 1;
  }
  100% {
    left: -180px;
    opacity: 1;
  }
}

/* LOGOS */
.logo-footer {
  max-width: 227px;
  margin-top: -10px;
}

.wrapper-logos-footer {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    align-items: center;
}

.logo-secundario {
  max-width: 60px;
  display: block;
  margin: -20px auto 10px;
}
.logo-sellos {
    margin-top: -50px;
}

.logo-sello {
  max-width: 60px;
  display: block;
  margin: auto;
}

@media(max-width: 768px) {
  .wrapper-logos-footer {
    justify-content: center!important;
  }
  .logo-sellos {
    margin-top: 0!important;
  }
}

.copyright {
  font-size: 12px;
}

/* TEXTOS */
.footer a {
  color: #fff;
  margin: 5px 0;
  font-size: 12px;
}

.footer p {
  color: #fff;
  font-size: 10px;
  text-align: center;
}

.footer a:hover {
  color: #fff;
  transition: color 0.3s;
}

.footer a i {
  width: 20px;
  font-size: 14px;
}


@media (max-width: 768px) {

  .avion-anim {
    width: 120px;
    top: 10px;
  }

  .footer ul {
    text-align: center;
  }

  .footer .text-right,
  .footer .text-center {
    margin-top: 15px;
  }

  .logo-secundario, .logo-sello {
    margin: 0px auto 10px!important;
  }

}



#consultar {
    background: #131313;
    padding: 10px 0;
    font-size: 15px;
}

#consultar a {
    color:#FFFFFF;
}