@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,800;1,100&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css");
body {
  background-color: #121212;
  background-image: url("../img/background.webp");
  background-repeat: repeat;
}

* {
  font-family: "Noto Sans", sans-serif;
  color: white;
  box-sizing: border-box;
  scroll-margin-top: 10rem;
  margin: 0;
  padding: 0;
}

p {
  margin: 0.5rem;
  line-height: 2rem;
}

a {
  text-decoration: none;
  font-weight: 1000;
}
a:hover {
  color: #c40000;
}

ul {
  list-style: none;
}

h1, h2, h3, h4 {
  margin: 1rem;
  font-weight: bolder;
}

img {
  max-width: 100%;
}

.boton {
  background-color: #0044aa;
  color: white;
  padding: 1rem 2rem;
  border-radius: 2rem;
  border: 2px solid #0044aa;
  box-shadow: 3px 3px 3px black;
  opacity: 0.9;
}
.boton:active {
  border: unset;
  box-shadow: unset;
}
.boton:hover {
  color: white;
  opacity: 1;
}
.boton form input {
  background-color: unset;
  border: none;
}

.banner-contacto, .banner-nuestra, .banner-enlaces, .banner-ayuda, .banner-cobertura, .banner-inicio {
  width: 100%;
  height: 20vw;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  padding: 0;
}
.banner-contacto h1, .banner-nuestra h1, .banner-enlaces h1, .banner-ayuda h1, .banner-cobertura h1, .banner-inicio h1 {
  width: 100%;
  font-size: 8vw;
  text-shadow: 0 0 3rem white;
}
.banner-contacto div, .banner-nuestra div, .banner-enlaces div, .banner-ayuda div, .banner-cobertura div, .banner-inicio div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

header {
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 100px, #0044aa 100%);
  padding: 1rem 2rem 0 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: sticky;
  top: 0;
  z-index: 99;
}
header img {
  margin-top: 1rem;
  margin-bottom: 2rem;
  width: 100%;
  opacity: 0.9;
}
header img:hover {
  opacity: 1;
}
header nav a {
  color: white;
  padding: 1rem 1.75rem;
}

.navbar, .navbar-expand-lg {
  margin-bottom: 0;
  padding-bottom: 0;
}

.navbar-collapse .nav-item {
  margin: 1rem 0;
}

.navbar-toggler {
  font-size: xx-large;
  border: 0;
  background-color: none;
  box-shadow: none;
}
.navbar-toggler i:hover {
  color: white;
}

.navbar-toggler:focus {
  box-shadow: 0px 0px 4px white;
}

.nav-item:hover {
  color: white;
  transform: translateX(4px);
  transition: transform 0.2s ease-out;
}
.nav-item:active {
  transform: translate(4px, 2px);
}
.nav-item a:hover {
  color: white;
}

main {
  text-align: center;
  z-index: 1;
}
main nav {
  margin: 2rem;
}
main form {
  width: 100%;
  color: black;
  padding: 0.2rem;
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 1rem;
}
main form select {
  background-color: #121212;
  color: white;
  border: 0;
  padding: 0.2rem;
  width: 100%;
}
main form input {
  width: 100%;
  color: black;
}
main form textarea {
  resize: none;
  color: black;
  width: 100%;
  height: 16rem;
}
main form .textarea {
  grid-column: span 2;
}
main section {
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
main section a {
  color: #0044aa;
}
main section div {
  margin: 2rem;
}
main section div label {
  padding: 0.1rem 2rem;
  text-align: left;
}
main section h1 {
  font-size: 3rem;
}
main section img {
  margin: 2rem;
}
main section ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  color: black;
  font-size: large;
}
main section ul li {
  margin: 0.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section ul li a {
  margin: 0.5rem;
  width: 10rem;
  height: 7rem;
  line-height: 7rem;
  border-radius: 0.5rem;
  border: 0;
  background: white;
  box-shadow: 3px 3px 3px black;
}
main section ul li a:active {
  border: 2px solid white;
  box-shadow: unset;
}
main section ul li a:hover {
  color: #0044aa;
}
main section ul li a img {
  width: 80%;
  max-height: 60%;
  vertical-align: middle;
  margin: auto;
}
main section ul li:hover {
  transform: translate(0, -5px);
  transition: transform 0.3s ease-out;
}

.orden {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tarjetas-planes {
  border-radius: 1rem;
  box-shadow: 3px 3px 3px black;
  margin: 1rem 0.75rem;
}
.tarjetas-planes ul {
  display: flex;
  flex-direction: column;
}
.tarjetas-planes ul li {
  padding: 1.25rem 2rem;
  color: black;
  width: 100%;
  margin: 0;
  background-color: white;
}
.tarjetas-planes ul li:first-child {
  color: white;
  font-size: larger;
  font-weight: 700;
  background-color: #0044aa;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.tarjetas-planes ul li:first-child .nmegas, .tarjetas-planes ul li:first-child i {
  font-size: xxx-large;
  color: white;
}
.tarjetas-planes ul li:last-child {
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  margin: 0;
  padding: 0;
}
.tarjetas-planes ul li:hover {
  transform: none;
  transition: none;
}
.tarjetas-planes ul li .nmegas {
  margin-right: 0.5rem;
  color: black;
  font-size: larger;
  font-weight: 700;
}
.tarjetas-planes ul li i {
  font-size: larger;
  color: #0044aa;
  margin-right: 0.5rem;
}
.tarjetas-planes ul li a {
  border: 0.2rem solid #0044aa;
  border-radius: 1rem;
  margin: 0.5rem;
  width: 70%;
  transition: ease-out 0.1s;
}
.tarjetas-planes ul li a:hover {
  color: white;
  font-size: larger;
  background-color: #0044aa;
  color: white;
}
.tarjetas-planes ul li a:active {
  border: 0.2rem solid #0044aa;
}

.banner-inicio {
  background-image: url("../img/inicio.jpg");
}

.banner-cobertura {
  background-image: url("../img/cobertura.jpg");
}

.banner-ayuda {
  background-image: url("../img/ayuda.jpg");
}

.banner-enlaces {
  background-image: url("../img/enlaces.jpg");
}

.banner-nuestra {
  background-image: url("../img/nuestra.jpg");
}

.banner-contacto {
  background-image: url("../img/contacto.jpg");
}

#categorias-enlaces i {
  color: #0044aa;
  font-size: x-large;
}

.flecha-arriba {
  font-size: xxx-large;
}

.acerca_de {
  min-height: 35vh;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}
.acerca_de p {
  font-size: larger;
  margin: 2rem;
  line-height: 4rem;
}

.opciones-contacto {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  grid-auto-rows: min-content;
  margin-top: 1rem;
  gap: 2rem;
}
.opciones-contacto a {
  color: white;
}
.opciones-contacto div {
  background-color: rgb(41, 41, 41);
  border-radius: 1rem;
  padding-top: 2rem;
  font-weight: 500;
  font-size: x-large;
  width: 98%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
.opciones-contacto p {
  padding: 1.5rem 1rem 0.5rem;
  line-height: 2.5rem;
  min-width: 350px;
}
.opciones-contacto img {
  width: 100%;
  margin: 0;
  border-radius: 1rem;
}
.opciones-contacto .personal {
  grid-column: span 2;
  flex-direction: row;
  justify-content: space-around;
  padding-top: 0;
}
.opciones-contacto .formulario .boton_form {
  grid-column: 2;
  padding: 1rem;
}
.opciones-contacto .formulario div {
  margin: 0;
}

.mapa-contacto {
  width: 50%;
  height: 450px;
}

.mapa-cobertura {
  width: 80%;
  height: 600px;
}

.collapsed {
  background-color: transparent;
}

.accordion {
  width: 90%;
}

.accordion-body img {
  margin: 0;
}

.accordion-button {
  color: white;
}
.accordion-button h2 {
  margin-left: 3vw;
  font-size: x-large;
  font-weight: 700;
}

.accordion-item {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0.5rem;
  border: 0;
}

footer {
  font-weight: 100;
  font-size: 0.65rem;
  padding: 2rem;
  margin: 2rem;
  border: 0;
  border-top: 2px;
  border-color: white;
  border-style: solid;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
footer div {
  position: fixed;
  bottom: 5%;
  right: 2%;
}
footer div a {
  margin: 1rem;
  opacity: 0.9;
}
footer div a:hover {
  opacity: 1;
}
footer div img {
  min-width: 2rem;
  margin-top: 1.5rem;
}
footer div img:hover {
  transform: scale(1.2);
  transition: 0.5s ease;
}

@media screen and (max-height: 640px) {
  header, footer div {
    position: static;
  }
}
@media screen and (min-width: 1100px) {
  .banner-inicio, .banner-cobertura, .banner-ayuda, .banner-enlaces, .banner-nuestra, .banner-contacto {
    height: 15vw;
  }
}
@media screen and (max-width: 1500px) {
  .opciones-contacto {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .opciones-contacto .personal {
    grid-column: span 1;
    flex-direction: column;
    justify-content: space-around;
  }
  .opciones-contacto .formulario {
    grid-column: span 1;
  }
  .mapa-contacto, .mapa-cobertura {
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .opciones-contacto {
    display: flex;
    flex-direction: column;
  }
  .opciones-contacto .formulario form {
    flex-direction: column;
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
}
@media screen and (max-width: 990px) {
  .navbar {
    width: 80%;
  }
}
@media screen and (max-width: 550px) {
  header, footer div {
    position: static;
  }
  main section {
    padding-left: 0.1rem;
    padding-right: 0.1rem;
    margin: 0;
  }
  main section ul li a {
    width: 8.5rem;
  }
  .accordion div {
    margin: 0rem;
  }
  .accordion p {
    padding: 3rem 0.5rem;
  }
  .accordion-item {
    padding: 0;
    margin: 1rem 0;
  }
  .accordion-body {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 1rem;
  }
  .opciones-contacto div {
    margin: 0.5rem;
  }
  .navbar {
    width: 100%;
  }
}
