:root {
  --azul-cbo: #234c92;
  --gris-claro: #f8f9fa;
  --gris-medio: #6c757d;
  --gris-oscuro: #323e48;
  --blanco: #fff;
}

body {
  background-color: var(--gris-claro);
  color: var(--gris-oscuro);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Navbar */
.navbar {
  background-color: var(--blanco);
  border-bottom: 2px solid var(--azul-cbo);
}

.navbar-brand img {
  max-height: 50px;
}

.nav-link {
  color: var(--azul-cbo);
  font-weight: 600;
  transition: color 0.3s;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--gris-medio);
}

.sitios-img {
  object-fit: contain;
  height: 60px;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.ratio {
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(35,76,146,0.07);
  max-width: 720px;
}

h2, h3, h4 {
  color: var(--azul-cbo);
  font-weight: 700;
  text-align: center;
  margin-bottom: 1rem;
}

h2 {
  margin-top: 3rem;
  font-size: 2.2rem;
}

footer {
  background: var(--blanco);
  color: var(--gris-oscuro);
  border-top: 2.5px solid var(--azul-cbo);
  padding: 1.7rem 0 1rem 0;
  font-size: 1rem;
}

footer a {
  color: var(--azul-cbo);
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
  color: #1d4075;
}

footer address,
footer p,
footer ul {
  color: var(--gris-medio);
  font-size: 1.03rem;
}

@media (max-width: 720px) {
  .logito, .navbar-brand img {
    height: 46px;
    max-width: 82px;
  }
  .ratio {
    max-width: 99vw;
  }
}
