
:root {
    --green: #3AAA35;
    --purple: #342F68;
    --dark-blue: #111928;
    --yellow: #DEDC00;
    --blue: #3566E1;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--dark-blue);
    line-height: 1.7;
	font-size:16px;
    background: #fff;
}

h1, h2, h3, h4, h5 {
    font-weight: 900;
    color: var(--dark-blue);
}

h1, .h1 {font-size:60px;color: var(--green);}

h3, .h3 {font-size:2.5rem;}

.uppercase {text-transform:uppercase!important;}

.logo {
    width: 260px;
}

img.downloadbutton {max-width:150px;width:100%;}

.navbar-brand {position:absolute;top:-15px;background:#fff;padding:10px 20px;box-shadow: 0px 4px 28px -3px #00000040;border-bottom-left-radius:17px;border-bottom-right-radius:17px;}
.navbar-brand img {max-width:178px;}

.socialmedia i {color:#fff!important;}
.socialmedia a:hover i {color:var(--yellow)!important;}

.promo-bar {
    background: var(--green);
    color: white;
    text-align: center;
    padding: 12px;
    font-size: 14px;
}

.hero-section {
    background:#fff;
    color: var(--dark-blue);
}

.hero-content {
    padding-top: 120px;
	padding-bottom:80px;
}

.hero-section h1 {
    color: var(--green);
    font-size: 3rem;
    line-height: 0.95;
    margin: 24px 0;
}

.eyebrow {
    display: inline-block;
    background: var(--purple);
    color: #fff;
    padding: 10px 18px;
    font-weight: 700;
    font-size: 14px;
}

.hero-copy {
    max-width: 560px;
    margin-bottom: 32px;
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.btn {border-radius:0px!important;}

.btn-primary {
    background: var(--green);
    border-color: var(--green);
    font-weight: 700;
    padding: 14px 28px;
	font-size:16px;
	color:#fff!important;
}

.btn-secondary {
    background: var(--purple);
    border-color: var(--purple);
    font-weight: 700;
	font-size:16px;
    padding: 14px 28px;
	color:#fff!important;
}

.btn-white {
    background: #fff;
    border-color: #fff;
    font-weight: 700;
	font-size:16px;
    padding: 14px 28px;
	color:var(--purple);
}

.btn-white:hover {
    background: var(--purple);
    color: #fff;
}

.btn-yellow {
    background: var(--yellow);
    border-color: var(--yellow);
    font-weight: 700;
	font-size:16px;
    padding: 14px 28px;
	color:#fff);
}

.btn-yellow:hover {
    background: #fff;
    color: var(--purple);
}


.btn-primary:hover {
    background: var(--purple);
    border-color: var(--purple);
}

.btn-secondary:hover {
    background: var(--green);
    border-color: var(--green);
}

.btn-outline-light {
    padding: 14px 28px;
    font-weight: 700;
}

.carousel-placeholder,
.facility-image {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
}

.savings-section p, .savings-section h3 {
color:#fff;
padding-bottom:0px!important;margin-bottom:0px!important;
}

.savings-section p {font-size:1rem;}

.savings-section h2 {
    font-size: 3rem;
}

.discount-pill {
    display: inline-block;
    background: var(--purple);
    color: white;
    padding: 14px 28px;
    font-weight: 700;
    margin-top: 24px;
}

.section-heading h2 {
    font-size: 3rem;
}

.features-section {background:var(--yellow);padding-top:110px;padding-bottom:110px;}
.features-section h2, .features-section p {color:var(--purple);}
.features-section .section-heading {text-align:left!important;max-width:768px;width:100%;}

.feature-card {
    padding: 40px 40px 40px 0;
    height: 100%;
}
.feature-card h4, .feature-card p {color:var(--purple);}

.feature-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 24px;
}

.facilities-section {
    background: var(--blue);
    color: white;
	padding-top:60px;padding-bottom:60px;
}

.facilities-section h2,
.facilities-section p {
    color: white;
}

.facility-list {
    list-style: none;
    padding: 0;
    margin-top: 32px;
}

.facility-list li {
    margin-bottom: 12px;
    font-size: 16px;
    position: relative;
    padding-left: 30px;
}

.facility-list li::before {
    content: "✓";
    color: #fff;
    position: absolute;
    left: 0;
    font-weight: 900;
}

.testimonial-section {background: var(--green);}

.testimonial-card {
    color: var(--purple);
    padding: 40px;
	text-align:center;
	max-width:850px;
	margin:0 auto;
}

.testimonial-copy {
	padding-top:20px;
    font-size: 20px;
    font-weight: 700;
}

.membership-card {
    background: white;
    padding: 40px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 15px 35px rgba(0,0,0,0.06);
    position: relative;
    height: 100%;
}

.membership-card.featured {
    border: 3px solid var(--green);
    transform: translateY(-10px);
}

.featured-tag {
    position: absolute;
    top: -14px;
    right: 24px;
    background: var(--yellow);
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 700;
}

.price {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    color: var(--purple);
}

.period {
    display: inline-block;
    margin-top: 10px;
    color: #6b7280;
}

.membership-card ul {
    margin-top: 28px;
    padding-left: 20px;
}

.membership-card li {
    margin-bottom: 12px;
}

.accordion-item {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid #ddd;
}

.accordion-button {
    padding: 24px;
    font-weight: 700;
}

.contact-section {
    background: var(--purple);padding-top:60px;padding-bottom:60px;
}

.contact-section h3 {color:#fff!important;font-size:2.6rem!important;}

.form-control {
    padding: 16px 20px;
}

.gallery-section {padding-top:80px;padding-bottom:80px;}

.cta-section {background:var(--yellow);color:var(--purple);padding-top:80px;padding-bottom:80px;}
.cta-section h3 {padding-bottom:20px;color:var(--purple);}
.cta-section .ctabuttons {max-width:620px;margin:0 auto;justify-content:center!important;}

.cta-section .ctabuttons .col {text-align:center!important;}

.cta-section.downloadcta {background:var(--green) url(app-back2.png);background-position:center right;background-size:contain;background-repeat:no-repeat;padding-top:0px!important;padding-bottom:0px!important;}
.cta-section.downloadcta .download-text-block {padding-top:100px;padding-bottom:100px;}
.cta-section.downloadcta .ctabuttons {justify-content:flex-start!important;}
.cta-section.downloadcta h3 {color:#fff!important;}
.cta-section.downloadcta .ctabuttons .col {text-align:left!important;}

.faq-section {padding-top:100px;padding-bottom:100px;}
.faq-section h2 {color:var(--purple)!important;}
.faqbutton {text-align:center;margin-top:60px;}

.form-check-label {color:#fff;}

.footer {background:#303030;padding-top:80px;padding-bottom:80px;}
.footer p, .footer a {color:#fff!important;}
.footer a {text-decoration:none!important;}
.footer a:hover {color:var(--green)!important;}

.footer h5 {color:var(--green);}
.footer a.btn {display:flex;justify-content:space-between!important;max-width:200px;}
.footer a.btn svg {max-width:10px;height:auto;fill:#fff!important;}
.footer a.btn svg path {fill:#fff!important;}
.footer a.btn:hover svg path {fill:var(--green)!important;}

img.councillogo {max-width:160px!important;margin-bottom:20px;}

.row {justify-content:space-between!important;}
.row .col-lg-4 {padding:0 20px;}
.row .col-lg-6 {padding:0 20px;}
.socialmedia.row .col-lg-6 {padding:0px!important;}
.row .col-lg-8 {padding:0 20px;}

.accordion-button, .accordion-item {border-radius:0px!important;border:none!important;color:var(--purple)!important;padding-left:0px!important;}
.accordion-button:not(.collapsed) {color:var(--green)!important;background-color:transparent!important;box-shadow:none!important;border-radius:0px!important;border-bottom:1px solid var(--purple)!important;}

.accordion-item {border-bottom:1px solid var(--purple)!important;margin-bottom:0px!important;}
.accordion-body {padding: 40px 0!important;}

.ctabackground {max-width:1280px!important;width:100%!important;min-height:154px!important;height:auto!important;background:url(ctanarrow.jpg);background-size:cover;justify-content:space-between;align-items:center;background-position: center;}

.ctatext {text-align:left!important;}

.desktoponly {display:block!important;}
.desktoponly.row {display:flex!important;}
.mobileonly {display:none!important;}

form.bwm-form p, form.bwm-form label {color:#fff!important;}
form.bwm-form input, form.bwm-form select {width:100%!important;height:40px;}
form.bwm-form .col-lg-12, form.bwm-form .col-lg-6 {padding:20px!important;}
form.bwm-form .contactformtoprow .col-lg-6 {padding-top:0px!important;padding-bottom:10px!important;}
form.bwm-form input[type="radio"] {height:auto!important;width:auto!important;padding-right:10px;}
form.bwm-form .radiobuttons label {padding-left:10px;padding-right:10px;}
form.bwm-form legend {color:#fff!important;font-weight:bold!important;}

@media screen and (max-width:1000px) {
	.features-section .row.desktoponly {display:block;}
	.features-section .row.desktoponly .col-md-4 {width:100%!important;}
	.features-section .row.desktoponly .col-md-4 .feature-card {padding:0px!important;width:100%!important;padding-bottom:30px!important;padding-top:10px!important;}
	.facility-image {margin-bottom:30px!important;}
	.cta-section.downloadcta .container {max-width:100%!important;}
	.cta-section.downloadcta .col-lg-5 {width:100%!important;max-width:50%!important;flex:0 1 50%;padding-left:40px!important;}
	.cta-section.downloadcta .col-lg-7 {width:100%!important;max-width:39%!important;flex:0 1 39%;}
	
}


@media screen and (max-width: 768px) {
	
	
	.cta-section.downloadcta {background-size:cover!important;}
	.cta-section.downloadcta .container {max-width:100%!important;}
	.cta-section.downloadcta .col-lg-5 {width:100%!important;max-width:100%!important;flex:0 1 100%;padding-left:40px!important;padding-right:40px!important;}
	.cta-section.downloadcta .col-lg-7 {display:none!important;}
	.cta-section.downloadcta .ctabuttons.row {display:flex!important;}
	
	.cta-section.downloadcta h3, .cta-section.downloadcta .ctabuttons .col {text-align:center!important;}
	
.desktoponly, .desktoponly.row {display:none!important;}
.mobileonly {display:block!important;}

.promo-bar {padding:10px 12px 20px 12px!important;margin-bottom:40px!important;}


.savings-section {padding-bottom:0px!important;}
.ctabackground {width:auto!important;background-position: center;text-align:center!important;background:url(ctamobile.jpg)!important;height:100%;background-size:cover!important;min-height:700px!important;}
.ctabackground .col-md-3 {padding-top:30px!important;padding-bottom:30px!important;}
.ctatext {text-align:center!important;margin-top:-300px;}
.socialblock {text-align:right;}
.socialmedia.mobileonly {margin-top:-10px;}

#joinSlider .feature-card {text-align:center!important;padding:40px!important;}
#joinSlider .feature-icon {margin:0 auto!important;height:auto!important;width:auto!important;margin-bottom:20px!important;}
#joinSlider .carousel-control-next-icon, #joinSlider .carousel-control-next {color:var(--purple)!important;}
#joinSlider .carousel-control-next-icon svg path, #joinSlider .carousel-control-next svg path {fill:var(--purple)!important;}
.features-section .section-heading, .features-section .section-heading h2 {text-align:center!important;}
.facilities-section, .facilities-section h2 {text-align:center!important;}
.facility-list li::before {position:relative!important;padding-right:10px;}
.contact-section h3 {text-align:center!important;}
.contact-section .btn {width:100%!important;}
.hero-section .hero-content {padding-bottom:40px!important;}
.features-section {padding-top:80px!important;padding-bottom:80px!important;}
.gallery-slide {padding:0px!important;}

    .hero-section {
        text-align: center;
        min-height: auto;
    }

    .hero-section h1 {
        font-size: 2.4rem;
    }

    .hero-buttons {
        justify-content: center;
    }

    .hero-content {
        padding-top: 40px;
        gap: 40px;
    }

    .carousel-placeholder,
    .facility-image {
        min-height: 320px;
    }

    .membership-card.featured {
        transform: none;
    }

    .contact-card,
    .testimonial-card {
        padding: 0px;
    }

    .section-heading h2,
    .savings-section h2 {
        font-size: 2.2rem;
    }
	
	.footer {padding-left:30px!important;padding-right:30px!important;}
	.footer .col-lg-3 {padding-bottom:20px!important;}
	.ctabuttons {display:block!important;}
	.ctabuttons .col {padding-bottom:20px!important;}
	.ctabuttons a {width:100%!important;}

	.facilities-section .col-lg-6:last-of-type {padding-top:20px;}
}


.gallery-section {
    background: white;
}

.gallery-slide {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 20px;
}

.gallery-image {
    min-height: 404px;
    background: var(--purple);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
}

@media (max-width: 768px) {

    .gallery-slide {
        grid-template-columns: 1fr;
    }

    .gallery-image {
        min-height: 404px;
    }

}
