@charset "UTF-8";
* {
  font-size: 16px;
}

@font-face {
  font-family: "Laton";
  src: url("../fonts/Lato/Lato-Regular.ttf"), url("../fonts/Lato/Lato-Thin.ttf"), url("../fonts/Lato/Lato-Bold.ttf");
}
body {
  font-family: "Laton";
}

.cabecera {
  background-color: black;
  padding: 0.8rem;
}

.active {
  background-color: #253e55;
  scale: 1;
  color: white;
}

.btn-success {
  font-weight: bold;
}

.breadcrumb {
  margin-bottom: 0.3rem;
}

.bienvenida {
  background: url("../img/main/fondo.jpg") no-repeat;
  background-size: cover;
  height: 90vh;
  background-attachment: fixed;
  color: white;
}

.bienvenida .texto {
  margin-top: 4rem;
  font-size: 2rem;
}

.bienvenida .texto h1 {
  font-size: 4.5rem;
}

.bienvenida .texto p,
.bienvenida .texto span {
  font-size: 3.5rem;
}

.bienvenida .texto span {
  color: #8ecae6;
}

.bienvenida .texto .btn-contactar {
  padding: 1rem;
  width: 300px;
  height: 80px;
  font-size: 1.5rem;
  text-transform: uppercase;
  -webkit-animation: latido 1s infinite ease-in-out;
          animation: latido 1s infinite ease-in-out;
}

/*Seccion de pasos*/
.steps .step {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: antiquewhite;
}

.steps .step h2 {
  font-weight: bold;
}

.steps .step span {
  font-weight: bold;
  font-size: 1.2rem;
}

/*Animación*/
@-webkit-keyframes latido {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes latido {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.contactos .textoInformativo h2 {
  font-size: 48px;
  line-height: 52px;
  text-decoration: underline;
}

.contactos .textoInformativo p {
  font-size: 2rem;
}

footer {
  padding-top: 4rem;
  background-color: black;
  color: white;
}

footer .datos-contacto h4 {
  text-decoration: underline;
}

footer .datos-contacto {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

footer .datos-contacto a {
  font-size: 1.8rem;
  text-decoration: none;
}

.planes .container .row {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.planes .container .row .card {
  margin: 1.5rem 0 1.5rem 0;
  -webkit-box-shadow: 0 1rem 2rem rgb(0, 0, 0) !important;
          box-shadow: 0 1rem 2rem rgb(0, 0, 0) !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.planes .container .row .card .card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

.planes .container .row .card p {
  font-size: 1.5rem;
}

/* Botón flotante */
#btn-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  z-index: 999;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 50%;
  padding: 12px 16px;
  font-size: 18px;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

#btn-top:hover {
  background-color: #0056b3;
}

.planes a {
  text-decoration: none;
}

.pagError h1 {
  font-size: 8rem;
}

.pagError p {
  font-size: 4rem;
  text-align: center;
}

.pag-nosotros {
  height: 40vh;
  position: relative;
  margin: 0;
  top: 0;
  padding: 0;
}

.pag-nosotros .contenidoTitulos,
.pag-contacto .contenidoTitulos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4rem;
}

.pag-nosotros .contenidoTitulos .titulosPortada,
.pag-contacto .contenidoTitulos .titulosPortada {
  font-size: 6rem;
  text-align: center;
}

/* El contenedor del video ocupa toda la pantalla */
.pag-nosotros .video-fondo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  /* detrás del contenido */
  -o-object-fit: cover;
     object-fit: cover;
}

/* Capa oscura encima del video */
.pag-nosotros .overlay,
.pag-contacto .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* opacidad ajustable */
  z-index: -1;
}

.pag-contacto .fondo-principal {
  background: url("../img/contacto/fondo-contacto.jpg") center;
  background-size: cover;
  height: 40vh;
  width: 100%;
  background-attachment: fixed;
  position: relative;
  z-index: -2;
}

.pag-contacto .datos-contacto .datos span,
.pag-contacto .datos-contacto .datos a,
.pag-contacto .datos-contacto .datos p {
  font-size: 2rem;
  text-decoration: none;
}

@media (max-width: 575px) {
  .bienvenida .texto img {
    width: 50%;
  }
  .bienvenida .texto span {
    font-size: 2.5rem;
  }
  footer .datos-contacto {
    text-align: center;
  }
  .bienvenida .texto h1 {
    font-size: 2rem;
  }
  .bienvenida .texto p {
    font-size: 1.5rem;
  }
  .textoInformativo .textoContacto p {
    font-size: 20px;
  }
  .pag-nosotros {
    height: 40vh;
  }
  .pag-nosotros .contenidoTitulos .titulosPortada,
  .pag-contacto .contenidoTitulos .titulosPortada {
    font-size: 4rem;
  }
  /*Página Contactos*/
  .pag-contacto .datos-contacto .datos span,
  .pag-contacto .datos-contacto .datos a,
  .pag-contacto .datos-contacto .datos p {
    font-size: 1.5rem;
    text-decoration: none;
  }
  .pag-cobertura h1 {
    text-align: center;
  }
  .pag-cobertura .mapa-cobertura {
    height: 450px;
  }
  .pag-cobertura .dat-cobertura {
    text-align: center;
  }
}
@media (max-width: 768px) {
  footer .datos-contacto {
    text-align: center;
  }
  .navbar button {
    background-color: white;
    outline: none;
  }
  .navbar .navbar-collapse {
    text-align: center;
  }
  .navbar .navbar-collapse a {
    border-bottom: 1px solid;
    text-transform: uppercase;
  }
}
@media (min-width: 769px) {
  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 1rem;
  }
  .navbar .collapse li a {
    font-size: 18px;
    -webkit-transition: all ease-out 0.5s;
    transition: all ease-out 0.5s;
    padding: 2rem;
    border: 1px solid;
  }
  .navbar .collapse li a:hover {
    background-color: #253e55;
    scale: 1.2;
    color: white;
    position: relative;
    z-index: 1;
  }
  .navbar .collapse li:hover a {
    color: white;
  }
  footer .datos-contacto {
    text-align: right;
  }
  .pag-cobertura .mapa-cobertura {
    height: 600px;
  }
}