@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');

:root {
    --font-primary: 'Poppins', sans-serif;
    --font-secondary: 'Anton', 'Poppins', sans-serif;
    
    --base-clr: #2b2b2b;
    --element-clr: #004aad;
    --element-clr-hsl: 220, 80%, 50%; /* example: a shade of blue */
    --hover-clr: #003479;
    --text-clr: #f1f1f1;
    --azure: #5dbae8;
    --black: #000000;
    --dark-clr: rgb(0,0,0);
    --transparency: 0.48;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-primary);
}

html { scroll-behavior: smooth; }
html, body {
    max-width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden; 
}

body {
    overflow-y: auto;
    background-color: var(--text-clr);

    display: flex;
    flex-direction: column;
}


















/* Header navigation */
.navbar {
    background-color: var(--dark-clr);
}
.navbar.nav-transparent {
    background-color: none !important;
}
.navbar-nav .nav-link {
    color: var(--text-clr);
    font-weight: bold;
    margin-right: 20px;
}
.nav-link.active {
    background-color: var(--element-clr);
    border-radius: 20px;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.navbar-nav .nav-link:hover {
    color: var(--element-clr);
}
.navbar-nav .nav-link.active:hover {
    color: white !important;
}
.join-now-btn {
    background-color: var(--element-clr);
    color: white;
    font-weight: bold;
    border-radius: 999px;
    padding: 6px 20px;
    margin-right: 20px;
}
.join-now-btn:hover {
    background-color: var(--hover-clr);
    color: var(--text-clr);
}
.navbar-toggler {
    border: none;
}
.navbar-toggler-icon {
    filter: invert(1);
}
.logo-img {
    width: 50px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}
.navbar {
    background: linear-gradient(90deg, #0a1a3d 0%, #0056b3 100%) !important;
    transition: all 0.4s ease;
    padding: 1rem 2rem !important;
}

.navbar.scrolled {
    background: linear-gradient(90deg, #07122b 0%, #00408a 100%) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
    padding: 0.5rem 2rem !important;
}



.navbar {
    padding: 1rem 2rem;
    transition: all 0.4s ease;
}

.navbar.scrolled {
    padding: 0.5rem 2rem;
}





















.bg-main {
    background-color: var(--element-clr);
}
.bg-main-t {
    background: hsla(var(--element-clr-hsl), var(--transparency));
}
.bg-dark-48 {
    background-color: rgba(0, 0, 0, .48);
}
.bg-blue {
    background-color: #3467c1;
}
.bg-def {
    background-color: var(--text-clr);
}
.bg-base {
    background-color: var(--base-clr);
}
.rem-bg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 80px;
    width: min(100%, 600px);
    aspect-ratio: 1 / 1;
    z-index: -1;
}
.switch {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--text-clr);
    border-radius: 25px;
    padding: 2px 2.5px;

    div {
        color: var(--text-clr);
        font-size: 20px;
        align-content: center;
        text-align: center;
    }
}
.map {
    width: 700px;
    max-width: 94%;
    height: 450px;
}
.text-clr {
    color: var(--text-clr);
}
a.text-clr:hover {
    color: var(--azure);
}
.text-blue {
    color: var(--element-clr);
}
.shadow-white {
    text-shadow: 6px 6px 0 rgba(255, 255, 255, 0.5);
}
.shadow-blur-black {
    text-shadow: 0 0 20px rgba(0, 0, 0, .2),
        0 0 20px rgba(0, 0, 0, .2),
        0 0 20px rgba(0, 0, 0, .2);
}
.shadow-blur-blue {
    text-shadow: 0 0 20px rgba(16, 94, 198, .5), 
        0 0 20px rgba(16, 94, 198, .5),
        0 0 20px rgba(16, 94, 198, .5);
}
.f-gym {
    font-size: 6rem;
    font-weight: 700;
}
.f-new {
    font-size: 4rem;
    font-weight: 700;
}
.f-class {
    font-family: var(--font-secondary);
    font-size: 10rem;
    font-weight: 600;
    letter-spacing: 8px;
    line-height: .9;
}
.f-place {
    font-size: 4rem;
    font-weight: 700;
    font-style: italic;
}
.f-wel {
    font-size: 5rem;
    font-weight: 800;
    font-style: italic;
    color: var(--element-clr);
}
.curl-img {
    position: absolute;
    top: 0;
    right: -300px;
    z-index: -1;
    height: 100%;
}
.py-large {
    padding-top: 120px;
    padding-bottom: 120px;
}
.py-med {
    padding-top: 50px;
    padding-bottom: 50px;
}
.parallelogram-img {
    clip-path: polygon(0% 0%, 80% 0, 100% 100%, 20% 100%, 0% 0%);
    transition: clip-path 0.3s ease-in-out;
    height: 110%;
    top: 0;
    right: -200px;
    object-fit: cover;
}
.azure {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 50%;
    background-color: var(--azure);
}
.btn-join {
    background-color: white;
    color: #ff512f;
    font-weight: 700;
    border-radius: 25px;
    padding: 10px 25px;
}

.btn-join:hover {
    background-color: #ff512f;
    color: white;
}
.mcard {
    border-radius: 30px;
    padding: 16px 24px;
    min-height: 320px;
    width: 450px;
    height: auto;
}
.gradient {
    background: linear-gradient(to right, #ff3131 0%, #ff914d 90%);;
}
.white {
    background-color: white;
}
.shadow-yellow {
    color: #ffde59;
    text-shadow: 4px 4px 0 rgba(255, 222, 89, .4), 
        4px 4px 0 rgba(255, 222, 89, .4), 
        4px 4px rgba(255, 222, 89, .4);
}
.mem-bold {
    font-size: 4rem;
    font-weight: 600;
    font-style: italic;
}
.faq-answer {
    font-style: italic;
    color: red;
}




th, td {
    text-align: left;
    vertical-align: middle;
}

tr > td:last-child,
tr > th:last-child {
    text-align: center;
}

thead tr td {
    font-weight: 700;
}






.cont-rad {
    border-radius: 0 !important;
}



@media (min-width: 576px) {
    .cont-rad {
        border-radius: 0 !important; 
    }
}

@media (min-width: 768px) {
    .cont-rad {
        border-radius: .8rem !important; 
    }
    .gap-md-0 {
        gap: 0 !important;
    }
}

@media (max-width: 768px) {
    .f-gym { font-size: 5rem; }
    .f-new { font-size: 3.5rem; }
    .f-class { font-size: 8rem; letter-spacing: 6px; }
    .f-place { font-size: 2.5rem; }
    .f-wel { font-size: 3rem;}
    .curl-img { right: -650px; }
}

@media (min-width: 992px) {
    .cont-rad {
        border-radius: 1.2rem !important; 
    }
}

@media (min-width: 1200px) {
    .cont-rad {
        border-radius: 1.6rem !important;
    }
}

@media (max-width: 1399px) {
    .parallelogram-img { display: none; }
}

@media (min-width: 1400px) {
    .cont-rad {
        border-radius: 2rem !important;
    }
}








