:root {
	--bs-body-font-family: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', sans-serif;
	--bs-body-font-size: 0.9rem;
	--bs-body-font-weight: 300;
	--bs-heading-font-weight: 500;
	--bs-h1-font-size: 1.5rem;
	--bs-h2-font-size: 1.3rem;
	--bs-h3-font-size: 1.1rem;
	--bs-btn-font-weight: 500;
}

html[data-bs-theme="light"],
html[data-bs-theme="dark"] {
	--bs-primary: #24406b;
	--bs-primary-rgb: 36, 64, 107;
	--bs-primary-text-emphasis: #1c2f4f;
	--bs-primary-bg-subtle: rgba(36, 64, 107, 0.12);
	--bs-primary-border-subtle: rgba(36, 64, 107, 0.28);
	--bs-success: #8cc63f;
	--bs-success-rgb: 140, 198, 63;
	--bs-success-text-emphasis: #4d6d23;
	--bs-success-bg-subtle: rgba(140, 198, 63, 0.14);
	--bs-success-border-subtle: rgba(140, 198, 63, 0.35);
}

h1, .h1 {
	font-size: var(--bs-h1-font-size);
	font-weight: var(--bs-heading-font-weight);
}

h2, .h2 {
	font-size: var(--bs-h2-font-size);
	font-weight: var(--bs-heading-font-weight);
}

h3, .h3 {
	font-size: var(--bs-h3-font-size);
	font-weight: var(--bs-heading-font-weight);
}

html[data-bs-theme="light"] body {
	background:
		radial-gradient(1200px circle at 10% 10%, rgba(120, 110, 100, 0.08), transparent 45%),
		radial-gradient(900px circle at 90% 20%, rgba(140, 130, 120, 0.06), transparent 50%),
		var(--bs-body-bg);
}

html[data-bs-theme="dark"] body {
	background:
		radial-gradient(1200px circle at 10% 10%, rgba(120, 110, 100, 0.12), transparent 50%),
		radial-gradient(900px circle at 90% 20%, rgba(140, 130, 120, 0.10), transparent 55%),
		var(--bs-body-bg);
}

body.rosterli-auth-bg {
	position: relative;
	overflow-x: hidden;
}

body.rosterli-auth-bg > *:not(.rosterli-auth-bg-layer):not(header):not(.modal):not(.modal-backdrop) {
	position: relative;
	z-index: 1;
}

body.rosterli-auth-bg header {
	position: relative;
	z-index: 2;
}

.rosterli-auth-bg-layer {
	animation: rosterli-auth-slide 10s ease-in-out infinite alternate;
	background-image: linear-gradient(104deg, rgba(255, 255, 255, 0.9) 49%, rgba(228, 228, 228, 0.86) 50%, rgba(216, 216, 216, 0.82) 51%);
	bottom: 0;
	left: -50%;
	opacity: 0.6;
	pointer-events: none;
	position: fixed;
	right: -50%;
	top: 0;
	z-index: 0;
}

html[data-bs-theme="dark"] .rosterli-auth-bg-layer {
	background-image: linear-gradient(104deg, rgba(16, 16, 16, 0.8) 49%, rgba(24, 24, 24, 0.76) 50%, rgba(32, 32, 32, 0.7) 51%);
}

.rosterli-auth-bg-layer-2 {
	animation-direction: alternate-reverse;
	animation-duration: 15s;
	opacity: 0.45;
}

.rosterli-auth-bg-layer-3 {
	animation-duration: 20s;
	opacity: 0.35;
}

@keyframes rosterli-auth-slide {
	0% {
		transform: translateX(-25%);
	}
	100% {
		transform: translateX(25%);
	}
}

.rosterli-brand {
	letter-spacing: 0.2px;
}

.dropdown-menu .theme-check,
.dropdown-menu .language-check {
	visibility: hidden;
}

.dropdown-menu button.active .theme-check,
.dropdown-menu button.active .language-check {
	visibility: visible;
}

a {
	text-decoration: none;
}

.btn-primary {
	background-color: #24406b !important;
	border-color: #24406b !important;
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: #1f365b !important;
	border-color: #1f365b !important;
}

.btn-primary:active,
.btn-primary.active {
	background-color: #1b2f4d !important;
	border-color: #1b2f4d !important;
}

.btn-outline-primary {
	border-color: #24406b !important;
	color: #24406b !important;
}

.btn-outline-primary .text-muted {
	transition: color 0.15s ease-in-out;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
	background-color: #24406b !important;
	border-color: #24406b !important;
	color: #ffffff !important;
}

html[data-bs-theme="dark"] .btn-outline-primary {
	color: #ffffff !important;
}

.btn-outline-primary:hover .text-muted,
.btn-outline-primary:focus .text-muted {
	color: rgba(255, 255, 255, 0.8) !important;
}

.btn-outline-primary:hover .border-primary,
.btn-outline-primary:focus .border-primary {
	border-color: rgba(255, 255, 255, 0.7) !important;
}

.btn-outline-primary:hover .text-primary,
.btn-outline-primary:focus .text-primary {
	color: #ffffff !important;
}

.btn-success {
	background-color: #8cc63f !important;
	border-color: #8cc63f !important;
	color: #1f2a12 !important;
}

.btn-success:hover,
.btn-success:focus {
	background-color: #79ad35 !important;
	border-color: #79ad35 !important;
	color: #1f2a12 !important;
}

.btn-success:active,
.btn-success.active {
	background-color: #6b9a2f !important;
	border-color: #6b9a2f !important;
	color: #1f2a12 !important;
}

.btn-outline-success {
	border-color: #8cc63f !important;
	color: #5a7d2b !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus {
	background-color: #8cc63f !important;
	border-color: #8cc63f !important;
	color: #1f2a12 !important;
}

.text-primary { color: #24406b !important; }
.bg-primary { background-color: #24406b !important; }
.border-primary { border-color: #24406b !important; }
.text-success { color: #5a7d2b !important; }
.bg-success { background-color: #8cc63f !important; }
.border-success { border-color: #8cc63f !important; }

html[data-bs-theme="dark"] .alert-success {
	color: var(--bs-light) !important;
}

/* Theme builder preview iframe */
.theme-preview {
	height: 300rem;
	width: 100%;
	border: 0;
	display: block;
	border-radius: var(--bs-border-radius);
}
@media (min-width: 768px) { .theme-preview { height: 230rem; } }
@media (min-width: 992px) { .theme-preview { height: 190rem; } }
@media (min-width: 1200px) { .theme-preview { height: 150rem; } }
