html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
}



:root {
    --bs-body-bg: #eeeeee;
    --bs-body-font-family: 'Poppins', sans-serif;
    --custom-color-1: #ffffff;
    --custom-color-2: #00632a;
    --custom-color-3: #bccd2f;
}

a {
    text-decoration: unset;
}

a {
	color: var(--custom-color-1);
}
	a:hover {
		color: var(--custom-color-3);
	}

dl:last-child,
dd:last-child,
dt:last-child {
	margin-bottom: 0;
}

dt {
	font-weight: 600;
}
dd {
	font-weight: 300;
}

footer.footer {
    background-color: var(--custom-color-2);
    color: var(--custom-color-1);
    padding: 100px 0;
}

.main-logo {
	width: auto;
	height: 50px;
	max-width: 100%;
}



/* Forms */
.custom-form .form-check-input {
	width: 1.5em;
	height: 1.5em;
	margin-top: 0em;
	border-color: var(--custom-color-3);
}

    .custom-form .form-check-input:checked {
        background-color: var(--custom-color-3);
        border-color: var(--custom-color-3);
    }

.custom-form .form-check {
    padding-left: 3em;
}

    .custom-form .form-check:not(.form-switch) .form-check-input {
        margin-left: -2em;
    }

.custom-form .form-switch .form-check-input {
    width: 2.5em;
    margin-left: -3em;
}

.custom-form .form-check-inline {
    padding-bottom: 0.5em;
}

/* Fix the conflict with the GetAddress fields. */
.form-floating > .getAddress_autocomplete_container > .form-control {
	padding: 1rem .75rem;
}
.form-floating > .getAddress_autocomplete_container > .form-control,
.form-floating > .getAddress_autocomplete_container > .form-select {
	height: calc(3.5rem + 2px);
	line-height: 1.25;
}
	.form-floating > .getAddress_autocomplete_container > .form-control:focus,
	.form-floating > .getAddress_autocomplete_container > .form-control:not(:placeholder-shown) {
		padding-top: 1.625rem;
		padding-bottom: .625rem;
	}
		.form-floating > label.focused {
			opacity: .65;
			transform: scale(.85) translateY(-.5rem) translateX(.15rem);
		}


/* Custom Boxes */
.box-custom {
	position: relative;
	transition: all 0.45s;
}
	.box-custom header {
		flex-grow: 1;
	}

	.box-custom.box-maincat .btn-icon,
	.box-custom.box-subcat .btn-icon {
		position: absolute;
		bottom: 15px;
		right: 15px;
		width: 60px;
		height: 60px;
	}


.last > a > .box-custom.box-maincat .btn-icon,
.last > a > .box-custom.box-subcat .btn-icon {
	bottom: calc(50% - 30px);
}



/* Product boxes */
.box-product {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    /*min-height: 360px;*/
    min-height: 100px;
    border-radius: 30px;
    padding: 30px;
}

    .box-product .title {
        font-weight: 900;
        font-size: 30px;
        line-height: 1;
        text-transform: uppercase;
    }

    .box-product .undertitle {
        font-weight: 300;
        font-size: 20px;
        line-height: 1;
        margin-top: 10px;
    }

    .box-product .price {
        font-weight: 300;
        font-size: 30px;
        line-height: 1;
        margin-top: 20px;
        margin-bottom: 15px;
    }

    .box-product .price-prefix,
    .box-product .price-value {
        font-weight: 900;
        font-size: 40px;
        line-height: 1;
    }

    .box-product .included-options {
        color: var(--custom-color-2);
        font-size: 0.55em;
        line-height: 1.25;
        margin-left: 15px;
    }

		.box-product .included-options > *:first-child {
			margin-top: 5px;
		}

	.box-product .btn-select {
		font-weight: 900;
		font-size: 36px;
		line-height: 1;
		padding: 15px 25px;
	}


.box-product-100 {
    border-radius: 30px;
    padding: 30px;
}




/* BOXES */
.box-section {
    border-radius: 20px;
    min-height: 350px;
    padding: 22px;
}

.box-maincat {
    border-radius: 20px;
    height: 350px;
    min-height: 350px;
    padding: 22px;
}

.box-subcat {
    border-radius: 20px;
    height: 350px;
    min-height: 350px;
    padding: 22px;
}

.last {
	width: 100% !important;
}
	.last .box-maincat {
		padding: 25px 70px 25px 25px;
		height: initial;
		min-height: initial;
	}
	.last .box-subcat {
		padding: 30px 75px 30px 30px;
		height: initial;
		min-height: initial;
	}


.box-colors-1 {
    background-color: var(--custom-color-1);
    color: var(--custom-color-2);
}
	a.box-colors-1:hover,
	a > .box-colors-1:hover,
	button.box-colors-1:hover {
		color: var(--custom-color-3);
	}

.box-colors-2 {
    background-color: var(--custom-color-2);
    color: var(--custom-color-1);
}
	a.box-colors-2:hover,
	a > .box-colors-2:hover,
	button.box-colors-2:hover {
		color: var(--custom-color-3);
	}

.box-colors-3 {
    background-color: var(--custom-color-3);
    color: var(--custom-color-1);
}
	a.box-colors-3:hover,
	a > .box-colors-3:hover,
	button.box-colors-3:hover {
		color: var(--custom-color-2);
	}

.box-colors-1 .price {
    color: var(--custom-color-3);
}

.box-colors-1 .btn-select {
	background-color: var(--custom-color-3);
	color: var(--custom-color-1);
}
	.box-colors-1 .btn-select .btn-icon {
		color: var(--custom-color-1);
	}


.box-colors-1 .btn-icon {
	color: var(--custom-color-3);
}

.box-colors-2 .btn-icon {
	color: var(--custom-color-3);
}

.box-colors-3 .btn-icon {
	color: var(--custom-color-2);
}


.btn-select {
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.btn-select .btn-icon {
    position: relative;
    width: 32px;
    height: 32px;
}
.btn-select .bi {
    vertical-align: baseline;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.unchecked {
    opacity: 1;
}
.checked {
    opacity: 0;
}
.btn-check:active + .btn-select,
.btn-check:checked + .btn-select,
.btn-select.active,
.btn-select:active {
    background-color: var(--custom-color-2);
}
    .btn-check:active + .btn-select .unchecked,
    .btn-check:checked + .btn-select .unchecked,
    .btn-select.active .unchecked,
    .btn-select:active .unchecked {
        opacity: 0;
    }
    .btn-check:active + .btn-select .checked,
    .btn-check:checked + .btn-select .checked,
    .btn-select.active .checked,
    .btn-select:active .checked {
        opacity: 1;
    }


.box-maincat .title,
.box-subcat .title {
	font-weight: 900;
	font-size: 60px;
	line-height: 1;
}

.box-maincat .undertitle,
.box-subcat .undertitle {
    font-weight: 300;
    font-size: 36px;
    line-height: 1.25;
}


/* Colors */
.colors-1 {
	background-color: var(--custom-color-3);
	color: var(--custom-color-1);
}


/* FORMS */
.continue-wrapper {
	display: flex;
	justify-content: space-between;
	padding: 0 0 0 15px;
	align-items: center;
}

.total-price {
	font-size: 1.5rem;
	font-weight: 700;
}


/* BUTTONS */
.btn-custom {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 900;
	font-size: 36px;
	line-height: 1;
	padding: 15px;
	border-radius: 15px;
	border: unset;
	cursor: pointer;
	transition: all 0.45s;
}

	.btn-custom .btn-icon {
		position: relative;
		width: 45px;
		height: 45px;
	}

	.btn-custom .bi {
		vertical-align: baseline;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.btn-custom.box-colors-1 .btn-icon {
		color: var(--custom-color-2);
	}
	.btn-custom.box-colors-2 .btn-icon {
		color: var(--custom-color-3);
	}
	.btn-custom.box-colors-3 .btn-icon {
		color: var(--custom-color-2);
	}

	.btn-custom.has-icon-left,
	.btn-custom.has-icon-right {
		justify-content: space-between;
	}
		.btn-custom.has-icon-left .btn-title {
			padding-left: 3rem;
		}
		.btn-custom.has-icon-right .btn-title {
			padding-right: 3rem;
			order: 1;
		}
		.btn-custom.has-icon-right .btn-icon {
			order: 2;
		}

	.btn-custom.has-icon-top,
	.btn-custom.has-icon-bottom {
		flex-direction: column;
	}
		.btn-custom.has-icon-top .btn-title {
			padding-top: 1rem;
		}
		.btn-custom.has-icon-bottom .btn-title {
			padding-bottom: 1rem;
			order: 1;
		}
		.btn-custom.has-icon-bottom .btn-icon {
			order: 2;
		}



/* Headers */
.simple-header {
	text-align: center;
	padding: 15px;
	margin-bottom: 30px;
}

h1.title,
h2.title,
h3.title {
    font-weight: 300;
}
h2.title,
h3.title {
/*	margin-top: 1rem;
	margin-bottom: 2rem;*/
}
	h1.title span,
	h2.title span,
	h3.title span {
		font-weight: 900;
		text-transform: uppercase;
	}
	@media (min-width: 1200px) {
		h1.title,
		.h1.title {
			font-size: 72px;
		}

		h2.title,
		.h2.title {
			font-size: 2.5rem;
		}

		h3.title,
		.h3.title {
			font-size: 2rem;
		}

		h3.subtitle {
			font-weight: 700;
			font-size: 1.25rem;
			margin-bottom: 30px;
		}
	}

.header-colors-1 {
    background-color: var(--custom-color-1);
    color: var(--custom-color-2);
}

.header-colors-2 {
    background-color: var(--custom-color-2);
    color: var(--custom-color-1);
}

.header-colors-3 {
    background-color: var(--custom-color-3);
    color: var(--custom-color-1);
}


/* Custom Sections */
.section-options {
    color: var(--custom-color-2);
}

    .section-options .section-title {
        color: var(--custom-color-3);
        font-weight: 900;
        font-size: 2rem;
        line-height: 1;
        padding-left: 30px;
        text-transform: uppercase;
    }

    .section-options .options-wrapper {
        padding-left: 30px;
    }



.gym-groups-wrapper,
.section-options {
    display: none;
}



/* Summary - Selected Options */
.summary-list {
	padding: 20px;
	background-color: #f6f6f6;
	border-radius: 10px 10px 0 0;
}
	.summary-list dd {
		position: relative;
	}
	.summary-list dd:not(:last-child) {
		padding-bottom: 5px;
		margin-bottom: 15px;
		border-bottom: 2px solid #ddd;
	}

.summary-total-price {
	font-size: 1.25rem;
	padding: 20px;
	background-color: #f6f6f6;
	border-radius: 0 0 10px 10px;
	border-top: 2px solid;
}

.sub-price {
	display: inline-block;
	margin-left: auto;
	margin-right: 0;
	position: absolute;
	bottom: 5px;
	right: 0;
}



/* Navigator */
.navigator {
	padding-top: 2rem;
	padding-bottom: 3rem;
	border-top: 4px solid var(--custom-color-2);
}

.btn-custom.btn-home {
	padding: 19px 20px 20px;
}
.btn-custom.btn-home .btn-icon {
	position: relative;
	width: 36px;
	height: 36px;
}

.wrap-left,
.wrap-center,
.wrap-right {
	display: flex;
	align-items: center;
	height: 100%;
}
.wrap-left {
	justify-content: start;
}
.wrap-center {
	justify-content: center;
}
.wrap-right {
	justify-content: end;
}




/* Home page */
.main-navbar {
	background-color: #00632a;
	color: #fff;
	padding-top: 15px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--custom-color-1, #ffffff);
}

/* Home page - Hero section */
.home-hero {
    padding: 250px 30px;
    margin-bottom: -220px;
    height: 770px;
    background: url('/img/hero-3.png') no-repeat;
    background-size: cover;
    position: relative;
    z-index: 0;
}

    .home-hero::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000000;
        opacity: 0.4;
        z-index: -1;
    }

    .home-hero + * {
        position: relative;
        z-index: 1;
    }

.hero-content {
    color: #ffffff;
    text-transform: uppercase;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
}

.hero-title {
    font-size: 100px;
    font-weight: 900;
    line-height: 1;
}

.hero-subtitle {
    font-size: 100px;
    font-weight: 300;
    line-height: 1.1;
}

/* THANKS PAGES */
.thanks-boxes {
	padding: 30px 30px 10px;
	background-color: #f6f6f6;
	border-radius: 10px;
	height: 100%;
}
.thanks-boxes li {
	margin-bottom: 10px;
}

.staffed-hours {
	background-color: var(--custom-color-3);
	padding: 25px 5px;
	border-radius: 10px;
	color: var(--custom-color-1);
}
.staffed-hours .title {
	text-align: center;
}
	.staffed-hours dt,
	.staffed-hours dl {
		margin-bottom: 0.7rem;
		line-height: 1.25rem;
	}
	.staffed-hours dt {
		text-align: right;
		width: calc(5/12 * 100%);
	}
	.staffed-hours dd {
		width: calc(7/12 * 100%);
	}
@media (min-width: 420px) {
	.staffed-hours dt,
	.staffed-hours dd {
		width: 50%;
	}
}



/* PAYMENT PROCESSOR */
#payment-wrapper {
	height: 1600px;
	/*height: 750px;
	margin-top: -30px;
	margin-bottom: -3rem;*/
}
.payment-iframe {
	position: relative !important;
	width: 100%;
	height: 100%;
}


/* Help Popup Window */
#help-popup-window {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	padding: 30px;
	background-color: rgba(0,0,0,0.75);
	z-index: 1000;
}

#help-popup-wrapper {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	height: 100%;
	background-color: var(--custom-color-2);
	color: #fff;
	padding: 40px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#btnHelpClose {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	padding: 3px 0 3px;
	border-radius: 50%;
	cursor: pointer;
	line-height: 1;
	text-align: center;
	background-color: #000;
	color: #fff;
	transform: rotate(45deg);
	font-size: 25px;
}

#help-popup-window-title {
	height: 70px;
	padding-bottom: 15px;
	border-bottom: 3px solid #fff;
	margin-bottom: 0;
}
#help-popup-window-content {
	margin-top: 30px;
	flex-grow: 1;
	overflow: auto;
	margin-bottom: 15px;
}
#before-help-content {
}
#after-help-content {
	border-top: 1px solid #fff;
	padding-top: 5px;
}
#help-content {
	margin: 15px 0;
}

.btn-custom.btn-help-close {
	font-size: 2rem;
	padding: 12px;
}


.hidden {
	display: none;
}
.no-overflow {
	overflow: hidden;
}

.spacer15{
	min-height: 15px;
	max-height:15px;
}

.spacer20 {
	min-height: 20px;
	max-height: 20px;
}

.spacer25 {
	min-height: 25px;
	max-height: 25px;
}

button.btn-secondary {
	background-color: #00632a; /* Green color */
	color: white; /* Text color for contrast */
	border: none; /* Remove border */
	padding: 0.5rem 1rem; /* Adjust padding */
	border-radius: 5px; /* Rounded corners */
	margin-left: 1.5rem; /* Space between the span and button */
}

.center-align{
	text-align: center !important;
}

.left-align {
	text-align: left !important;
}

.popup {
	position: relative;
	display: inline-block;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* The actual popup */
.popup .popuptext {
	visibility: hidden;
	width: 1000px;
	background-color: #ffffff;
	color: #000000;
	text-align: center;
	border-radius: 6px;
	padding: 8px 0;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -400px;
	border: solid 1px #00632A;
}

.popup .show {
	visibility: visible;
	-webkit-animation: fadeIn 1s;
	animation: fadeIn 1s;
}

.spacer15 {
	height: 15px;
	min-height: 15px;
	max-height: 15px;
}

.spacer10 {
	height: 10px;
	min-height: 10px;
	max-height: 10px;
}

.spacer5 {
	height: 5px;
	min-height: 5px;
	max-height: 5px;
}

.ddLink {
	color: var(--custom-color-2);
}

.ddLink:hover {
	color: var(--custom-color-3);
	text-decoration:underline;
}