html, body {
    overflow-x: hidden; /* Prevent horizontal scrolling */   
    max-width: 1920px; /* Constrain width to viewport */
    margin: 0 auto;
}

.navbar-theme {
    background-color: rgb(120, 185, 250);
}

.page-theme {
    background-color: rgb(91, 168, 246);
}
.navbar-theme-offset {
    background-color: rgb(89, 164, 240);
}

#services, #index.html#services, #about, #index.html#services, #contact-section  {
    scroll-margin-top: 50px;
    scroll-margin-bottom: 50px;
}

.darkest-theme {
    background-color: #2D6296;
}

.index-theme {
    background-color: rgb(8, 57, 78);
}

.index-theme-offset {
    background-color: rgb(10, 62, 81);
}

ul.list-arrows li::before {
    content: '→'; /* Or choose a custom arrow symbol */
    color: white;
    margin-right: 10px;
}

ul.list-arrows {
    list-style-type: none; /* Remove default bullets */
    padding: 0;
}

.page-headline {
    font-size: 3.5rem;
    color: white;
    font-weight: 600;
}
.page-subheadline {
    font-size: 2.8rem;
    color: white;
    font-weight: 500;
}

body.fadein {
    opacity: 0; /* Start fully transparent */
    transition: opacity 1.5s ease; /* Apply a smooth transition */
}

/* Final state: after the page is fully loaded */
body.fadein.loaded {
    opacity: 1; /* Fade in to fully visible */
}

.titillium-web-regular {
    font-family: "Titillium Web", sans-serif;
    font-weight: 400;
    font-style: normal;
}
  
body {
    display: flex;
    flex-direction: column;
    margin: 0; /* Reset default body margin */
    background-color: rgb(120, 185, 250);
    transition: all 0.15s ease-in-out;
    z-index: -99;
}

#footer {
    margin-top: auto; /* Pushes the footer to the bottom */
}

p {
    color: white;
}

.flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.facilities-text-address {
    color: rgb(102, 171, 240)!important;
}
.custom-font {
    font-family: "Titillium Web", sans-serif;
}

/* NAVBAR CSS */
.navbar {
    background-color: rgba(68, 150, 231, 0); /* Slightly colored and transparent */
    transition: background-color 0.5s ease, box-shadow 0.5s ease, text-decoration 0.5s ease; /* Smooth transitions */
    position: fixed;
    width: 100%;
    z-index: 1000;
    top: 0;
    height: 107px;
    min-height: 13vh;
    max-width: 1920px; /* Limit the navbar to 1920px */
    margin: 0 auto; /* Center the navbar */
}

.navbar.custom-navbar, .navbar.custom-navbar.scrolled {
    /* Inherit all the properties from the original navbar */
    background-color: rgba(120, 185, 250, 0.96); /* Less transparent on scroll */
}

.asphalt-navbar {
    text-decoration: none!important;
}

.navbar.scrolled {
    background-color: rgba(120, 185, 250, 0.98);/* Less transparent on scroll */
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4); /* Glow at bottom */
    text-decoration: none; /* Remove underline on scroll */
    transition: background-color 0.5s ease, box-shadow 0.5s ease, text-decoration 0.5s ease; /* Ensure smooth transition */
}

.d-flex {
    display: flex; /* Use flex for alignment */
    align-items: center; /* Center items vertically */
}
.logo {
    height: auto; /* Maintain aspect ratio */
    width: 14rem;
    min-width: 120px;
    padding: 1vw;
    filter: contrast(1.5); /* Increase contrast for a sharper look */
    display: block; /* Prevents inline spacing issues */
}

.navbar-brand {
    display: flex; /* Use flex for alignment */
    align-items: center;
    justify-content: center;
}

.navbar-nav .nav-link {
    transition: color 0.3s ease, background-color 0.3s ease;
    margin-left: 1.5vw;
    margin-right: 1.5vw;
    color: rgb(255, 255, 255);
    text-align: center;
    font-size: 1.5rem;
}

.nav-item {
    align-items: center;
    justify-content: center;
}

.navbar-nav .nav-link.active {
    color: rgb(255, 255, 255);
    text-align: center;
    font-size: 1.5rem;
}

.navbar-toggler {
    background-color: #FFFFFF;
    border: 0.1vw solid transparent;
}

/* Change the dropdown toggle color on hover */
.nav-item.dropdown:hover .nav-link {
    background-color: rgb(99, 171, 243);
    color: white;
}

/* Enable dropdown on hover */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0; /* Adjust to remove the delay effect */
}

/* Dropdown Menu Styling */
.dropdown-menu {
    background-color: rgb(78, 154, 231);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* Soft shadow for depth */
    min-width: 180px; /* Prevents overly small dropdowns */
    padding: 10px 0; /* Adds padding to the menu */
    border-radius: 0;
    min-width: 100%;
    border-color: rgb(99, 171, 243)
}

/* Dropdown Item Styling */
.dropdown-item {
    padding: 10px 20px; /* More spacing for easy clicking */
    font-size: 1.15rem; /* Slightly larger text */
    font-weight: 600;
    color: rgb(255, 255, 255);
    font-family: "Titillium Web", sans-serif;

}
.dropdown-item:hover::after {
    content: "  ➜"; /* Unicode right arrow */
    position: absolute;
    right: 15px; /* Adjust the spacing */
    opacity: 1;
    transition: all 0.3s ease-in-out;
}

.navbar-hero {
    background-color: rgb(120, 185, 250); /* Less transparent on scroll */
    transition: background-color 0.5s ease, box-shadow 0.5s ease, text-decoration 0.5s ease; /* Smooth transitions */
    position: fixed;
    width: 100%;
    z-index: 1000;
    top: 0;
    min-height: 107px;
    height: 15vh;
    max-width: 1920px; /* Limit the navbar to 1920px */
    margin: 0 auto; /* Center the navbar */
    /* box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);  */
}

/* Add unique styles if necessary for spacing on this page */
.navbar-hero + .carousel {
    margin-top: 107px; /* Adjust to create space below navbar */
}

/* CAROUSEL CSS */
.carousel-item {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: all 0.15s ease-in-out;
    max-height: 95vh;
    height: 95vh;
}

.navbar-nav {
    margin-left: 5%;
}

@media (max-width: 992px) {
    .navbar-brand, .navbar-nav {
        margin-left: 0%;
    }
}
@keyframes zoomEffect {
  0% {
    transform: translateY(-2.25%) scale(1);
  }
  50% {
    transform: translateY(-2.25%) scale(1.02);
  }
  100% {
    transform: translateY(-2.25%) scale(1);
  }
}


.btn-custom {
    display: inline-block;
    padding: 12px 30px;
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-align: end!important;
    border-radius: 50px;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 10px rgba(0, 91, 187, 0.4);
    border: none;
    font-family: "Titillium Web", sans-serif;
}

.btn-custom:hover {
    background: linear-gradient(135deg, #0056b3, #003f7f);
    box-shadow: 0 6px 15px rgba(0, 91, 187, 0.6);
}

.carousel-item.active img {
    animation: zoomEffect 10s infinite ease-in-out; /* 10s duration, infinite looping */
    transform-origin: center; /* Keep the zoom centered */
}
.carousel-inner {
    z-index: 5;
    position: relative;
}

.carousel-inner img {
    height: 104%;
    object-fit: cover; /* Ensure the image covers the area */
    object-position: 94% 70%;
    transition: all 0.15s ease-in-out;
    transform: translateY(-1.25%)
}


.carousel-caption {
    position: absolute;
    padding: 1.5vh 1.5vw 0.5vh; /* Default padding */
    border-radius: 1vw;
    top: 74.5%;
    left: 22.5%;
    transform: translate(-30%, -55%); /* Center the caption */
    width: 35vw;
    min-width: 500px;
    height: 20vh;
    text-shadow: 0.2vw 0.2vh 0.4vh rgba(0, 0, 0, 0.3);
    display: flex; /* Flexbox container */
    flex-direction: column; /* Stack items vertically */
    justify-content: center; /* Center items vertically */
    text-align: left; /* Center text inside each element */
    height: 100%; /* Ensure container takes up the desired height (if necessary) */
    transition: all 0.15s ease-in-out;
}

.text-line {
    font-size: 4rem; /* Adjust font size as needed */
    line-height: 4.2rem; /* Adjust line-height to ensure proper spacing */
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    color: white;
    margin: 0;
    display: block;/* or inline-block */
    text-align: left;
    letter-spacing: -2.5px;
    word-spacing: 1px;
}


@media (max-width: 768px) {
    .carousel-caption .btn-5 {
        display: none!important;
    }
}
#cc-box {
    margin-top: 0; 
    padding-top: 0;
    width: 100%;
    justify-content: center;
    display: flex;
    align-items: center;
    display: none;
}

.cc-box-caption {
    font-size: 1.5rem;
    color: white;
    margin: 0; /* Prevents unwanted spacing */
    text-align: end;
}

.cc-container-box {
    display: none; /* Hidden by default */
}

.cc-button-container {
    text-align: end;
    display: block;
}

.small-text {
    font-size: 1.7rem; /* Slightly larger for readability */
    font-weight: 300; /* A bit more weight for better visibility */
    line-height: 1.8rem;
    color: #f0f0f0; /* Slightly softer white for contrast */
    letter-spacing: -0.5px;
    word-spacing: 3px;
}

/* ABOUT SECTION CSS */
#about {
    margin-top: 0; 
    padding-top: 0;
    width: 100%;
    justify-content: center;
    display: flex;
    align-items: center;
}

#about h3 {
    font-weight: 550;
}

#about h3, #about p {
    color: #FFF;
    font-family: "Titillium Web", sans-serif;
}

#about a {
    color: white;
}

#about p {
    font-size: 1.15rem;
}

/* Ensure 2x2 grid layout remains aligned */
#about .row {
    display: flex;
    flex-wrap: wrap;
}

/* Make sure all content boxes are of equal height */
#about .col-lg-6 {
    display: flex;
    justify-content: center;
    height: auto;
    text-align: left;
    align-items: center;
}

/* Keep images from stretching the layout */
.about-content-image img {
    width: 42vw;
    max-width: 800px;
    height: 44vh;
    max-height: 650px;
    object-fit: cover;
    display: block;
    overflow: hidden;
}

.about-content {
    margin: 0; /* Removes excess margin */
    padding: 0; /* Removes excess padding */
    flex-grow: 1; /* Makes sure text content fills space properly */
}

#links p {
    color:#003a7f;
}

#links h3 {
    color:#003a7f;
    font-weight: 550;
}

#links .img {
    width: 100%;
}

.link-container {
    position: relative;
    height: 300px; /* Adjust as needed */
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.link-container:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.link-text {
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent overlay */
    color: #fff;
    background-color: rgba(255, 255, 255, 1);
    bottom: 0;
    transition: background-color 0.3s ease;
}

.link-container:hover .link-text {
    background-color: rgba(255, 255, 255, 0.95);
}

.link-image {
    width: 100%;
    object-fit: cover;
    height: 100%;
    object-position: 12% 79%;
}

#links .link-container {
    border: 0.5vw solid  rgba(155, 195, 241, 0.95); /* White border around the button */
    /* border-radius: 8px;  */
    box-sizing: border-box; /* Ensures the border doesn't affect sizing */
}

#links .link-container:hover {
    border-color: #2f7cc4; /* Optional: Change the border color on hover for interactivity */
}
/* SERVICES CSS */
#services {
    justify-content: center;
    display: flex;
    align-items: center;

}

#services h4 {
    color: #FFF;
    font-family: "Titillium Web", sans-serif;
    font-weight: 550;
    font-size: 1.75rem;
}

.services-content {
    margin-left:1vw;
    margin-right: 1vw;
    /* margin-top: 1vh;
    margin-bottom: 1vh; */
}

#services h2 {
    font-size: 2.1rem;
    font-weight: 550;
}

#services p {
    font-size: 1.125rem;
}

#services .row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.service-title {
    border-radius: 1vw;
    color: white;
    margin-bottom: 1vh;
}

#services h2, #services p {
    color: #ffffff;
    font-family: "Titillium Web", sans-serif;
    
}

.services-content img {
    width: 100%; /* Ensures images take up full width of their container */
    height: 300px; /* Fixed height for uniformity */
    object-fit: cover; /* Ensure images fill the space and are cropped as needed */
    margin: 0 auto; /* Center the images */
    transition: transform 0.3s ease; /* Smooth zoom transition */
    max-width: 100%;
}

.detroit-facility-image {
    object-position: 50% 89%;
}


/* MISCELLANEOUS CSS */
.facility-separator {
    border: none;
    height: 2px; /* Make it more visible */
    background-color: rgba(255, 255, 255, 0.5); /* Slight transparency for a softer look */
    width: 90%; /* Keep it narrower for a cleaner design */
    margin: 2rem auto; /* Add more spacing above and below */
}

.image-adjust {
    object-position: 50% 50%!important;
}

/* NEWS CSS */
.news-item {
    display: flex;
    align-items: center;
    background-color: #f9f9f9; /* Light background for clarity */
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-decoration: none; /* Remove underline from links */
    color: inherit; /* Inherit text color */
    margin-top: 0.5vh;
    margin-bottom: 0.5vh;
}

.news-item:hover {
    background-color: #e8f5e9; /* Light green hover effect */
    transform: scale(1.02); /* Slight zoom on hover */
}

.news-title {
    font-size: 1.1rem;
    margin: 0;
    color: black;
    font-weight: 250;
}

.news-image {
    width: 100%; /* Ensures image fits inside the column */
    height: auto;
    max-height: 80px; /* Limits image height */
    object-fit: cover; /* Crops image while maintaining aspect ratio */
}
.news-link {
    display: flex;         /* Use flexbox for alignment */
    justify-content: end;  /* Align content to the right */
}

.accordion-body {
    color:rgb(12, 124, 168);
}
.accordion-header {
    font-weight: bolder;
}

#news-faq h2 {
    font-family: "Titillium Web", sans-serif;
    font-weight: 550;
}

#news-faq button {
    font-family: "Titillium Web", sans-serif;
    color: black;
    font-weight: 400;
}

#news-faq .col-md-11 {
    border-bottom-right-radius: 0px!important; 
    border-bottom-left-radius: 0px!important;
}

#faqAccordion {
    min-height: 300px; /* Adjust the height based on your content */
    transition: all 0.3s ease; /* Adds a smooth effect to changes */
}

.accordion-body {
    max-height: 200px; /* Limit the maximum height */
    overflow-y: auto;  /* Enable vertical scrolling for long content */
}

/* CONTACT SECTION CSS */
#contact h3 {
    color:#fdfdfd;
}

.contact-section {
    margin-top: 3vh;
}

#contact-section h2 {
    font-family: "Titillium Web", sans-serif;
    font-weight: 550;
}

#contact {
    color: #f1f1f1;
    top: 45%; 
    left: 50%;
    transform: translate(-50%, -50%);
}

.carousel-contact {
    max-height: none;
    height: 125vh;

}

.contact-container {
    background-color: rgba(8, 57, 78, 0.97); 
    max-width: 80%; 
    max-height: 90vh; 
    margin-top: 10vh;
}

/* Form Title */
#contact h2 {
    color: #ffffff;
    font-family: 'Titillium Web', sans-serif;
    font-weight: bold;
}

/* Form Styling */
#contactForm {
    padding: 2rem;
    border-radius: 8px;
}


/* Input and Textarea Styling */
#contactForm .form-control {
    background-color: #3a3a5d;
    color: #ffffff;
    border: 1px solid #555;
    border-radius: 5px;
    padding: 0.8rem;
    margin-bottom: 1rem;
}

#contactForm .form-control:focus {
    border-color: #007bff;
    outline: none;
}

/* Label Styling */
#contactForm .form-label {
    color: #b8b8d1;
    font-weight: bold;
}

/* Centering Recaptcha and Button */
#contactForm .text-center .my-3 {
    margin-top: 2rem;
}

#contactForm input,
#contactForm textarea {
    border-radius: 5px;
    border: 1px solid #ddd;
    padding: 10px;
}

#contactForm input:focus,
#contactForm textarea:focus {
    border-color: #0C6A7E;
    outline: none;
    box-shadow: 0 0 5px rgba(12, 106, 126, 0.5);
}

.contact-button {
    width: 15%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-label {
    color: #FFFFFF; /* Change this color */
    font-weight: bold; /* Optional */
    font-size: 1rem; /* Optional */
}

.form-control {
    border: 0.4vh solid #343a40;
}

/* FOOTER SECTION */
.club-image-width {
    width: 9vw;
}

.icon {
    width: 1.5rem;
    height: 1.5rem;
    transition: all 0.3s ease-in-out;
}

.col-md-3 a {
    text-decoration: none; /* Remove underline */
    color: #fff; /* White text */
    transition: color 0.1s, transform 0.3s ease; /* Add easing to smooth the movement */
    font-size: medium;
}

.club {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

footer p, footer a, footer h5 {
    color: black; /* Replace with the color of your choice */
}
  
footer .footer-category p a {
    color:black; /* Sets the link text color to white */
}

footer .facility-separator {
    width:95%;
    color:rgb(7, 54, 73);
    background-color: rgb(7, 54, 73);;
}

.club-footer-image {
    width: 12vw; /* Set a fixed width for all images */
    height: 12vh; /* Set a fixed height for all images */
    object-fit:contain; /* Ensures the image maintains its aspect ratio while filling the size */
    display: block;
}

/* UNIVERSAL CSS */
.shadow-container {
    box-shadow: 
    0 0.5vh 0.5vw rgba(0, 0, 0, 0.2), /* Bottom shadow */
    0 -0.5vh 0.5vw rgba(0, 0, 0, 0.2); /* Top shadow */
}

.breadcrumb {
    background-color: transparent; /* Removes default background */
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
    font-weight: 600;
}

.breadcrumb-item a {
    color: #ffffff; /* White text for the link */
}

.breadcrumb-item a:hover {
    text-decoration: none;
    color:#003a7f;
    transform: scale(1.1); /* Scales the link */
    transition: transform 0.3s ease, color 0.3s ease; /* Smooth animation */
    display: inline-block; /* Prevents layout shift */

}
.breadcrumb-item + .breadcrumb-item::before {
    content: ''; /* Clears the default separator */
}

/* Add a custom separator with white color */
.breadcrumb-item::after {
    content: '>'; /* Unicode for right arrow */
    color: #ffffff; /* Makes the arrow white */
    margin: 0 0.5rem;
}
.breadcrumb-item:last-child::after {
    content: ''; /* Removes the separator after the last item */
}

.footer-margin-container {
    background-color: white;
}

.btn-5, .btn-5 *, .btn-5 :after,
.btn-5 :before, .btn-5:after, .btn-5:before {
  border: 0 solid;
  box-sizing: border-box;
}
.btn-5 {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #497dee;
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  font-size: 100%;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  padding: 0;
  text-transform: uppercase;
}
.btn-5:disabled {
  cursor: default;
}
.btn-5:-moz-focusring {
  outline: auto;
}
.btn-5 svg {
  display: block;
  vertical-align: middle;
}
.btn-5 [hidden] {
  display: none;
}
.btn-5 {
  border-radius: 99rem;
  border-width: 2px;
  overflow: hidden;
  padding: 0.8rem 3rem;
  position: relative;
}
.btn-5 span {
  mix-blend-mode: difference;
}
.btn-5:before {
  --tilt: 1.2rem;
  background: #ffffff;
  -webkit-clip-path: polygon(
    0 0,
    calc(100% - var(--tilt)) 0,
    100% 50%,
    calc(100% - var(--tilt)) 100%,
    0 100%
  );
  clip-path: polygon(
    0 0,
    calc(100% - var(--tilt)) 0,
    100% 50%,
    calc(100% - var(--tilt)) 100%,
    0 100%
  );
  content: "";
  display: block;
  height: 100%;
  left: calc(-100% - var(--tilt));
  position: absolute;
  top: 0;
  transform: translateX(var(--progress, 0));
  transition: transform 0.2s ease;
  width: calc(100% + var(--tilt));
  color: #497dee;
}
.btn-5:hover:before {
  --progress: 100%;
}


.carousel-caption .btn-5 {
    padding: 0.75rem 2.25rem; /* Reduce padding */
    font-size: 14px; /* Adjust font size */
    width: auto; /* Prevents stretching */
    display: inline-block; /* Ensures it only takes necessary space */
    max-width: 250px; /* Adjust as needed */
    text-decoration: none!important;
    text-align: center;
    margin-top: 0.75rem;
}

.wide-screen {
    display: none
}

@media (max-width: 768px) {
    #footer .facility-separator {
        width: 20%!important;
    }
    .wide-screen {
        margin-bottom: 1rem!important;
    }
}
