:root {
  --navbar-footer-color: #5d9dd1;
  --font-size-formha: 1.2rem;
  --border-radius-button: 15px;
  --button-padding-y: 8px;
  --button-padding-x: 15px;
  --button-background: transparent;
  --button-hover-background: rgba(255, 255, 255, 0.2);
  --button-active-background: rgba(2, 62, 138, 0.8);
}

.navbar-custom {
  background-color: var(--navbar-footer-color) !important;
  font-size: var(--font-size-formha);
  padding: 15px 0;

  & .navbar-brand,
  & .nav-link {
    color: white !important;
  }

  & .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  }

  & .navbar-nav .nav-item {
    margin: 0 0.5em;
    border: 2px solid white;
    border-radius: var(--border-radius-button);
    background-color: var(--button-background);
    transition: background-color 0.3s ease;

    & .nav-link {
      display: inline-block;
      padding: var(--button-padding-y) var(--button-padding-x);
      position: relative;
      text-decoration: none;
      width: 100% !important;

      &.active {
        background-color: var(--button-active-background);
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
        border-radius: var(--border-radius-button);
      }
    }

    &:hover {
      background-color: var(--button-hover-background);
    }
  }


}



/* ############################# */
.logo {
  background-color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Animación de rotar el svg */
& .logo svg {
  animation: rotar 5s linear infinite;
}

/* Definición de la animación */
@keyframes rotar {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* Estilos personalizados para el footer */

.footer {
  background-color: var(--navbar-footer-color) !important;
  font-size: var(--font-size-formha);
  color: white !important;
  padding: 3rem 0;

  & .img-cont{
    padding: 0.25em;
    background-color: white;
    border-radius: 10px;
  }

  & i, a {
    color: white !important;
  }

}

.footer h5 {
  color: #f8f9fa;
  margin-bottom: 1.5rem;
  font-weight: 600;
}

.footer a {
  color: #bdc3c7;
  text-decoration: none;
  transition: color 0.3s;
}

.footer a:hover {
  color: #ffffff;
}

.social-icons a {
  display: inline-block;
  margin-right: 15px;
  font-size: 1.25rem;
}


    

/* Smartphones (hasta 767px) */
@media (max-width: 767px) {
  /* body{ background-color: black;  } */
  .logo {
    padding: 2px;
    width: 2.5em;
    height: 2.5em;
  }
}

/* Tablets (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  /* body{ background-color: pink;  } */
  .logo {
    padding: 4px;
    width: 2.5em;
    height: 2.5em;
  }
}

/* Laptops (1024px - 1439px) */
@media (min-width: 1024px) and (max-width: 1439px) {
  /* body{ background-color: purple;  } */
  .logo {
    padding: 6px;
    width: 3em;
    height: 3em;
  }
}

/* PCs de escritorio (1440px - 1919px) */
@media (min-width: 1440px) and (max-width: 1919px) {
  /* body{ background-color: greenyellow;  } */
  .logo {
    padding: 4px;
    width: 3em;
    height: 3em;
  }
}

/* Pantallas Ultrawide (1920px en adelante) */
@media (min-width: 1920px) {
  /* body{ background-color: red;  } */  
  .logo {
    padding: 6px;
    width: 3.5em;
    height: 3.5em;
  }
}
