/* Main body styling */
body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background: linear-gradient(to right, #3a4d76, #6b5b95, #c288b6, #f5b1ab);
  background-attachment: fixed;
  font-family: "Lato", sans-serif;
}

/* Nav Styling */
.navbar-brand {
  color: white !important;
  font-weight: 500;
  font-size: 3rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.navbar-brand > span {
  font-size: 3rem;
  padding-right: 0.4rem;
  font-weight: 500;
}

.nav-link {
  font-size: 2rem;
}

.extext {
  font-family: "Tangerine";
}

.nav-link {
  color: white !important;
  transition: color 0.3s ease;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.nav-link:hover {
  color: #00c2b2 !important;
}

.nav-link.active {
  color: #00c2b2 !important;
  font-weight: 500;
}

/* Hero styling */
.hero {
  background-image: url("../images/hero_background.webp");
  background-position: left;
  background-size: cover;
  background-repeat: no-repeat;
  max-height: fit-content;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.hero h1,
#about h1,
#quotes h1,
#tips h1,
#resources h1,
#contact h1 {
  font-size: 4rem;
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.hero p {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.hero .btn {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  width: 11rem;
  margin-bottom: 1rem;
  transition: color 0.3s ease;
}

.hero .btn:hover {
  color: #00c2b2;
}

.linebr {
  border-bottom: solid white 0.1rem;
  max-width: 95rem;
}

/* Card */
.card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  border: none;
  border-radius: 1rem;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  color: white;
}

/* Card Images */
.card > img {
  height: 30rem;
  object-fit: cover;
  object-position: center;
}

/* Card Content */
.card-title {
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.card-text {
  margin-bottom: 1rem;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.accordion {
  margin-top: auto;
}

.accordion-button {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.accordion-button:hover {
  color: #00c2b2;
}

.accordion-body {
  min-height: 10rem;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* Carousel Styling */

.carousel-inner {
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.1);
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* Tips styling */

.tip-header {
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.text-muted {
  color: white !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.tip-quote {
  color: #faf9f6;
}

.tip-text {
  color: white !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  font-weight: 500;
}

/* Resources Styling */

.card-r {
  backdrop-filter: blur(8px);
  background-color: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 1rem;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.title-c {
  color: white;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.text-c {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.title-e {
  padding-bottom: 0.5rem;
}

.audio {
  width: 100%;
  border-radius: 12px
}

/* Contact Section */

.get-container {
  min-height: 490px;
}

.get-title {
  color: white;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.get-container label {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

#map {
  width:100%
}

/* Match form height with map height */
form .btn {
  margin-top: 17.609px;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
}

form .btn:hover {
  color: #00c2b2;
}

/* Open times styling */

th {
  color: white;
  font-size: 1.4rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  padding-right: 2rem;
  padding-left: 2rem;
}

td {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  padding-top: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
}

/* Footer */
footer p {
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  margin-bottom: 0;
}

.message {
  font-style: italic;
}

.message,
footer nav {
  padding-bottom: 1rem;
}

footer a {
  color: white;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  transition: color 0.3s ease;
  padding-inline: 1rem;
}

footer i {
  color: white;
  font-size: 2.5rem;
  padding-inline: 1rem;
  transition: color 0.3s ease;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

footer i:hover {
  color: #00c2b2;
}

footer a:hover {
  color: #00c2b2 !important;
}

footer a.active {
  color: #00c2b2 !important;
  font-weight: 500;
}

/* Add hover effect for hero, cards & resources */

/* Media query for extra small screens */

@media (min-width: 0px) and (max-width: 576px) and (min-height: 500px) {
  .hero {
    background-image: url("../images/hero_background_mobile.jpg");
    margin-top: 5rem;
  }

  #about {
    margin-top: 7.8rem;
  }
}

@media (min-width: 400px) and (max-width: 576px) and (min-height: 750px) and (max-height:830px) {

  .hero {
    margin-top: 7rem;
  }

  #about {
    margin-top: 13rem;
  }
}


@media (min-width: 1024px) {
  .hero:hover,
  .card:hover,
  .card-r:hover,
  .get-container:hover,
  .tips:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
  }
}

@media (max-width: 635px) {
  .hero h1,
  #about h1,
  #quotes h1,
  #resources h1,
  #contact h1 {
    font-size: 2rem;
  }

  .hero h1 {
    padding-bottom: 1rem;
  }

  .hero .btn {
    font-size: 1.2rem;
  }

  td {
    font-size: 1rem;
  }

  .message {
    text-align: center;
  }

  footer nav {
    flex-wrap: wrap;
    justify-content: center;
  }

  footer a {
    padding: 0.5rem;
    font-size: 1rem;
  }

  #footer-icon i {
    padding-inline:  0.1rem;
  }

}

@media (min-width: 992px) and (max-width: 1320px) {
  .nav-link {
    font-size: 1.3rem;
  }

  .navbar-brand {
    font-size: 2rem;
  }
}

@media (max-width: 991px) {
  .navbar-brand {
    font-size: 2rem;
  }
}

@media (max-width: 320px) and (max-height: 500px) {
  .navbar-brand {
    font-size: 1.2rem;
  }

  .hero {
    margin-top: 1rem;
  }

  .hero p {
    font-size: 1rem;
  }
}

/* Card media queries to assure consistency across resolutions (Cards) */

@media (min-width: 1000px) {
  .card {
    min-height: 46rem;
  }
}

@media (min-width: 1200px) and (max-width: 1302px) {
  .card {
    min-height: 52rem;
  }
}

@media (min-width: 1303px) {
  .card {
    min-height: 50rem;
  }
}

@media (min-width: 1772px) {
  .card {
    min-height: 46rem;
  }
}

/* Tips media queries to assure consistency across resolutions */

@media (min-width: 768px) and (max-width: 1000px) {
  .tips {
    min-height: 40rem;
  }
}

@media (min-width: 1000px) and (max-width: 1400px) {
  .tips {
    min-height: 28rem;
  }
}

@media (min-width: 1401px) {
  .tips {
    min-height: 21rem;
  }
}

/* Card media queries to assure consistency across resolutions (Resources) */

@media (min-width: 1200px) and (max-width: 1667px) {
  .title-e {
    padding-bottom: 2.625rem;
  }
}

@media (min-width: 1200px) and (max-width: 1731px) {
  .card-r {
    min-height: 40rem;
  }
}

@media (min-width: 2054px) {
  .card-r {
    min-height: 34rem;
  }
}

/* Media Query for footer */

@media (max-width: 553px) {
  footer a {
    font-size: 1rem;
  }
}
