@charset "UTF-8";

:root {
	--color-border-soft: rgba( 148, 163, 184, 0.14 );
	--color-border-soft-dark: rgba( 148, 163, 184, 0.16 );
	--color-surface-dark: #111827;
	--color-surface-dark-alt: #0f172a;
	--color-text-muted: #64748b;
	--color-text-muted-dark: #a8b4c7;
	--nav-height-desktop: 58px;
	--nav-height-mobile: 54px;
}

html {
	scroll-behavior: smooth;
}


/***************** NAVIGATION *****************/
body.menu-open {
	overflow: hidden;
}

.navbar,
.navbar-brand {
	position: relative;
	z-index: 1050;
}

.nav-fixed #layoutSidenav #layoutSidenav_nav .sidenav .sidenav-menu {
	overflow-y: auto;
}

.topnav,
.navbar.main,
.navbar {
	background: linear-gradient( 90deg, #132033 0%, #17263a 100% );
	border-bottom: 1px solid var( --color-border-soft );
	box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.08 );
	min-height: var( --nav-height-desktop );
	padding-left: 0;
	padding-right: 0;
}

.topnav .container,
.topnav .container-fluid,
.navbar .container,
.navbar .container-fluid {
	background: transparent !important;
	box-shadow: none !important;
	max-width: 100% !important;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.topnav .navbar-brand,
.navbar .navbar-brand {
	align-items: center;
	display: flex;
	font-weight: 700;
	margin-right: 1rem;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
}

.topnav .navbar-brand img,
.navbar .navbar-brand img {
	height: 34px;
	width: auto;
}

.topnav .navbar-nav,
.navbar .navbar-nav {
	align-items: center;
}

.topnav .nav-link,
.navbar .nav-link {
	color: rgba( 255, 255, 255, 0.88 );
	font-weight: 500;
	transition: color 0.2s ease;
}

.topnav .nav-link:hover,
.navbar .nav-link:hover {
	color: #ffffff;
}

.topnav .btn-outline-light,
.navbar .btn-outline-light {
	background: rgba( 255, 255, 255, 0.04 );
	border-color: rgba( 255, 255, 255, 0.24 );
	border-radius: 0.6rem;
	color: #e2e8f0;
	font-weight: 600;
	padding: 0.45rem 1rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.topnav .btn-outline-light:hover,
.navbar .btn-outline-light:hover {
	background: rgba( 255, 255, 255, 0.1 );
	border-color: rgba( 255, 255, 255, 0.34 );
	color: #ffffff;
}

.topnav .btn-sign-out,
.navbar .btn-sign-out {
	background: rgba( 245, 158, 11, 0.08 );
	border: 1px solid rgba( 245, 158, 11, 0.55 );
	border-radius: 0.6rem;
	color: #fbbf24;
	font-weight: 600;
	padding: 0.45rem 1rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.topnav .btn-sign-out:hover,
.navbar .btn-sign-out:hover {
	background: rgba( 245, 158, 11, 0.16 );
	border-color: rgba( 245, 158, 11, 0.8 );
	color: #ffd166;
}

.topnav .btn,
.navbar .btn {
	-webkit-tap-highlight-color: transparent;
	box-shadow: none !important;
	outline: none !important;
}

.topnav .btn:focus,
.topnav .btn:active,
.topnav .btn.focus,
.navbar .btn:focus,
.navbar .btn:active,
.navbar .btn.focus {
	box-shadow: none !important;
	outline: none !important;
}

.topnav .btn-outline-light:focus,
.topnav .btn-outline-light.focus,
.topnav .btn-outline-light:active,
.topnav .btn-outline-light:not( :disabled ):not( .disabled ):active,
.topnav .btn-outline-light:not( :disabled ):not( .disabled ).active,
.topnav .show > .btn-outline-light.dropdown-toggle,
.navbar .btn-outline-light:focus,
.navbar .btn-outline-light.focus,
.navbar .btn-outline-light:active,
.navbar .btn-outline-light:not( :disabled ):not( .disabled ):active,
.navbar .btn-outline-light:not( :disabled ):not( .disabled ).active,
.navbar .show > .btn-outline-light.dropdown-toggle {
	background: rgba( 255, 255, 255, 0.1 ) !important;
	border-color: rgba( 255, 255, 255, 0.34 ) !important;
	box-shadow: none !important;
	color: #ffffff !important;
	outline: none !important;
}

.topnav .btn-sign-out:focus,
.topnav .btn-sign-out.focus,
.topnav .btn-sign-out:active,
.topnav .btn-sign-out:not( :disabled ):not( .disabled ):active,
.topnav .btn-sign-out:not( :disabled ):not( .disabled ).active,
.navbar .btn-sign-out:focus,
.navbar .btn-sign-out.focus,
.navbar .btn-sign-out:active,
.navbar .btn-sign-out:not( :disabled ):not( .disabled ):active,
.navbar .btn-sign-out:not( :disabled ):not( .disabled ).active {
	background: rgba( 245, 158, 11, 0.16 ) !important;
	border-color: rgba( 245, 158, 11, 0.8 ) !important;
	box-shadow: none !important;
	color: #ffd166 !important;
	outline: none !important;
}

.topnav .btn:focus-visible,
.navbar .btn:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba( 255, 255, 255, 0.18 ) !important;
}

.topnav .card,
.topnav .bg-white,
.topnav .bg-light,
.navbar .card,
.navbar .bg-white,
.navbar .bg-light {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#hamburger-btn {
	background: transparent;
	border: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	outline: none;
	padding: 0.5rem;
	z-index: 1053;
}

#hamburger-btn:focus {
	box-shadow: none;
	outline: none;
}

#hamburger-btn.open .hamburger-bar:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

#hamburger-btn.open .hamburger-bar:nth-child(2) {
	opacity: 0;
}

#hamburger-btn.open .hamburger-bar:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

.hamburger-bar {
	background-color: #ffffff;
	height: 3px;
	transition: transform 0.3s ease, opacity 0.3s ease;
	width: 25px;
}

#navbar-menu {
	align-items: flex-start;
	background: linear-gradient( 180deg, rgba( 19, 32, 51, 0.99 ) 0%, rgba( 23, 38, 58, 0.99 ) 100% );
	display: flex;
	flex-direction: column;
	gap: 1rem;
	height: calc(100dvh - var( --nav-height-desktop ));
	left: 0;
	overflow-y: auto;
	padding: 2rem;
	pointer-events: none;
	position: fixed;
	top: var( --nav-height-desktop );
	transform: translateY(-100%);
	transition: transform 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
	width: 100%;
	z-index: 1040;
}

#navbar-menu.show {
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

@media (min-width: 768px) {
	#hamburger-btn {
		display: none;
	}

	#navbar-menu {
		align-items: center;
		background: transparent;
		display: flex;
		flex-direction: row;
		height: auto;
		padding: 0;
		pointer-events: auto;
		position: static;
		top: auto;
		transform: none !important;
		visibility: visible;
	}
}

@media (max-width: 991.98px) {
	.topnav .container,
	.topnav .container-fluid,
	.navbar .container,
	.navbar .container-fluid {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (max-width: 767.98px) {
	.topnav,
	.navbar.main,
	.navbar {
		min-height: var( --nav-height-mobile );
	}

	#navbar-menu {
		height: calc(100dvh - var( --nav-height-mobile ));
		top: var( --nav-height-mobile );
	}

	.navbar.main .justify-content-end {
		justify-content: center !important;
	}
	
	.navbar.main .btn {
		margin: 0 auto;
	}
	
	.navbar.main .btn-sm {
		border-radius: 0.5rem !important;
		font-size: 1.5rem !important;
		padding: 1rem 1.5rem !important;
	}
}

.impersonating-mode {
	padding-top: 27px;
}

.impersonating-mode.nav-fixed .topnav,
.impersonating-mode.nav-fixed #layoutSidenav #layoutSidenav_nav {
	top: 27px !important;
}

.impersonating-banner {
	background-color: #dc3545;
	color: #fff;
	font-size: 0.8rem;
	font-weight: bold;
	padding: 0.25rem 0.5rem;
	position: fixed;
	text-align: center;
	top: 0;
	transition: transform 0.2s ease, background 0.2s ease;
	width: 100%;
	z-index: 2000;
}

#sidebarToggle {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	color: #ffffff !important;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	opacity: 1 !important;
	padding: 0.5rem;
	width: 44px;
}

#sidebarToggle i,
#sidebarToggle svg,
#sidebarToggle svg.feather {
	color: #ffffff !important;
	stroke: #ffffff !important;
	stroke-width: 2.25;
}

#sidebarToggle:hover,
#sidebarToggle:focus {
	background: rgba( 255, 255, 255, 0.08 ) !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	outline: none !important;
	transform: scale( 1.08 );
}

#sidebarToggle:active {
	transform: scale( 0.92 );
}

@media( max-width: 767.98px ) {
	.topnav .navbar-brand img {
		height: 28px;
	}

	#sidebarToggle {
		margin-left: 0.35rem;
	}
}



/***************** HOME *****************/
.hero-bg {
	align-items: center;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	min-height: 66vh;
	position: relative;
}

.hero-bg::before {
	backdrop-filter: blur( 1px );
	background: linear-gradient( 180deg, rgba( 11, 18, 32, 0.38 ) 0%, rgba( 11, 18, 32, 0.62 ) 100% );
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.hero-bg > * {
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.hero-bg {
		background-attachment: scroll;
	}
}

.hero-content {
	backdrop-filter: blur( 4px );
	background: rgba( 0, 0, 0, 0.28 );
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 1rem;
	display: inline-block;
	padding: 1.25rem 1.5rem;
}

#button-sign-in {
	min-width: 100px;
}

@media (max-width: 500px) {
	#button-sign-in {
		margin-top: 10px;
		width: 100%;
	}
}

.page-home {
	background:
		radial-gradient( circle at top center, rgba( 37, 99, 235, 0.08 ) 0%, rgba( 37, 99, 235, 0 ) 32% ),
		linear-gradient( 180deg, #f8faff 0%, #f3f6fb 42%, #eef3f9 100% );
}

.hero-home {
	background-color: #0f172a;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 500px;
	overflow: hidden;
	position: relative;
}

.hero-home-overlay {
	background: linear-gradient( 180deg, rgba( 15, 23, 42, 0.38 ) 0%, rgba( 15, 23, 42, 0.72 ) 100% );
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.hero-home .container {
	position: relative;
	z-index: 2;
}

.hero-home-content {
	margin: 0 auto;
	max-width: 760px;
	padding: 5.5rem 0 6.5rem 0;
	text-align: center;
}

.hero-home-eyebrow {
	background: rgba( 255, 255, 255, 0.1 );
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 999px;
	color: rgba( 255, 255, 255, 0.88 );
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 1.25rem;
	padding: 0.5rem 0.9rem;
	text-transform: uppercase;
}

.hero-home-title {
	color: #ffffff;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.05;
	margin-bottom: 1rem;
	text-shadow: 0 8px 30px rgba( 0, 0, 0, 0.2 );
}

.hero-home-text {
	color: rgba( 255, 255, 255, 0.84 );
	font-size: 1.12rem;
	line-height: 1.7;
	margin: 0 auto 1.75rem auto;
	max-width: 640px;
}

.hero-home-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.hero-home-actions .btn {
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba( 0, 0, 0, 0.14 );
	font-weight: 600;
	min-width: 220px;
	padding: 0.95rem 1.6rem;
}

.hero-home-secondary-link {
	color: rgba( 255, 255, 255, 0.88 );
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.hero-home-secondary-link:hover {
	color: #ffffff;
	text-decoration: underline;
}

.home-account-message {
	position: relative;
	z-index: 10;
}

.home-stats {
	margin-top: -4.6rem;
	position: relative;
	z-index: 5;
}

.home-stat-card {
	align-items: center;
	backdrop-filter: blur( 10px );
	background: rgba( 255, 255, 255, 0.82 );
	border: 1px solid rgba( 255, 255, 255, 0.72 );
	border-radius: 1.25rem;
	box-shadow: 0 12px 28px rgba( 15, 23, 42, 0.06 );
	display: flex;
	gap: 1rem;
	min-height: 132px;
	padding: 1.35rem 1.4rem;
	text-align: left;
}

.home-stat-icon {
	align-items: center;
	background: rgba( 37, 99, 235, 0.08 );
	border-radius: 999px;
	display: flex;
	flex: 0 0 56px;
	font-size: 1.35rem;
	height: 56px;
	justify-content: center;
	margin-bottom: 0;
	width: 56px;
}

.home-stat-card .text-success.home-stat-icon {
	background: rgba( 16, 185, 129, 0.1 );
}

.home-stat-card .text-info.home-stat-icon {
	background: rgba( 6, 182, 212, 0.1 );
}

.home-stat-content {
	flex: 1 1 auto;
	min-width: 0;
}

.home-stat-value {
	color: #0f172a;
	font-size: 2.1rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	margin-bottom: 0.35rem;
}

.home-stat-label {
	color: var( --color-text-muted );
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.35;
}

.home-stat-title {
	color: #0f172a;
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin-bottom: 0.35rem;
}

.home-features {
	padding-bottom: 2.5rem !important;
	padding-top: 4.25rem !important;
}

.home-feature-icon {
	font-size: 1.9rem;
}

.home-features .card {
	background: transparent;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	transition: none;
}

.home-features .card:hover {
	box-shadow: none !important;
	transform: none;
}

.home-features .card-body {
	padding: 1.25rem 1.1rem !important;
}

.home-features .col-md-4:not( :last-child ) .card-body {
	border-right: 1px solid rgba( 148, 163, 184, 0.18 );
}

.home-features h2,
.home-features h3,
.home-competitions h2,
.home-host-cta h2 {
	color: #0f172a;
}

.home-features h3 {
	margin-bottom: 0.65rem;
}

.home-features p,
.home-competitions p {
	color: var( --color-text-muted ) !important;
	font-size: 0.98rem;
	line-height: 1.65;
	margin-bottom: 0;
}

.home-competitions {
	padding-bottom: 3.25rem !important;
	padding-top: 0.5rem !important;
}

.home-competition-shell {
	backdrop-filter: blur( 10px );
	background: rgba( 255, 255, 255, 0.68 );
	border: 1px solid rgba( 255, 255, 255, 0.8 );
	border-radius: 1.5rem;
	box-shadow: 0 16px 34px rgba( 15, 23, 42, 0.05 );
	padding: 1.2rem;
}

.home-competition-tabs {
	margin-bottom: 1.4rem !important;
}

.home-competition-tabs .nav-link {
	align-items: center;
	background: rgba( 226, 232, 240, 0.78 );
	border: 0;
	border-radius: 999px;
	color: #334155;
	display: inline-flex;
	font-weight: 600;
	padding: 0.74rem 1.05rem;
	transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.home-competition-tabs .nav-link:hover {
	background: rgba( 203, 213, 225, 0.9 );
	color: #0f172a;
}

.home-competition-tabs .nav-link.active {
	background: #0f172a;
	color: #ffffff;
}

.home-competition-tabs .nav-link .badge {
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.32rem 0.5rem;
}

.home-competition-tabs .nav-link.active .badge {
	background: rgba( 255, 255, 255, 0.16 );
	color: #ffffff;
}

.competition-card {
	background: rgba( 255, 255, 255, 0.94 );
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.15rem;
	overflow: hidden;
	position: relative;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.competition-card:hover {
	border-color: rgba( 59, 130, 246, 0.2 );
	box-shadow: 0 16px 32px rgba( 15, 23, 42, 0.08 ) !important;
	transform: translateY( -4px );
}

.competition-card-image-link {
	display: block;
	text-decoration: none;
}

.competition-card-image {
	background-color: #cbd5e1;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 215px;
	position: relative;
}

.competition-card-image::after {
	background: linear-gradient( 180deg, rgba( 15, 23, 42, 0.04 ) 0%, rgba( 15, 23, 42, 0.34 ) 100% );
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.competition-card-badge {
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	left: 1rem;
	letter-spacing: 0.03em;
	padding: 0.42rem 0.62rem;
	position: absolute;
	top: 1rem;
	z-index: 2;
}

.competition-card .card-body {
	padding: 1.2rem;
}

.competition-card h3 a {
	color: #0f172a !important;
	text-decoration: none !important;
}

.competition-card h3 a:hover {
	color: #0061f2 !important;
}

.competition-card-meta {
	border-top: 1px solid rgba( 226, 232, 240, 0.8 );
	padding-top: 0.9rem;
}

.competition-card-meta-item {
	align-items: flex-start;
	display: flex;
	line-height: 1.5;
}

.competition-card-meta-item i {
	margin-top: 0.15rem;
}

.competition-card .btn,
.home-host-cta-card .btn {
	border-radius: 999px;
	font-weight: 600;
}

.home-host-cta {
	padding-bottom: 3.5rem !important;
	padding-top: 0 !important;
}

.home-host-cta-card {
	background: linear-gradient( 135deg, #0f172a 0%, #172554 100% );
	border: 0;
	border-radius: 1.5rem;
	box-shadow: 0 18px 40px rgba( 15, 23, 42, 0.14 );
	color: #ffffff;
	overflow: hidden;
}

.home-host-cta-card .card-body {
	padding: 2rem !important;
}

.home-host-cta-card h2 {
	color: #ffffff;
}

.home-host-cta-card p {
	color: rgba( 255, 255, 255, 0.8 );
	font-size: 1rem;
	line-height: 1.7;
}

.home-host-cta-card .btn-primary {
	background: #ffffff;
	border-color: #ffffff;
	color: #0f172a;
}

.home-host-cta-card .btn-primary:hover {
	background: #f8fafc;
	border-color: #f8fafc;
	color: #0f172a;
}

@media( max-width: 1199.98px ) {
	.hero-home-title {
		font-size: 2.6rem;
	}
}

@media( max-width: 991.98px ) {
	.hero-home {
		min-height: 455px;
	}

	.hero-home-content {
		padding: 5rem 0 5.75rem 0;
	}

	.hero-home-title {
		font-size: 2.25rem;
	}

	.hero-home-text {
		font-size: 1.04rem;
	}

	.home-features {
		padding-top: 3.75rem !important;
	}

	.home-features .col-md-4:not( :last-child ) .card-body {
		border-right: 0;
	}

	.home-host-cta-card .card-body {
		padding: 1.75rem !important;
	}
}

@media( max-width: 767.98px ) {
	.hero-home {
		min-height: auto;
	}

	.hero-home-content {
		padding: 4.5rem 0 4.75rem 0;
	}

	.hero-home-title {
		font-size: 2rem;
	}

	.hero-home-text {
		font-size: 1rem;
		line-height: 1.6;
	}

	.hero-home-actions {
		flex-direction: column;
	}

	.hero-home-actions .btn {
		margin-right: 0 !important;
		min-width: 100%;
		width: 100%;
	}

	.hero-home-secondary-link {
		margin-top: 0.15rem;
	}

	.home-stat-card {
		padding: 1.2rem 1rem;
	}

	.home-features {
		padding-bottom: 1.75rem !important;
	}

	.home-features .card-body {
		padding: 1rem 0.5rem 1.35rem 0.5rem !important;
	}

	.home-competition-shell {
		border-radius: 1.1rem;
		padding: 0.95rem;
	}

	.home-competition-tabs {
		justify-content: flex-start !important;
		overflow-x: auto;
		padding-bottom: 0.25rem;
		white-space: nowrap;
	}

	.home-competition-tabs .nav-item {
		flex: 0 0 auto;
	}

	.competition-card-image {
		min-height: 195px;
	}

	.competition-card .card-body {
		padding: 1.05rem;
	}

	.home-host-cta-card .card-body {
		padding: 1.5rem !important;
		text-align: center;
	}

	.home-host-cta-card .row {
		justify-content: center;
	}

	.home-host-cta-card .col-lg-8,
	.home-host-cta-card .col-lg-4 {
		text-align: center !important;
	}

	.home-host-cta-card p {
		margin-left: auto;
		margin-right: auto;
		max-width: 520px;
	}

	.home-host-cta-card .btn {
		margin-left: auto;
		margin-right: auto;
	}
}

@media( max-width: 575.98px ) {
	.hero-home-content {
		padding: 4rem 0 4.5rem 0;
	}

	.hero-home-eyebrow {
		font-size: 0.7rem;
		margin-bottom: 1rem;
	}

	.hero-home-title {
		font-size: 1.8rem;
	}

	.home-stat-value {
		font-size: 1.55rem;
	}

	.home-competition-tabs .nav-link {
		font-size: 0.94rem;
		padding: 0.7rem 0.95rem;
	}

	.competition-card-image {
		min-height: 180px;
	}
}


/***************** MODAL SIGN IN *****************/
.modal-signin-content {
	border-radius: 1.25rem;
	overflow: hidden;
}

.modal-signin-content .modal-header {
	padding: 1.5rem 1.5rem 0.5rem 1.5rem;
}

.modal-signin-content .modal-body {
	padding: 0 1.5rem 1.5rem 1.5rem;
}

.modal-signin-content .close {
	font-size: 1.5rem;
	outline: none;
}

.modal-signin-content .card {
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	margin-bottom: 0;
}

.modal-signin-content .card-header {
	background: transparent;
	border-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	text-align: left;
}

.modal-signin-content .card-body {
	padding: 0;
}

.modal-signin-content .card-footer {
	background: transparent;
	border-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

.modal-signin-content .form-control {
	border-radius: 0.8rem;
}

.modal-signin-content .input-group-text {
	border-radius: 0.8rem 0 0 0.8rem;
}

.modal-signin-content .input-group .form-control:last-child {
	border-radius: 0 0.8rem 0.8rem 0;
}


/***************** ALERTS *****************/
.alert {
	align-items: center;
	border-radius: 0.25rem;
	display: flex;
	padding: 0.75rem 1rem;
}

.alert-icon {
	align-items: center;
	display: flex;
	font-size: 1.25rem;
	height: 24px;
	justify-content: center;
	margin-right: 20px;
	width: 24px;
}

.alert-success .alert-icon {
	color: #155724;
}

.alert-danger .alert-icon {
	color: #721c24;
}

.alert-warning .alert-icon {
	color: #856404;
}

.alert-info .alert-icon {
	color: #0c5460;
}


/***************** FOOTER *****************/
footer,
.footer {
	background: transparent;
	border-top: 1px solid rgba( 148, 163, 184, 0.12 );
	margin-top: 3rem;
	padding: 1rem 0;
}

.footer-bar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	justify-content: space-between;
}

.footer-bar-left {
	color: var( --color-text-muted );
	font-size: 0.92rem;
	line-height: 1.5;
	text-align: left;
}

.footer-bar-right {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: flex-end;
	text-align: right;
}

.footer-utility-button {
	align-items: center;
	background: transparent;
	border: none;
	color: var( --color-text-muted );
	cursor: pointer;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 500;
	gap: 6px;
	line-height: 1;
	opacity: 1;
	padding: 0;
	transition: color 0.2s ease;
}

.footer-utility-button:hover {
	color: #0f172a;
	opacity: 1;
	text-decoration: none;
}

.footer-utility-button:focus {
	box-shadow: none;
	outline: none;
}

.footer-utility-button .theme-icon,
.footer-utility-button .help-icon {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	width: 14px;
}

.footer-utility-button .theme-text,
.footer-utility-button .help-text {
	line-height: 1;
}

.footer-version {
	color: #94a3b8;
	display: inline-block;
	font-size: 0.9rem;
}

footer .social a {
	margin: 0 10px !important;
	transition: color 0.3s ease;
}

footer a.facebook:hover {
	color: #3b5998 !important;
}

footer a.instagram:hover {
	color: #e4405f !important;
}

footer a.tiktok:hover {
	color: #69c9d0 !important;
}

.nowrap-bullet {
	display: inline-block;
	margin-left: 5px;
}

.nowrap-bullet::before {
	content: '• ';
}

@media (max-width: 767.98px) {
	.footer-bar {
		flex-direction: column;
		text-align: center;
	}

	.footer-bar-left,
	.footer-bar-right {
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

@media (max-width: 576px) {
	.nowrap-bullet {
		display: block;
		margin-left: 0;
		text-align: center;
	}

	.nowrap-bullet::before {
		content: '';
	}
}


/***************** DASHBOARD *****************/
.card-hover {
	transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.card-hover:hover {
	box-shadow: 0 8px 16px rgba( 0, 0, 0, 0.2 );
	transform: translateY( -5px );
}

.card-hover svg {
	transition: transform 0.3s ease-in-out;
}

.card-hover:hover svg {
	transform: scale( 1.1 );
}

.sidenav .sidenav-menu .nav .nav-link .nav-link-icon,
.list-group-item .svg-inline--fa {
	width: 20px !important;
}


/***************** COMPETITION CARDS *****************/
.list-group-item.list-group-item-action {
	align-items: center;
	display: flex;
}

.list-group-item.list-group-item-action i {
	white-space: nowrap;
}

.list-group-item.list-group-item-action span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/***************** FORMS *****************/
.required > label:after,
.required > span:after {
	color: red;
	content: '*';
	margin-left: 4px;
}

#select-gym option[value="other"] {
	font-weight: bold;
}


/***************** DATE & TIME PICKER *****************/
#start-date-picker,
#end-date-picker {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	width: fit-content;
}

#wizard3 .form-group {
	text-align: center;
}

.bootstrap-datetimepicker-widget .row {
	display: flex;
	justify-content: center;
}

.bootstrap-datetimepicker-widget .datepicker {
	flex: 0 0 66.6667%;
	max-width: 66.6667%;
}

.bootstrap-datetimepicker-widget .timepicker {
	flex: 0 0 33.3333%;
	max-width: 33.3333%;
}


/***************** HOST - CREATE *****************/
.wizard-step-text-details {
	color: #6c757d;
	font-size: 0.9rem;
}

#map {
	height: 300px;
	width: 100%;
}
		
#cover-photo-dropzone {
	align-items: center;
	background: repeating-conic-gradient( #ddd 0% 25%, transparent 0% 50% ) 50% / 20px 20px;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	height: 400px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	width: 100%;
}

#cover-photo-preview {
	display: none;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#cover-photo-overlay {
	align-items: center;
	background: rgba( 0, 0, 0, 0.5 );
	color: #ffffff;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: bold;
	height: 100%;
	justify-content: center;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
	z-index: 2;
}

#cover-photo-dropzone.dragover {
	background: #ddd;
	border-color: #666;
}


/***************** HOST - COMPETITIONS *****************/
.action-box {
	align-items: center;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba( 0, 0, 0, 0.1 );
	display: flex;
	flex-direction: column;
	height: 220px;
	justify-content: center;
	padding: 20px;
	width: 100%;
}

.icon-circle {
	align-items: center;
	border-radius: 50%;
	border-width: 3px !important;
	display: flex;
	height: 90px;
	justify-content: center;
	margin-bottom: 10px;
	width: 90px;
}

.btn-fixed {
	text-align: center;
	width: 115px;
}

.button-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

@media (max-width: 576px) {
	.button-container > * {
		flex: 0 0 48%;
		max-width: 48%;
	}
}

.comp-image {
	background-position: center;
	background-size: cover;
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
	height: 200px;
}

.comp-ellipsis {
	right: 0;
	top: 0;
}

.past-comp {
	filter: grayscale( 100% );
	opacity: 0.8;
}


/***************** COMPETITION - MANAGE *****************/
.competition-link {
	bottom: 30px;
	height: 60px;
	position: fixed;
	right: 30px;
	width: 60px;
	z-index: 9999;
}

@media ( max-width: 767.98px ) {
	.competition-link {
		bottom: 14px;
		height: 40px;
		right: 14px;
		width: 40px;
	}
}


/***************** COMPETITION *****************/
.registration-card-wrapper {
	top: 100px;
	z-index: 1020;
}

.competition-tabs-wrapper {
	border-bottom: 1px solid #ddd;
	margin-bottom: 1rem;
	-ms-overflow-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	position: relative;
	scrollbar-width: none;
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.competition-tabs-wrapper::-webkit-scrollbar {
	display: none;
}

.competition-tabs {
	display: inline-flex;
	flex-wrap: nowrap;
	margin-bottom: 0;
	min-width: max-content;
	padding-left: 0;
}

.competition-tabs .nav-item {
	display: inline-block;
}

.competition-tabs .nav-link {
	background: transparent;
	border: none;
	color: #6c757d;
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	margin: 0 0.75rem;
	padding: 0.5rem 0.75rem;
	position: relative;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.competition-tabs .nav-link:hover {
	color: #000000;
}

.competition-tabs .nav-link.active {
	color: #000000;
}

.competition-tabs .nav-link i {
	font-size: 1.2rem;
}

.magic-line {
	background-color: #007bff;
	border-radius: 2px;
	bottom: 0;
	height: 3px;
	left: 0;
	position: absolute;
	transition: all 0.3s cubic-bezier( 0.4, 0, 0.2, 1 );
	width: 0;
}

@media (min-width: 768px) {
	.competition-tabs .nav-link {
		font-size: 1.1rem;
		padding: 0.5rem 1rem;
	}
}


/***************** COMPETITION - SCORES *****************/
.button-workout.active,
.button-division.active {
	color: #ffffff;
}

.button-workout.active {
	background-color: var( --bs-primary );
	border-color: var( --bs-primary );
}

.button-division.active {
	background-color: var( --bs-secondary );
	border-color: var( --bs-secondary );
}

#division-card-group .btn {
	height: auto;
	margin-bottom: 0.5rem;
	margin-right: 0.5rem;
	max-height: 30px;
	padding: 0.5rem 1rem;
	white-space: nowrap;
}


/***************** COMPETITION - SCHEDULE *****************/
.hidden-fade {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s ease;
}

.hidden-fade.visible {
	opacity: 1;
	pointer-events: auto;
}

.grid-cell {
	background: #f8f9fa;
	border: none;
	height: 60px;
	margin: 0;
	max-width: 100px;
	min-height: 60px;
	overflow: hidden;
	padding: 0;
	position: relative;
	vertical-align: top;
	width: 100px;
}

.grid-cell .badge {
	margin: 0;
}

.grid-cell::before {
	border: 1px solid #dee2e6;
	box-sizing: border-box;
	content: '';
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.grid-cell.sortable-chosen {
	opacity: 0.8;
}

.grid-cell.sortable-ghost {
	background-color: rgba( 0, 123, 255, 0.1 );
	visibility: hidden;
}

.grid-cell.sortable-ghost::before {
	display: none;
}

.lane-header {
	background: #e9ecef;
	font-weight: bold;
	text-align: center;
}

#table-schedule {
	min-width: 100%;
	table-layout: fixed;
	width: max-content;
}

#table-schedule th:first-child,
#table-schedule td:first-child {
	background: #ffffff;
	left: 0;
	max-width: 240px;
	position: sticky;
	width: 240px;
	z-index: 2;
}

#table-schedule th.lane-header,
#table-schedule td.grid-cell {
	min-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 1%;
}

.team-pill {
	color: #ffffff;
	cursor: grab;
	display: inline-block;
	font-weight: 500;
	max-width: 100%;
	overflow: hidden;
	padding: 4px 10px;
	position: relative;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-pill.has-remove {
	padding-right: 22px;
}

.team-pill:active {
	cursor: grabbing !important;
}

.remove-pill {
	background: #ffffff;
	border-radius: 50%;
	color: #dc3545;
	cursor: pointer;
	font-size: 10px;
	height: 12px;
	line-height: 14px;
	pointer-events: auto;
	position: absolute;
	right: 4px;
	text-align: center;
	top: 4px;
	width: 12px;
}

.team-pill,
.grid-cell,
.badge,
.sortable-fallback {
	-ms-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-user-select: none;
}

.time-label {
	font-weight: bold;
}

.time-label div {
	line-height: 1.2;
}


/***************** REGISTER *****************/
.division-card {
	background-color: #f8f9fa;
	cursor: pointer;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.division-card:hover {
	background-color: #e9ecef;
}

.division-card.border-dark {
	box-shadow: 0 0 0 2px #000000;
}


/***************** COMPETITION *****************/
.schedule-team-name {
	font-size: 0.95rem;
	line-height: 1.1;
}

.schedule-team-members {
	font-size: 0.78rem;
	line-height: 1.1;
	margin-top: 5px;
	opacity: 0.8;
}

@media (max-width: 767.98px) {
	.schedule-team-name {
		font-size: 0.9rem;
	}

	.schedule-team-members {
		font-size: 0.74rem;
	}
}


/***************** LEADERBOARD *****************/
body.leaderboard .container {
	max-width: 100% !important;
}

.badge-rank {
	background-color: #e0e0e0;
	border-radius: 20px;
	color: #111111;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.5rem 0.75rem;
	text-transform: uppercase;
}

.badge-rank.rank-1st {
	background-color: gold;
	color: #111111;
}

.badge-rank.rank-2nd {
	background-color: silver;
	color: #111111;
}

.badge-rank.rank-3rd {
	background-color: #cd7f32;
	color: #ffffff;
}

.rank-tie-dot {
	background-color: #e83e8c;
	border-radius: 50%;
	box-shadow: 0 0 1px #ffffff;
	height: 6px;
	position: absolute;
	right: 2px;
	top: 2px;
	width: 6px;
}

.rank-tie-dot-small {
	background-color: #e83e8c;
	border-radius: 50%;
	box-shadow: 0 0 1px #ffffff;
	height: 5px;
	position: absolute;
	right: -8px;
	top: -2px;
	width: 5px;
}

.clear-search-icon {
	color: #aaa;
	cursor: pointer;
	display: none;
	font-size: 1rem;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
}

.clear-search-icon:hover {
	color: #333;
}

#division-tabs .nav-link {
	font-weight: 600;
}

#leaderboard-spinner {
	display: none;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

.leaderboard-division-tabs {
	border-bottom: 1px solid #ddd;
	margin-bottom: 1rem;
}

.leaderboard-division-tabs .nav-link {
	background: none;
	border: none;
	color: #333;
	font-weight: 600;
	padding: 0.5rem 1rem;
}

.leaderboard-division-tabs .nav-link.active {
	border-bottom: 2px solid #000000;
	color: #000000;
}

.leaderboard-header-buttons .btn {
	justify-content: center;
	min-width: 160px;
	width: 100%;
}

@media (max-width: 767.98px) {
	.leaderboard-header-buttons {
		margin-top: 0.5rem !important;
	}
}

.leaderboard-header-info h1 {
	font-size: 2.25rem;
	line-height: 1.2;
}

@media (max-width: 767.98px) {
	.leaderboard-header-info h1 {
		font-size: 1.6rem !important;
		line-height: 1.2;
		word-break: break-word;
	}
}

.leaderboard-hero {
	align-items: center;
	background-position: center;
	background-size: cover;
	display: flex;
	height: 260px;
	overflow: hidden;
	position: relative;
}

@media (max-width: 767.98px) {
	.leaderboard-hero {
		height: auto !important;
		min-height: 200px;
		overflow: visible !important;
		padding: 16px 0;
	}

	.leaderboard-header-info p {
		margin-bottom: 0.35rem;
		white-space: normal;
		word-break: break-word;
	}
}

.leaderboard-hero-content {
	position: relative;
	width: 100%;
	z-index: 2;
}

@media (max-width: 767.98px) {
	.leaderboard-hero-content {
		padding: 0 8px;
	}
}

.leaderboard-hero-overlay {
	backdrop-filter: blur( 5px );
	background: rgba( 0, 0, 0, 0.6 );
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.leaderboard-search-share {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: -50px;
	position: relative;
	z-index: 3;
}

.leaderboard-share-btn {
	margin: 10px;
}

.score-detail {
	color: #6c757d;
	font-size: 0.85rem;
	margin-top: 0.25rem;
}

.sort-icon {
	font-size: 0.75rem;
	opacity: 0.75;
}

.sortable {
	cursor: pointer;
}

.sortable:hover {
	background-color: #343a40 !important;
	color: #ffffff;
}

.workout-card {
	background: #ffffff;
	border: 1px solid #dee2e6;
}

.table-leaderboard {
	background-color: #ffffff;
	border-collapse: separate;
	border-radius: 10px;
	border-spacing: 0;
	box-shadow: 0 0 12px rgba( 0, 0, 0, 0.05 );
	font-size: 1rem;
	width: 100%;
}

.table-leaderboard th:nth-child(1),
.table-leaderboard td:nth-child(1),
.table-leaderboard th:nth-child(2),
.table-leaderboard td:nth-child(2) {
	max-width: 120px;
	width: 120px;
}

.table-leaderboard td {
	padding: 1.1rem 0.9rem;
	vertical-align: middle !important;
}

.table-leaderboard td:first-child,
.table-leaderboard td:nth-child(2) {
	font-size: 1rem;
	vertical-align: middle;
}

.table-leaderboard th:nth-child(3),
.table-leaderboard td:nth-child(3) {
	white-space: normal;
	word-break: break-word;
}

th.workout-col,
td.workout-col {
	width: 200px;
}

.table-leaderboard td.text-center {
	font-size: 1rem;
	text-align: center;
}

.table-leaderboard thead th {
	background-color: #0d1a26;
	border: none;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 800;
	padding: 1rem;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

.table-leaderboard thead th.sortable:hover {
	background-color: #152b3c;
	cursor: pointer;
}

.table-leaderboard tbody tr.team-row {
	background-color: #ffffff;
	border-bottom: 2px solid #f0f0f0;
	transition: background-color 0.2s ease;
}

.table-leaderboard tbody tr.team-row:hover {
	background-color: #eef7ff;
}

.table-leaderboard tr.team-details-row {
	background-color: #f4f6f9;
	border-top: none;
}

@media (max-width: 575.98px) {
	.table-leaderboard tr.team-details-row {
		display: none !important;
	}
}

.table-leaderboard tr.team-details-row td {
	border-bottom: none !important;
	border-top: none !important;
	font-size: 0.85rem;
	padding: 1.25rem 1rem;
	vertical-align: top;
}

.table-leaderboard tr.team-details-row td.text-muted {
	text-align: center;
	vertical-align: middle;
}

.toggle-cell {
	-ms-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-user-select: none;
}

.toggle-cell:hover {
	background-color: #ddd;
}

.table-leaderboard .toggle-details {
	color: #0d1a26;
	cursor: pointer;
	font-size: 10px;
	transition: transform 0.2s ease;
}

.toggle-icon {
	font-size: 12px;
	transition: transform 0.3s ease;
}

.toggle-icon.rotate {
	transform: rotate(-90deg);
}

.team-details-content {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.team-details-row td {
	background-color: #f8f9fa;
	font-size: 0.9rem;
	padding: 1.2rem;
}

.team-details-row .fa-user-circle,
.team-details-row .member-avatar,
.team-details-row .initials-circle {
	align-items: center;
	background: linear-gradient( 135deg, #e5e7eb 0%, #d1d5db 100% );
	border-radius: 50%;
	color: #111827;
	display: flex;
	flex: 0 0 34px;
	font-size: 0.8rem;
	font-weight: 700;
	height: 34px;
	justify-content: center;
	margin-right: 0;
	width: 34px;
}

.team-member-line {
	align-items: center;
	background: linear-gradient( 135deg, #ffffff 0%, #f8fafc 100% );
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 0.85rem;
	color: #1e293b;
	display: flex;
	font-weight: 500;
	gap: 0.75rem;
	padding: 0.65rem 0.85rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.team-member-line:hover {
	border-color: rgba( 59, 130, 246, 0.28 );
	box-shadow: 0 6px 16px rgba( 15, 23, 42, 0.08 );
	transform: translateY( -1px );
}

.team-member-line span,
.team-member-line div,
.team-member-line p {
	color: inherit;
}

@media (max-width: 767.98px) {
	.leaderboard-header-buttons {
		flex-direction: row !important;
		justify-content: center !important;
	}

	.leaderboard-header-buttons .btn {
		align-items: center;
		display: flex;
		font-size: 16px !important;
		height: 40px !important;
		justify-content: center;
		margin: 0 5px;
		min-width: auto !important;
		padding: 0 !important;
		width: 60px !important;
	}

	.leaderboard-header-buttons .btn span {
		display: none !important;
	}

	.leaderboard-header-info {
		text-align: center !important;
	}
}

.team-workout-breakdown {
	border-top: 1px solid #ddd;
	display: none;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
	padding-top: 1rem;
}

.workout-block {
	background-color: #ffffff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 0.75rem 1rem;
}

.workout-title {
	color: #111111;
	font-size: 0.95rem;
	font-weight: 700;
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

.workout-result {
	color: #333;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.9rem;
	gap: 0.5rem;
}

.workout-result span {
	display: inline-block;
	min-width: 60px;
}

@media (max-width: 575.98px) {
	.table-leaderboard th:nth-child(1),
	.table-leaderboard td:nth-child(1),
	.table-leaderboard th:nth-child(2),
	.table-leaderboard td:nth-child(2) {
		font-size: 0.75rem;
		padding-left: 0.25rem;
		padding-right: 0.25rem;
		text-align: center;
	}

	.table-leaderboard th:nth-child(2),
	.table-leaderboard td:nth-child(2) {
		max-width: 70px;
		width: 70px;
	}

	.table-leaderboard th:nth-child(1),
	.table-leaderboard td:nth-child(1) {
		max-width: 90px;
		width: 90px;
	}

	.badge-rank {
		border-radius: 999px;
		font-size: 0.6rem;
		padding: 0.25rem 0.5rem;
	}

	.team-workout-breakdown {
		display: flex;
	}

	.table-leaderboard thead th:nth-child(n+4),
	.table-leaderboard tbody tr.team-row td:nth-child(n+4) {
		display: none;
	}

	.table-leaderboard tr.team-details-row td:not(.d-none) {
		display: table-cell !important;
	}

	.table-leaderboard {
		table-layout: fixed;
		word-wrap: break-word;
	}

	.table-leaderboard td,
	.table-leaderboard th {
		font-size: 0.9rem;
		padding: 0.75rem 0.5rem;
	}
}

.team-workout-breakdown-mobile {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
}

.team-workout-breakdown-mobile .workout-block {
	background-color: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 0.75rem 1rem;
}

.team-workout-breakdown-mobile .workout-title {
	color: #000000;
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

.team-workout-breakdown-mobile .workout-result {
	color: #333;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.85rem;
	gap: 0.5rem;
}


/***************** MISCELLANEOUS *****************/
.hidden {
	display: none;
}

.pulse-button {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pulse-button:hover {
	box-shadow: 0 0 0.5rem rgba( 0, 123, 255, 0.6 );
	transform: scale( 1.04 );
}

.price-tag {
	align-items: flex-start;
	display: inline-flex;
	font-size: 1.5rem;
	line-height: 1;
}

.price-cents {
	font-size: 0.8rem;
	margin-left: 1px;
	position: relative;
	top: 2px;
}

.badge-participating {
	font-size: 0.8rem;
	right: 10px;
	top: 10px;
}

.icon-width {
	text-align: center;
	width: 25px !important;
}
 
.score-row:nth-child(even) {
	background-color: #f8f9fa;
}

.score-row:nth-child(odd) {
	background-color: #ffffff;
}

@media (min-width: 1200px) and (max-width: 1499.98px) {
	.custom-xl-override.col-xl-8 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}

	.custom-xl-override.col-xl-4 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
}

.badge-tshirt {
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	padding: 3px 8px;
}

.badge-tshirt-xs {
	background: rgba( 100, 116, 139, 0.15 );
	color: #64748b;
}

.badge-tshirt-s {
	background: rgba( 59, 130, 246, 0.15 );
	color: #3b82f6;
}

.badge-tshirt-m {
	background: rgba( 16, 185, 129, 0.15 );
	color: #10b981;
}

.badge-tshirt-l {
	background: rgba( 245, 158, 11, 0.15 );
	color: #f59e0b;
}

.badge-tshirt-xl {
	background: rgba( 239, 68, 68, 0.15 );
	color: #ef4444;
}

.badge-tshirt-xxl {
	background: rgba( 139, 92, 246, 0.15 );
	color: #8b5cf6;
}

.badge-tshirt-missing {
	background: rgba( 148, 163, 184, 0.15 );
	color: #94a3b8;
}


/***************** ADMIN - ERROR LOGS *****************/
@media (max-width: 768px) {
	#table-logs td,
	#table-logs th {
		white-space: nowrap;
	}
}


/***************** OVERLAY *****************/
#global-ajax-overlay {
	background: rgba( 0, 0, 0, 0.5 );
	display: none;
	inset: 0;
	position: fixed;
	text-align: center;
	z-index: 9999;
}

.global-ajax-spinner {
	color: #eee;
	font-size: 2rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}


/***************** OVERRIDES *****************/
.force-wrap {
	overflow-wrap: break-word;
	word-break: break-word;
	word-wrap: break-word;
}

.topnav .navbar-brand .logo-light,
.navbar .navbar-brand .logo-light {
	display: inline-block;
}

.topnav .navbar-brand .logo-dark,
.navbar .navbar-brand .logo-dark {
	display: none;
}

.alert-dismissible .close {
	top: auto;
}

table.table-bordered.dataTable tbody th,
table.table-bordered.dataTable tbody td {
	vertical-align: middle;
}

.nav-tabs {
	display: flex;
	flex-wrap: nowrap;
	-ms-overflow-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	white-space: nowrap;
}

.nav-tabs::-webkit-scrollbar {
	display: none;
}

.nav-tabs .nav-item {
	flex: 0 0 auto;
}

.nav-tabs .nav-link {
	border: none;
	border-bottom: 2px solid transparent;
	color: #444;
	font-weight: 600;
	padding: 0.75rem 1.25rem;
	transition: border-color 0.3s ease, color 0.3s ease;
}

.nav-tabs .nav-link:hover {
	background-color: transparent;
	border-bottom: 2px solid #007bff;
	color: #007bff;
}

.nav-tabs .nav-link.active {
	background-color: transparent;
	border-bottom: 2px solid #007bff;
	color: #007bff;
}

.text-white a {
	color: #ffffff;
}

.mt-11 {
	margin-top: -7.5rem !important;
}

code {
	font-size: 100% !important;
}

#score-help-text {
	display: block !important;
}

.cursor-pointer {
	cursor: pointer;
}

#email-history-count {
	font-size: 100% !important;
}


/***************** FADE IN *****************/
@keyframes fadeInUpSlow {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.animated--fade-in-up-slow {
	animation-duration: 0.8s;
	animation-fill-mode: both;
	animation-name: fadeInUpSlow;
	animation-timing-function: ease-out;
}


/***************** DARK MODE *****************/
body.theme-dark {
	background-color: #0b1220;
	color: #e5e7eb;
}

body.theme-dark,
body.theme-dark #layoutSidenav_content,
body.theme-dark .bg-light {
	background-color: #0b1220 !important;
	color: #e5e7eb;
}

body.theme-dark .topnav,
body.theme-dark .navbar,
body.theme-dark .navbar.main {
	background: linear-gradient( 90deg, #0f172a 0%, #132033 100% ) !important;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.12 ) !important;
	box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.18 );
}

body.theme-dark .topnav .container,
body.theme-dark .topnav .container-fluid,
body.theme-dark .navbar .container,
body.theme-dark .navbar .container-fluid {
	background: transparent !important;
	box-shadow: none !important;
}

body.theme-dark .topnav .nav-link,
body.theme-dark .navbar .nav-link {
	color: rgba( 255, 255, 255, 0.88 );
}

body.theme-dark .topnav .nav-link:hover,
body.theme-dark .navbar .nav-link:hover {
	color: #ffffff;
}

body.theme-dark .topnav .btn-outline-light,
body.theme-dark .navbar .btn-outline-light {
	background: rgba( 255, 255, 255, 0.04 );
	border-color: rgba( 255, 255, 255, 0.24 );
	color: #e2e8f0;
}

body.theme-dark .topnav .btn-outline-light:hover,
body.theme-dark .navbar .btn-outline-light:hover {
	background: rgba( 255, 255, 255, 0.1 );
	border-color: rgba( 255, 255, 255, 0.34 );
	color: #ffffff;
}

body.theme-dark .topnav .navbar-brand .logo-light,
body.theme-dark .navbar .navbar-brand .logo-light {
	display: none !important;
}

body.theme-dark .topnav .navbar-brand .logo-dark,
body.theme-dark .navbar .navbar-brand .logo-dark {
	display: inline-block !important;
}

body.theme-dark .card,
body.theme-dark .workout-card,
body.theme-dark .action-box,
body.theme-dark .division-card,
body.theme-dark .list-group-item,
body.theme-dark .table-leaderboard,
body.theme-dark .team-details-row td,
body.theme-dark .workout-block,
body.theme-dark .home-stat-card,
body.theme-dark .home-competition-shell,
body.theme-dark .competition-card,
body.theme-dark .modal-signin-content,
body.theme-dark .dropdown-menu,
body.theme-dark .modal-content,
body.theme-dark .sidenav,
body.theme-dark .sidenav-menu,
body.theme-dark #layoutSidenav_nav {
	background-color: var( --color-surface-dark ) !important;
	color: #e5e7eb !important;
}

body.theme-dark .card,
body.theme-dark .workout-card,
body.theme-dark .action-box,
body.theme-dark .division-card,
body.theme-dark .list-group-item,
body.theme-dark .competition-card,
body.theme-dark .home-stat-card,
body.theme-dark .home-competition-shell,
body.theme-dark .modal-signin-content,
body.theme-dark .modal-content {
	border-color: var( --color-border-soft-dark ) !important;
	box-shadow: none;
}

body.theme-dark .card-header,
body.theme-dark .modal-header,
body.theme-dark .modal-footer,
body.theme-dark .lane-header,
body.theme-dark .leaderboard-division-tabs,
body.theme-dark .competition-tabs-wrapper,
body.theme-dark .nav-tabs,
body.theme-dark .table-leaderboard thead th,
body.theme-dark .competition-card-meta,
body.theme-dark hr,
body.theme-dark .border,
body.theme-dark .border-top,
body.theme-dark .border-bottom,
body.theme-dark .border-left,
body.theme-dark .border-right {
	border-color: var( --color-border-soft-dark ) !important;
}

body.theme-dark .table,
body.theme-dark .table td,
body.theme-dark .table th,
body.theme-dark .table-bordered td,
body.theme-dark .table-bordered th,
body.theme-dark .table-leaderboard td,
body.theme-dark .table-leaderboard th,
body.theme-dark .grid-cell::before {
	border-color: var( --color-border-soft-dark ) !important;
}

body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6,
body.theme-dark .h1,
body.theme-dark .h2,
body.theme-dark .h3,
body.theme-dark .h4,
body.theme-dark .h5,
body.theme-dark .h6,
body.theme-dark .card-title,
body.theme-dark .card-header,
body.theme-dark .card-body,
body.theme-dark .text-dark,
body.theme-dark .link-dark,
body.theme-dark a.link-dark {
	color: #f8fafc !important;
}

body.theme-dark .text-muted,
body.theme-dark .text-gray-600,
body.theme-dark .text-gray-700,
body.theme-dark .text-gray-800,
body.theme-dark .text-body,
body.theme-dark .score-detail,
body.theme-dark .wizard-step-text-details,
body.theme-dark .schedule-team-members,
body.theme-dark label,
body.theme-dark .small,
body.theme-dark small,
body.theme-dark .home-stat-label,
body.theme-dark .home-features p,
body.theme-dark .competition-card-meta,
body.theme-dark .home-host-cta-card p,
body.theme-dark .footer-utility-button,
body.theme-dark .footer-version,
body.theme-dark .footer-bar-left,
body.theme-dark .footer-bar-right {
	color: var( --color-text-muted-dark ) !important;
}

body.theme-dark a {
	color: #93c5fd;
}

body.theme-dark a:hover {
	color: #bfdbfe;
}

body.theme-dark .card a:not(.btn),
body.theme-dark .list-group-item a:not(.btn),
body.theme-dark .competition-card h3 a,
body.theme-dark .footer a,
body.theme-dark .hero-home-secondary-link {
	color: #dbe3ef !important;
}

body.theme-dark .card a:not(.btn):hover,
body.theme-dark .list-group-item a:not(.btn):hover,
body.theme-dark .competition-card h3 a:hover,
body.theme-dark .footer a:hover,
body.theme-dark .hero-home-secondary-link:hover {
	color: #ffffff !important;
}

body.theme-dark .form-control,
body.theme-dark .custom-select,
body.theme-dark .dataTables_wrapper .dataTables_filter input,
body.theme-dark .dataTables_wrapper .dataTables_length select,
body.theme-dark textarea,
body.theme-dark .input-group-text {
	background-color: var( --color-surface-dark-alt ) !important;
	border-color: rgba( 148, 163, 184, 0.18 ) !important;
	color: #e5e7eb !important;
}

body.theme-dark .form-control:focus,
body.theme-dark .custom-select:focus,
body.theme-dark textarea:focus,
body.theme-dark .dataTables_wrapper .dataTables_filter input:focus,
body.theme-dark .dataTables_wrapper .dataTables_length select:focus {
	background-color: var( --color-surface-dark-alt ) !important;
	border-color: rgba( 96, 165, 250, 0.65 ) !important;
	box-shadow: 0 0 0 0.2rem rgba( 59, 130, 246, 0.16 ) !important;
	color: #ffffff !important;
}

body.theme-dark .form-control::placeholder,
body.theme-dark textarea::placeholder {
	color: #64748b;
}

body.theme-dark .btn {
	box-shadow: none !important;
}

body.theme-dark .btn-light {
	background-color: #1e293b;
	border-color: #1e293b;
	color: #e5e7eb;
}

body.theme-dark .btn-light:hover {
	background-color: #334155;
	border-color: #334155;
	color: #ffffff;
}

body.theme-dark .btn-outline-primary {
	background-color: rgba( 37, 99, 235, 0.12 );
	border-color: rgba( 96, 165, 250, 0.42 );
	color: #bfdbfe;
}

body.theme-dark .btn-outline-primary:hover,
body.theme-dark .btn-outline-primary:focus,
body.theme-dark .btn-outline-primary:active {
	background-color: #2563eb !important;
	border-color: #2563eb !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-secondary {
	background-color: rgba( 71, 85, 105, 0.16 );
	border-color: rgba( 148, 163, 184, 0.28 );
	color: #e2e8f0;
}

body.theme-dark .btn-outline-secondary:hover,
body.theme-dark .btn-outline-secondary:focus,
body.theme-dark .btn-outline-secondary:active {
	background-color: #475569 !important;
	border-color: #475569 !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-success {
	background-color: rgba( 16, 185, 129, 0.12 );
	border-color: rgba( 52, 211, 153, 0.4 );
	color: #a7f3d0;
}

body.theme-dark .btn-outline-success:hover,
body.theme-dark .btn-outline-success:focus,
body.theme-dark .btn-outline-success:active {
	background-color: #059669 !important;
	border-color: #059669 !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-danger {
	background-color: rgba( 239, 68, 68, 0.12 );
	border-color: rgba( 248, 113, 113, 0.4 );
	color: #fecaca;
}

body.theme-dark .btn-outline-danger:hover,
body.theme-dark .btn-outline-danger:focus,
body.theme-dark .btn-outline-danger:active {
	background-color: #dc2626 !important;
	border-color: #dc2626 !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-warning {
	background-color: rgba( 245, 158, 11, 0.12 );
	border-color: rgba( 251, 191, 36, 0.4 );
	color: #fde68a;
}

body.theme-dark .btn-outline-warning:hover,
body.theme-dark .btn-outline-warning:focus,
body.theme-dark .btn-outline-warning:active {
	background-color: #d97706 !important;
	border-color: #d97706 !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-info {
	background-color: rgba( 6, 182, 212, 0.12 );
	border-color: rgba( 34, 211, 238, 0.4 );
	color: #a5f3fc;
}

body.theme-dark .btn-outline-info:hover,
body.theme-dark .btn-outline-info:focus,
body.theme-dark .btn-outline-info:active {
	background-color: #0891b2 !important;
	border-color: #0891b2 !important;
	color: #ffffff !important;
}

body.theme-dark .btn-outline-purple,
body.theme-dark .btn-purple-outline,
body.theme-dark .btn-volunteer,
body.theme-dark .button-volunteer,
body.theme-dark a[href*="volunteer"].btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info) {
	background: rgba( 124, 58, 237, 0.14 ) !important;
	border-color: rgba( 168, 85, 247, 0.42 ) !important;
	color: #d8b4fe !important;
}

body.theme-dark .btn-outline-purple:hover,
body.theme-dark .btn-outline-purple:focus,
body.theme-dark .btn-outline-purple:active,
body.theme-dark .btn-purple-outline:hover,
body.theme-dark .btn-purple-outline:focus,
body.theme-dark .btn-purple-outline:active,
body.theme-dark .btn-volunteer:hover,
body.theme-dark .btn-volunteer:focus,
body.theme-dark .btn-volunteer:active,
body.theme-dark .button-volunteer:hover,
body.theme-dark .button-volunteer:focus,
body.theme-dark .button-volunteer:active,
body.theme-dark a[href*="volunteer"].btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):hover {
	background: #7c3aed !important;
	border-color: #7c3aed !important;
	color: #ffffff !important;
}

body.theme-dark .page-home {
	background:
		radial-gradient( circle at top center, rgba( 59, 130, 246, 0.14 ) 0%, rgba( 59, 130, 246, 0 ) 28% ),
		linear-gradient( 180deg, #101827 0%, #132033 42%, #17263a 100% ) !important;
}

body.theme-dark .hero-home {
	background-color: #111827 !important;
}

body.theme-dark .hero-home-overlay {
	background: linear-gradient( 180deg, rgba( 7, 12, 24, 0.26 ) 0%, rgba( 7, 12, 24, 0.56 ) 100% ) !important;
}

body.theme-dark .hero-home-title {
	color: #ffffff !important;
	text-shadow: 0 10px 28px rgba( 0, 0, 0, 0.2 );
}

body.theme-dark .hero-home-text {
	color: rgba( 255, 255, 255, 0.88 ) !important;
}

body.theme-dark .hero-home-eyebrow {
	background: rgba( 255, 255, 255, 0.08 ) !important;
	border-color: rgba( 255, 255, 255, 0.12 ) !important;
	color: rgba( 255, 255, 255, 0.9 ) !important;
}

body.theme-dark .home-stat-card {
	background: rgba( 17, 24, 39, 0.82 ) !important;
	border-color: rgba( 96, 165, 250, 0.14 ) !important;
	box-shadow: 0 14px 28px rgba( 0, 0, 0, 0.16 );
}

body.theme-dark .home-stat-value,
body.theme-dark .home-stat-title {
	color: #f8fafc !important;
}

body.theme-dark .home-stat-label {
	color: var( --color-text-muted-dark ) !important;
}

body.theme-dark .home-features h2,
body.theme-dark .home-features h3,
body.theme-dark .home-competitions h2,
body.theme-dark .home-host-cta h2 {
	color: #f8fafc !important;
}

body.theme-dark .home-features p,
body.theme-dark .home-competitions p,
body.theme-dark .home-host-cta p {
	color: var( --color-text-muted-dark ) !important;
}

body.theme-dark .home-features .card-body {
	border-right-color: rgba( 148, 163, 184, 0.1 ) !important;
}

body.theme-dark .home-competition-shell {
	background: rgba( 17, 24, 39, 0.68 ) !important;
	border-color: rgba( 148, 163, 184, 0.12 ) !important;
	box-shadow: 0 18px 36px rgba( 0, 0, 0, 0.16 ) !important;
}

body.theme-dark .home-competition-tabs .nav-link {
	background: rgba( 255, 255, 255, 0.06 ) !important;
	color: #dbe3ef !important;
}

body.theme-dark .home-competition-tabs .nav-link:hover {
	background: rgba( 255, 255, 255, 0.1 ) !important;
	color: #ffffff !important;
}

body.theme-dark .home-competition-tabs .nav-link.active {
	background: #2563eb !important;
	color: #ffffff !important;
	box-shadow: 0 8px 20px rgba( 37, 99, 235, 0.22 );
}

body.theme-dark .competition-card {
	background: rgba( 20, 29, 45, 0.9 ) !important;
	border-color: rgba( 148, 163, 184, 0.1 ) !important;
	box-shadow: 0 10px 24px rgba( 0, 0, 0, 0.12 ) !important;
}

body.theme-dark .competition-card:hover {
	border-color: rgba( 96, 165, 250, 0.28 ) !important;
	box-shadow: 0 16px 30px rgba( 0, 0, 0, 0.18 ) !important;
}

body.theme-dark .competition-card-meta,
body.theme-dark .competition-card .text-muted {
	color: var( --color-text-muted-dark ) !important;
}

body.theme-dark .competition-card-image {
	background-color: #1e293b;
}

body.theme-dark .competition-card-image::after {
	background: linear-gradient( 180deg, rgba( 2, 6, 23, 0.08 ) 0%, rgba( 2, 6, 23, 0.46 ) 100% );
}

body.theme-dark .competition-card-badge.badge-success {
	background-color: #10b981;
	color: #ffffff;
}

body.theme-dark .competition-card-badge.badge-secondary {
	background-color: #475569;
	color: #ffffff;
}

body.theme-dark .competition-tabs-wrapper {
	border-bottom: 1px solid rgba( 148, 163, 184, 0.16 ) !important;
}

body.theme-dark .competition-tabs .nav-link {
	color: #94a3b8 !important;
	text-shadow: none;
}

body.theme-dark .competition-tabs .nav-link:hover {
	color: #dbeafe !important;
}

body.theme-dark .competition-tabs .nav-link.active {
	color: #ffffff !important;
}

body.theme-dark .magic-line {
	background-color: #3b82f6 !important;
}

body.theme-dark .home-host-cta-card {
	background: linear-gradient( 135deg, #1e3a8a 0%, #1d4ed8 100% ) !important;
	box-shadow: 0 16px 34px rgba( 0, 0, 0, 0.18 ) !important;
}

body.theme-dark .home-host-cta-card h2,
body.theme-dark .home-host-cta-card p {
	color: #ffffff !important;
}

body.theme-dark .home-host-cta-card .btn-primary {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #0f172a !important;
	box-shadow: none !important;
}

body.theme-dark .home-host-cta-card .btn-primary:hover {
	background: #eff6ff !important;
	border-color: #eff6ff !important;
	color: #0f172a !important;
}

body.theme-dark .modal-signin-content {
	background: #172033 !important;
	border-color: rgba( 148, 163, 184, 0.14 ) !important;
	box-shadow: 0 22px 50px rgba( 0, 0, 0, 0.38 ) !important;
}

body.theme-dark .modal-signin-content .card,
body.theme-dark .modal-signin-content .card-header,
body.theme-dark .modal-signin-content .card-body,
body.theme-dark .modal-signin-content .card-footer {
	background: transparent !important;
	color: #e5e7eb !important;
}

body.theme-dark .modal-backdrop.show {
	opacity: 0.72;
}

body.theme-dark .grid-cell {
	background: var( --color-surface-dark-alt );
}

body.theme-dark #table-schedule th:first-child,
body.theme-dark #table-schedule td:first-child {
	background: var( --color-surface-dark );
}

body.theme-dark .lane-header {
	background: #1e293b !important;
	color: #f8fafc !important;
}

body.theme-dark .team-workout-breakdown-mobile .workout-block,
body.theme-dark .team-workout-breakdown .workout-block {
	background-color: var( --color-surface-dark-alt );
	border-color: rgba( 148, 163, 184, 0.16 );
}

body.theme-dark .table-leaderboard {
	background-color: var( --color-surface-dark );
	box-shadow: 0 0 0 1px rgba( 148, 163, 184, 0.12 );
}

body.theme-dark .table-leaderboard thead th {
	background-color: var( --color-surface-dark-alt );
	color: #f8fafc;
}

body.theme-dark .table-leaderboard tbody tr.team-row {
	background-color: var( --color-surface-dark );
	border-bottom-color: rgba( 148, 163, 184, 0.14 );
}

body.theme-dark .table-leaderboard tbody tr.team-row:hover {
	background-color: #162033;
}

body.theme-dark .table-leaderboard tr.team-details-row {
	background-color: var( --color-surface-dark-alt );
}

body.theme-dark .table-leaderboard .toggle-cell:hover {
	background-color: #162033;
}

body.theme-dark .table-leaderboard .toggle-details,
body.theme-dark .table-leaderboard .toggle-icon,
body.theme-dark .table-leaderboard .toggle-cell i,
body.theme-dark .table-leaderboard .toggle-cell svg {
	color: #dbeafe !important;
	fill: #dbeafe !important;
	stroke: #dbeafe !important;
}

body.theme-dark .table-leaderboard .toggle-cell:hover .toggle-details,
body.theme-dark .table-leaderboard .toggle-cell:hover .toggle-icon,
body.theme-dark .table-leaderboard .toggle-cell:hover i,
body.theme-dark .table-leaderboard .toggle-cell:hover svg {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

body.theme-dark .table-leaderboard tr.team-details-row .card,
body.theme-dark .table-leaderboard tr.team-details-row .bg-white,
body.theme-dark .table-leaderboard tr.team-details-row .bg-light,
body.theme-dark .table-leaderboard tr.team-details-row .list-group-item,
body.theme-dark .table-leaderboard tr.team-details-row .rounded,
body.theme-dark .table-leaderboard tr.team-details-row .border {
	background: #1e293b !important;
	border-color: rgba( 148, 163, 184, 0.18 ) !important;
	color: #e5e7eb !important;
}

body.theme-dark .team-member-line {
	background: linear-gradient( 135deg, #1e293b 0%, #243145 100% );
	border-color: rgba( 148, 163, 184, 0.18 );
	color: #e5e7eb;
	box-shadow: none;
}

body.theme-dark .team-member-line:hover {
	border-color: rgba( 96, 165, 250, 0.4 );
	box-shadow: 0 6px 16px rgba( 0, 0, 0, 0.25 );
}

body.theme-dark .team-details-row .fa-user-circle,
body.theme-dark .team-details-row .member-avatar,
body.theme-dark .team-details-row .initials-circle {
	background: #cbd5e1 !important;
	color: #0f172a !important;
}

body.theme-dark .workout-title,
body.theme-dark .workout-result,
body.theme-dark .schedule-team-name,
body.theme-dark .badge-rank {
	color: #e5e7eb;
}

body.theme-dark .badge-rank {
	background-color: #334155;
}

body.theme-dark .badge-rank.rank-1st {
	background-color: gold;
	color: #111111;
}

body.theme-dark .badge-rank.rank-2nd {
	background-color: silver;
	color: #111111;
}

body.theme-dark .badge-rank.rank-3rd {
	background-color: #cd7f32;
	color: #ffffff;
}

body.theme-dark .score-row:nth-child(even),
body.theme-dark .score-row:nth-child(odd) {
	background-color: transparent;
}

body.theme-dark .division-card {
	background-color: var( --color-surface-dark );
	border-color: rgba( 148, 163, 184, 0.16 ) !important;
}

body.theme-dark .division-card:hover {
	background-color: #162033;
}

body.theme-dark .division-card.border-dark {
	box-shadow: 0 0 0 2px #60a5fa;
}

body.theme-dark .list-group-item.list-group-item-action:hover {
	background-color: #162033 !important;
}

body.theme-dark .popover,
body.theme-dark .tooltip-inner {
	background-color: var( --color-surface-dark-alt );
	color: #e5e7eb;
}

body.theme-dark footer,
body.theme-dark .footer {
	background: transparent !important;
	border-top-color: rgba( 148, 163, 184, 0.12 ) !important;
}

body.theme-dark .footer-utility-button:hover {
	color: #ffffff !important;
	opacity: 1;
}

body.theme-dark footer,
body.theme-dark footer a,
body.theme-dark .footer-version,
body.theme-dark .footer-bar-left,
body.theme-dark .footer-bar-right {
	color: #94a3b8;
}

body.theme-dark table.dataTable {
	background: transparent;
	border-collapse: collapse !important;
	color: rgba( 255, 255, 255, 0.88 );
}

body.theme-dark table.dataTable thead th,
body.theme-dark table.dataTable thead td {
	background: rgba( 255, 255, 255, 0.05 ) !important;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 ) !important;
	border-top: 1px solid rgba( 255, 255, 255, 0.06 ) !important;
	color: #ffffff !important;
	font-weight: 600;
}

body.theme-dark table.dataTable tbody td,
body.theme-dark table.dataTable tbody th {
	background: transparent;
	border-color: rgba( 255, 255, 255, 0.08 ) !important;
	color: rgba( 255, 255, 255, 0.82 );
	vertical-align: middle;
}

body.theme-dark table.dataTable.table-striped tbody tr:nth-of-type(odd) {
	background: rgba( 255, 255, 255, 0.015 );
}

body.theme-dark table.dataTable.table-striped tbody tr:nth-of-type(even) {
	background: rgba( 255, 255, 255, 0.03 );
}

body.theme-dark table.dataTable tbody tr:hover {
	background: rgba( 255, 255, 255, 0.05 ) !important;
}

body.theme-dark table.dataTable tbody tr:hover td {
	color: #ffffff;
}

body.theme-dark table.dataTable tbody tr.dtrg-group td,
body.theme-dark table.dataTable tbody tr.group td {
	background: rgba( 255, 255, 255, 0.08 ) !important;
	border-color: rgba( 255, 255, 255, 0.12 ) !important;
	color: #ffffff !important;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 0.85rem 0.9rem;
}

body.theme-dark table.dataTable.no-footer {
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 ) !important;
}

body.theme-dark .table-bordered th,
body.theme-dark .table-bordered td {
	border: 1px solid rgba( 255, 255, 255, 0.08 ) !important;
}

body.theme-dark .dataTables_wrapper {
	color: rgba( 255, 255, 255, 0.85 );
}

body.theme-dark .dataTables_wrapper .dataTables_length,
body.theme-dark .dataTables_wrapper .dataTables_filter,
body.theme-dark .dataTables_wrapper .dataTables_info,
body.theme-dark .dataTables_wrapper .dataTables_processing,
body.theme-dark .dataTables_wrapper .dataTables_paginate {
	color: rgba( 255, 255, 255, 0.85 );
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button {
	background: rgba( 255, 255, 255, 0.04 ) !important;
	border: 1px solid rgba( 255, 255, 255, 0.08 ) !important;
	border-radius: 0.35rem;
	color: rgba( 255, 255, 255, 0.8 ) !important;
	margin-left: 0.25rem;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	background: rgba( 255, 255, 255, 0.08 ) !important;
	border-color: rgba( 255, 255, 255, 0.14 ) !important;
	color: #ffffff !important;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
	background: linear-gradient( 135deg, #2563eb, #7c3aed ) !important;
	border-color: transparent !important;
	color: #ffffff !important;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
	background: rgba( 255, 255, 255, 0.025 ) !important;
	border-color: rgba( 255, 255, 255, 0.06 ) !important;
	color: rgba( 255, 255, 255, 0.35 ) !important;
	cursor: not-allowed !important;
}

body.theme-dark table.dataTable thead .sorting,
body.theme-dark table.dataTable thead .sorting_asc,
body.theme-dark table.dataTable thead .sorting_desc,
body.theme-dark table.dataTable thead .sorting_asc_disabled,
body.theme-dark table.dataTable thead .sorting_desc_disabled {
	color: #ffffff !important;
}

body.theme-dark table.dataTable thead .sorting:before,
body.theme-dark table.dataTable thead .sorting:after,
body.theme-dark table.dataTable thead .sorting_asc:before,
body.theme-dark table.dataTable thead .sorting_asc:after,
body.theme-dark table.dataTable thead .sorting_desc:before,
body.theme-dark table.dataTable thead .sorting_desc:after {
	color: #ffffff !important;
	opacity: 0.35 !important;
}

body.theme-dark table.dataTable thead .sorting_asc:before,
body.theme-dark table.dataTable thead .sorting_desc:after {
	opacity: 0.85 !important;
}

body.theme-dark #checkbox-all-registrations {
	color: rgba( 255, 255, 255, 0.65 ) !important;
}

body.theme-dark #checkbox-all-registrations:hover {
	color: #ffffff !important;
}

body.theme-dark #table-registrations .badge-success {
	background-color: #10b981;
	color: #ffffff;
}

body.theme-dark #table-registrations .btn-transparent-dark {
	color: rgba( 255, 255, 255, 0.72 );
}

body.theme-dark #table-registrations .btn-transparent-dark:hover {
	background: rgba( 255, 255, 255, 0.08 );
	color: #ffffff;
}

@media( max-width: 767.98px ) {
	body.theme-dark .home-features .col-md-4:not( :last-child ) .card-body {
		border-right: 0;
	}

	body.theme-dark .home-stat-card,
	body.theme-dark .home-competition-shell,
	body.theme-dark .competition-card,
	body.theme-dark .home-host-cta-card {
		box-shadow: 0 10px 22px rgba( 0, 0, 0, 0.14 ) !important;
	}
}

body.theme-dark #table-users .btn-transparent-dark,
body.theme-dark #table-users .btn-transparent-dark.dropdown-toggle {
	color: rgba( 255, 255, 255, 0.88 ) !important;
}

body.theme-dark #table-users .btn-transparent-dark:hover,
body.theme-dark #table-users .btn-transparent-dark.dropdown-toggle:hover,
body.theme-dark #table-users .btn-transparent-dark:focus,
body.theme-dark #table-users .btn-transparent-dark.dropdown-toggle:focus {
	background: rgba( 255, 255, 255, 0.08 ) !important;
	color: #ffffff !important;
}

#table-users .btn-transparent-dark svg,
#table-users .dropdown-toggle svg {
	height: 18px;
	stroke-width: 2.25;
	width: 18px;
}
