body {
  font-family: "New Amsterdam";
}

.container-fluid {
  margin: 0;
  padding: 0;
}

.socials-bar {
  width: 100%;
  background-color: #059bdb;
  padding: 5px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.socials-link {
  font-size: 1rem; /* Adjust the font size as needed */
  margin-right: 5px; /* Space between text and images */
  color: rgb(255, 255, 255); /* Adjust the text color if needed */
  text-decoration: none; /* Remove underline from link */
}

.centered-images {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.centered-images img {
  display: block;
  width: 20px;
  height: 20px;
}

.navbar {
  background-color: #000000;
  border: none;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.navbar-brand {
  font-size: 500;
  color: #ffffff;
  font-variant-east-asian: simplified;
  text-decoration: none;
  align-items: start;
}

.navbar-brand:hover {
  text-decoration: none; /* Ensure no underline on hover */
  color: #4d4d4d; /* Ensure it inherits the color */
}

/* Nav Link */
.nav-link {
  align-items: center;
  color: #ffffff;
}

.nav-link:hover {
  color: #059bdb;
}

.nav-link.selected::after {
  content: "";
  display: block;
  width: 20px;
  height: 4px;
  background-color: #059bdb;
  border-radius: 25%;
  margin: 0 auto;
  margin-top: 2px;
  align-items: left;
}

.navbar-toggler,
.navbar-toggler:active,
.navbar-toggler.active,
.navbar-toggler:focus {
  text-decoration: none;
  border-width: 2px;
  border-color: rgb(255, 255, 255);
  color: transparent;
}

.navbar-toggler-icon {
  background-color: transparent;
  position: relative;
  width: 22px; /* Reduced width */
  height: 20px; /* Adjusted height */
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after,
.navbar-toggler-icon .bar {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #059bdb;
  position: absolute;
  left: 0;
  border-radius: 1.5px;
}

.navbar-toggler-icon::before {
  top: 2px;
}

.navbar-toggler-icon::after {
  bottom: 2px; /* Adjusted for consistency */
}

.navbar-toggler-icon .bar {
  top: 50%;
  transform: translateY(-50%);
  background-color: #059bdb;
}

/* Bounce animation */
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-8px);
  }
  60% {
    transform: translateY(-5px);
  }
}

/* Apply bounce on hover */
.nav-link.selected:hover::after {
  animation: bounce 1s;
}

.overlay-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  color: white;
  padding: 20px;
  border-radius: 10px;
  width: 80%; /* Ensures the content doesn't get too wide */
}

.overlay-content h1 {
  font-size: 3.5em;
  margin: 10px 0;
}

.overlay-content p {
  font-size: 1em;
  margin: 10px 0;
}

.overlay-content .btn {
  padding: 10px 20px;
  font-size: 1em;
}

.ethos-text {
  font-size: 2rem;
  font-weight: 100;
}

@media (max-width: 992px) {
  .ethos-text {
    font-size: 3rem;
  }

  .nav-link.selected::after {
    width: 100%;
    border-radius: 1px;
    height: 4px;
  }
}

@media (max-width: 768px) {
  .overlay-content {
    width: 90%;
    padding: 10px;
    top: 50%;
  }

  .overlay-content h1 {
    font-size: 3.5em;
  }

  .overlay-content p {
    font-size: 0.9em;
  }

  .overlay-content .btn {
    padding: 8px 16px;
    font-size: 0.9em;
  }

  .nav-link.selected::after {
    width: 100%;
    border-radius: 1px;
    height: 4px;
  }

  .ethos-text {
    font-size: small;
  }

  .class-card-body {
    padding: 15px;
  }

  .class-card-title {
    font-size: 1.25rem;
  }

  .class-card-text {
    font-size: 0.9rem;
  }
}

/* Media query for very small screens */
@media (max-width: 480px) {
  .overlay-content {
    width: 95%;
    padding: 40px;
    top: 50%;
  }

  .overlay-content h1 {
    font-size: 3em;
  }

  .overlay-content p {
    font-size: 0.9em;
  }

  .overlay-content .btn {
    padding: 6px 12px;
    font-size: 0.8em;
  }
  .nav-link.selected::after {
    width: 100%;
    border-radius: 1px;
    height: 4px;
  }

  .nav-link {
    margin-left: 6px;
    margin-right: 6px;
  }

  .ethos-text {
    font-size: 1rem;
  }
}

.form-control:focus {
  border-color: #059bdb; /* Custom border color */
  box-shadow: 0 0 5px rgb(5, 155, 219, 0.8); /* Optional: Add a custom shadow */
  outline: none; /* Remove default outline */
}

#contact-info {
  margin: 0px 0;
}

#customButton {
  color: white; /* Blue color */
  background-color: #059bdb;
  border-width: 2px;
}

#customButton:hover {
  background-color: #ffffff; /* Blue background color on hover */
  color: #059bdb; /* Text color on hover */
  border-color: black;
}

#customButton2 {
  color: #059bdb; /* Blue color */
  background-color: #ffffff;
  border-width: 2px;
}

#customButton2:hover {
  background-color: #ffffff; /* Blue background color on hover */
  color: #059bdb; /* Text color on hover */
  border-color: black;
}

.booking-form {
  max-width: 600px;
  margin: auto;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.text-underline {
  position: relative;
  display: inline-block;
}

.text-underline::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2.5px;
  bottom: -1.1px;
  left: 0;
  background-color: #059bdb;
  border-radius: 5px;
}

#close {
  margin: 2px 0;
}

.image-container {
  height: 66.67%; /* Set the container height to 66.67% to show two-thirds of the image */
  overflow: hidden; /* Hide overflow to cut off the bottom part of the image */
  position: relative;
}

.class-card {
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
  transition: transform 0.3s ease;
}

.class-card:hover {
  transform: translateY(-10px);
}

.class-card-img-top {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.class-card-body {
  padding: 20px;
  text-align: center;
}

.class-card-title {
  font-size: 2rem;
  margin-bottom: 10px;
  color: #059bdb;
}

.class-card-text {
  font-size: 1rem;
  color: #555;
}

.class-card-secondary {
  font-size: 1.2rem;
  color: #555;
}

.blueback {
  background-color: #059bdb;
}

.whitetext {
  font-size: 1rem;
  color: #ffffff;
}

.whitetitle {
  font-size: 2rem;
  margin-bottom: 10px;
  color: #ffffff;
}
