









/* === Start StackApps Bootstrap 1.0 === */

/* animation.css */
.animate__animated.animate__default {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-duration: calc(var(--animate-duration) * 1);
	animation-duration:calc(var(--animate-duration) * 1)
}

.opacity-0 {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hidden-before-animate {
  opacity: 0;
  visibility: hidden;
}

/*
.hidden-before-animate {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease-in-out;
}
*/

.animate__animated {
	opacity: 1 !important;
	visibility: visible !important;
}

/* theme support for images */
@media (prefers-color-scheme: light) {
  .dark-mode {
	display: none !important;
  }

  [data-bs-theme="dark"] .dark-mode {
	display: inline !important;
  }

  [data-bs-theme="dark"] .light-mode {
	display: none !important;
  }
}

@media (prefers-color-scheme: dark) {
  .light-mode {
	display: none !important;
  }

  [data-bs-theme="light"] .light-mode {
	display: inline !important;
  }

  [data-bs-theme="light"] .dark-mode {
	display: none !important;
  }
}



 /* debug breakpoints */




 /* custom-manual */

/* extend utility classes */
[data-bs-theme="dark"] .d-dark-none {
  display: none !important;
}

[data-bs-theme="light"] .d-light-none {
  display: none !important;
}

.text-justify {
  text-align: justify;
}

.bg-opacity-80 {
  --bs-bg-opacity: 0.8 !important;
}

.bg-opacity-90 {
  --bs-bg-opacity: 0.9 !important;
}

@media (min-width: 576px) {
	.text-sm-justify {
		text-align: justify;
	}
}

@media (min-width: 768px) {
	.text-md-justify {
		text-align: justify;
	}
}

@media (min-width: 992px) {
	.text-lg-justify {
		text-align: justify;
	}
}

@media (min-width: 1200px) {
	.text-xl-justify {
		text-align: justify;
	}
}

@media (min-width: 1400px) {
	.text-xxl-justify {
		text-align: justify;
	}
}

.text-shadow-sm {
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.text-shadow {
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.text-shadow-lg {
	text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.5);
}

.fs-7 {
	font-size: 0.8rem !important;
}

.fs-8 {
	font-size: 0.7rem !important;
}

.display-7 {
	font-size: calc(1.325rem + 1.0vw);
	font-weight: 300;
	line-height: 1.2;
}

.display-8 {
	font-size: calc(1.275rem + 0.5vw);
	font-weight: 300;
	line-height: 1.2;
}

@media (min-width: 1200px) {
	.display-7 {
		font-size: 2.5rem;
	}
}

@media (min-width: 1200px) {
	.display-8 {
		font-size: 2.0rem;
	}
}

.m-6 {
	margin: 4.5rem !important;
}
.mx-6 {
	margin-right: 4.5rem !important;
	margin-left: 4.5rem !important;
}
.my-6 {
	margin-top: 4.5rem !important;
	margin-bottom: 4.5rem !important;
}
.mt-6 {
	margin-top: 4.5rem !important;
}
.me-6 {
	margin-right: 4.5rem !important;
}
.mb-6 {
	margin-bottom: 4.5rem !important;
}
.ms-6 {
	margin-left: 4.5rem !important;
}
.p-6 {
	padding: 4.5rem !important;
}
.px-6 {
	padding-right: 4.5rem !important;
	padding-left: 4.5rem !important;
}
.py-6 {
	padding-top: 4.5rem !important;
	padding-bottom: 4.5rem !important;
}
.pt-6 {
	padding-top: 4.5rem !important;
}
.pe-6 {
	padding-right: 4.5rem !important;
}
.pb-6 {
	padding-bottom: 4.5rem !important;
}
.ps-6 {
	padding-left: 4.5rem !important;
}

@media (min-width: 576px) {
	.m-sm-6 {
		margin: 4.5rem !important;
	}
	.mx-sm-6 {
		margin-right: 4.5rem !important;
		margin-left: 4.5rem !important;
	}
	.my-sm-6 {
		margin-top: 4.5rem !important;
		margin-bottom: 4.5rem !important;
	}
	.mt-sm-6 {
		margin-top: 4.5rem !important;
	}
	.me-sm-6 {
		margin-right: 4.5rem !important;
	}
	.mb-sm-6 {
		margin-bottom: 4.5rem !important;
	}
	.ms-sm-6 {
		margin-left: 4.5rem !important;
	}
	.p-sm-6 {
		padding: 4.5rem !important;
	}
	.px-sm-6 {
		padding-right: 4.5rem !important;
		padding-left: 4.5rem !important;
	}
	.py-sm-6 {
		padding-top: 4.5rem !important;
		padding-bottom: 4.5rem !important;
	}
	.pt-sm-6 {
		padding-top: 4.5rem !important;
	}
	.pe-sm-6 {
		padding-right: 4.5rem !important;
	}
	.pb-sm-6 {
		padding-bottom: 4.5rem !important;
	}
	.ps-sm-6 {
		padding-left: 4.5rem !important;
	}
}

@media (min-width: 768px) {
	.m-md-6 {
		margin: 4.5rem !important;
	}
	.mx-md-6 {
		margin-right: 4.5rem !important;
		margin-left: 4.5rem !important;
	}
	.my-md-6 {
		margin-top: 4.5rem !important;
		margin-bottom: 4.5rem !important;
	}
	.mt-md-6 {
		margin-top: 4.5rem !important;
	}
	.me-md-6 {
		margin-right: 4.5rem !important;
	}
	.mb-md-6 {
		margin-bottom: 4.5rem !important;
	}
	.ms-md-6 {
		margin-left: 4.5rem !important;
	}
	.p-md-6 {
		padding: 4.5rem !important;
	}
	.px-md-6 {
		padding-right: 4.5rem !important;
		padding-left: 4.5rem !important;
	}
	.py-md-6 {
		padding-top: 4.5rem !important;
		padding-bottom: 4.5rem !important;
	}
	.pt-md-6 {
		padding-top: 4.5rem !important;
	}
	.pe-md-6 {
		padding-right: 4.5rem !important;
	}
	.pb-md-6 {
		padding-bottom: 4.5rem !important;
	}
	.ps-md-6 {
		padding-left: 4.5rem !important;
	}
}

@media (min-width: 992px) {
	.m-lg-6 {
		margin: 4.5rem !important;
	}
	.mx-lg-6 {
		margin-right: 4.5rem !important;
		margin-left: 4.5rem !important;
	}
	.my-lg-6 {
		margin-top: 4.5rem !important;
		margin-bottom: 4.5rem !important;
	}
	.mt-lg-6 {
		margin-top: 4.5rem !important;
	}
	.me-lg-6 {
		margin-right: 4.5rem !important;
	}
	.mb-lg-6 {
		margin-bottom: 4.5rem !important;
	}
	.ms-lg-6 {
		margin-left: 4.5rem !important;
	}
	.p-lg-6 {
		padding: 4.5rem !important;
	}
	.px-lg-6 {
		padding-right: 4.5rem !important;
		padding-left: 4.5rem !important;
	}
	.py-lg-6 {
		padding-top: 4.5rem !important;
		padding-bottom: 4.5rem !important;
	}
	.pt-lg-6 {
		padding-top: 4.5rem !important;
	}
	.pe-lg-6 {
		padding-right: 4.5rem !important;
	}
	.pb-lg-6 {
		padding-bottom: 4.5rem !important;
	}
	.ps-lg-6 {
		padding-left: 4.5rem !important;
	}
}

@media (min-width: 1200px) {
	.m-xl-6 {
		margin: 4.5rem !important;
	}
	.mx-xl-6 {
		margin-right: 4.5rem !important;
		margin-left: 4.5rem !important;
	}
	.my-xl-6 {
		margin-top: 4.5rem !important;
		margin-bottom: 4.5rem !important;
	}
	.mt-xl-6 {
		margin-top: 4.5rem !important;
	}
	.me-xl-6 {
		margin-right: 4.5rem !important;
	}
	.mb-xl-6 {
		margin-bottom: 4.5rem !important;
	}
	.ms-xl-6 {
		margin-left: 4.5rem !important;
	}
	.p-xl-6 {
		padding: 4.5rem !important;
	}
	.px-xl-6 {
		padding-right: 4.5rem !important;
		padding-left: 4.5rem !important;
	}
	.py-xl-6 {
		padding-top: 4.5rem !important;
		padding-bottom: 4.5rem !important;
	}
	.pt-xl-6 {
		padding-top: 4.5rem !important;
	}
	.pe-xl-6 {
		padding-right: 4.5rem !important;
	}
	.pb-xl-6 {
		padding-bottom: 4.5rem !important;
	}
	.ps-xl-6 {
		padding-left: 4.5rem !important;
	}
}

@media (min-width: 1400px) {
	.m-xxl-6 {
		margin: 4.5rem !important;
	}
	.mx-xxl-6 {
		margin-right: 4.5rem !important;
		margin-left: 4.5rem !important;
	}
	.my-xxl-6 {
		margin-top: 4.5rem !important;
		margin-bottom: 4.5rem !important;
	}
	.mt-xxl-6 {
		margin-top: 4.5rem !important;
	}
	.me-xxl-6 {
		margin-right: 4.5rem !important;
	}
	.mb-xxl-6 {
		margin-bottom: 4.5rem !important;
	}
	.ms-xxl-6 {
		margin-left: 4.5rem !important;
	}
	.p-xxl-6 {
		padding: 4.5rem !important;
	}
	.px-xxl-6 {
		padding-right: 4.5rem !important;
		padding-left: 4.5rem !important;
	}
	.py-xxl-6 {
		padding-top: 4.5rem !important;
		padding-bottom: 4.5rem !important;
	}
	.pt-xxl-6 {
		padding-top: 4.5rem !important;
	}
	.pe-xxl-6 {
		padding-right: 4.5rem !important;
	}
	.pb-xxl-6 {
		padding-bottom: 4.5rem !important;
	}
	.ps-xxl-6 {
		padding-left: 4.5rem !important;
	}
}

.m-7 {
	margin: 6.0rem !important;
}
.mx-7 {
	margin-right: 6.0rem !important;
	margin-left: 6.0rem !important;
}
.my-7 {
	margin-top: 6.0rem !important;
	margin-bottom: 6.0rem !important;
}
.mt-7 {
	margin-top: 6.0rem !important;
}
.me-7 {
	margin-right: 6.0rem !important;
}
.mb-7 {
	margin-bottom: 6.0rem !important;
}
.ms-7 {
	margin-left: 6.0rem !important;
}
.p-7 {
	padding: 6.0rem !important;
}
.px-7 {
	padding-right: 6.0rem !important;
	padding-left: 6.0rem !important;
}
.py-7 {
	padding-top: 6.0rem !important;
	padding-bottom: 6.0rem !important;
}
.pt-7 {
	padding-top: 6.0rem !important;
}
.pe-7 {
	padding-right: 6.0rem !important;
}
.pb-7 {
	padding-bottom: 6.0rem !important;
}
.ps-7 {
	padding-left: 6.0rem !important;
}

@media (min-width: 576px) {
	.m-sm-7 {
		margin: 6.0rem !important;
	}
	.mx-sm-7 {
		margin-right: 6.0rem !important;
		margin-left: 6.0rem !important;
	}
	.my-sm-7 {
		margin-top: 6.0rem !important;
		margin-bottom: 6.0rem !important;
	}
	.mt-sm-7 {
		margin-top: 6.0rem !important;
	}
	.me-sm-7 {
		margin-right: 6.0rem !important;
	}
	.mb-sm-7 {
		margin-bottom: 6.0rem !important;
	}
	.ms-sm-7 {
		margin-left: 6.0rem !important;
	}
	.p-sm-7 {
		padding: 6.0rem !important;
	}
	.px-sm-7 {
		padding-right: 6.0rem !important;
		padding-left: 6.0rem !important;
	}
	.py-sm-7 {
		padding-top: 6.0rem !important;
		padding-bottom: 6.0rem !important;
	}
	.pt-sm-7 {
		padding-top: 6.0rem !important;
	}
	.pe-sm-7 {
		padding-right: 6.0rem !important;
	}
	.pb-sm-7 {
		padding-bottom: 6.0rem !important;
	}
	.ps-sm-7 {
		padding-left: 6.0rem !important;
	}
}

@media (min-width: 768px) {
	.m-md-7 {
		margin: 6.0rem !important;
	}
	.mx-md-7 {
		margin-right: 6.0rem !important;
		margin-left: 6.0rem !important;
	}
	.my-md-7 {
		margin-top: 6.0rem !important;
		margin-bottom: 6.0rem !important;
	}
	.mt-md-7 {
		margin-top: 6.0rem !important;
	}
	.me-md-7 {
		margin-right: 6.0rem !important;
	}
	.mb-md-7 {
		margin-bottom: 6.0rem !important;
	}
	.ms-md-7 {
		margin-left: 6.0rem !important;
	}
	.p-md-7 {
		padding: 6.0rem !important;
	}
	.px-md-7 {
		padding-right: 6.0rem !important;
		padding-left: 6.0rem !important;
	}
	.py-md-7 {
		padding-top: 6.0rem !important;
		padding-bottom: 6.0rem !important;
	}
	.pt-md-7 {
		padding-top: 6.0rem !important;
	}
	.pe-md-7 {
		padding-right: 6.0rem !important;
	}
	.pb-md-7 {
		padding-bottom: 6.0rem !important;
	}
	.ps-md-7 {
		padding-left: 6.0rem !important;
	}
}

@media (min-width: 992px) {
	.m-lg-7 {
		margin: 6.0rem !important;
	}
	.mx-lg-7 {
		margin-right: 6.0rem !important;
		margin-left: 6.0rem !important;
	}
	.my-lg-7 {
		margin-top: 6.0rem !important;
		margin-bottom: 6.0rem !important;
	}
	.mt-lg-7 {
		margin-top: 6.0rem !important;
	}
	.me-lg-7 {
		margin-right: 6.0rem !important;
	}
	.mb-lg-7 {
		margin-bottom: 6.0rem !important;
	}
	.ms-lg-7 {
		margin-left: 6.0rem !important;
	}
	.p-lg-7 {
		padding: 6.0rem !important;
	}
	.px-lg-7 {
		padding-right: 6.0rem !important;
		padding-left: 6.0rem !important;
	}
	.py-lg-7 {
		padding-top: 6.0rem !important;
		padding-bottom: 6.0rem !important;
	}
	.pt-lg-7 {
		padding-top: 6.0rem !important;
	}
	.pe-lg-7 {
		padding-right: 6.0rem !important;
	}
	.pb-lg-7 {
		padding-bottom: 6.0rem !important;
	}
	.ps-lg-7 {
		padding-left: 6.0rem !important;
	}
}

@media (min-width: 1200px) {
	.m-xl-7 {
		margin: 6.0rem !important;
	}
	.mx-xl-7 {
		margin-right: 6.0rem !important;
		margin-left: 6.0rem !important;
	}
	.my-xl-7 {
		margin-top: 6.0rem !important;
		margin-bottom: 6.0rem !important;
	}
	.mt-xl-7 {
		margin-top: 6.0rem !important;
	}
	.me-xl-7 {
		margin-right: 6.0rem !important;
	}
	.mb-xl-7 {
		margin-bottom: 6.0rem !important;
	}
	.ms-xl-7 {
		margin-left: 6.0rem !important;
	}
	.p-xl-7 {
		padding: 6.0rem !important;
	}
	.px-xl-7 {
		padding-right: 6.0rem !important;
		padding-left: 6.0rem !important;
	}
	.py-xl-7 {
		padding-top: 6.0rem !important;
		padding-bottom: 6.0rem !important;
	}
	.pt-xl-7 {
		padding-top: 6.0rem !important;
	}
	.pe-xl-7 {
		padding-right: 6.0rem !important;
	}
	.pb-xl-7 {
		padding-bottom: 6.0rem !important;
	}
	.ps-xl-7 {
		padding-left: 6.0rem !important;
	}
}

@media (min-width: 1400px) {
	.m-xxl-7 {
		margin: 6.0rem !important;
	}
	.mx-xxl-7 {
		margin-right: 6.0rem !important;
		margin-left: 6.0rem !important;
	}
	.my-xxl-7 {
		margin-top: 6.0rem !important;
		margin-bottom: 6.0rem !important;
	}
	.mt-xxl-7 {
		margin-top: 6.0rem !important;
	}
	.me-xxl-7 {
		margin-right: 6.0rem !important;
	}
	.mb-xxl-7 {
		margin-bottom: 6.0rem !important;
	}
	.ms-xxl-7 {
		margin-left: 6.0rem !important;
	}
	.p-xxl-7 {
		padding: 6.0rem !important;
	}
	.px-xxl-7 {
		padding-right: 6.0rem !important;
		padding-left: 6.0rem !important;
	}
	.py-xxl-7 {
		padding-top: 6.0rem !important;
		padding-bottom: 6.0rem !important;
	}
	.pt-xxl-7 {
		padding-top: 6.0rem !important;
	}
	.pe-xxl-7 {
		padding-right: 6.0rem !important;
	}
	.pb-xxl-7 {
		padding-bottom: 6.0rem !important;
	}
	.ps-xxl-7 {
		padding-left: 6.0rem !important;
	}
}

/* apply palette to buttons */
.btn-primary {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-primary) !important;
	--bs-btn-border-color: var(--bs-primary) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb) !important;
	--bs-btn-active-color: var(--bs-white);
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-primary) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-primary);
	--bs-btn-disabled-border-color: var(--bs-primary) !important;
}

.btn-secondary {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-secondary) !important;
	--bs-btn-border-color: var(--bs-secondary) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-secondary) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-secondary) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-secondary) !important;
	--bs-btn-disabled-border-color: var(--bs-secondary) !important;
}

.btn-success {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-success) !important;
	--bs-btn-border-color: var(--bs-success) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-success) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-success) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-success-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-success) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-success) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-success) !important;
	--bs-btn-disabled-border-color: var(--bs-success) !important;
}

.btn-danger {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-danger) !important;
	--bs-btn-border-color: var(--bs-danger) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-danger) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-danger) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-danger) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-danger) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-danger) !important;
	--bs-btn-disabled-border-color: var(--bs-danger) !important;
}

.btn-warning {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-warning) !important;
	--bs-btn-border-color: var(--bs-warning) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-warning) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-warning) !important;
	--bs-btn-disabled-border-color: var(--bs-warning) !important;
}

.btn-info {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-info) !important;
	--bs-btn-border-color: var(--bs-info) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-info) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-info) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-info-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-info) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-info) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-info) !important;
	--bs-btn-disabled-border-color: var(--bs-info) !important;
}

.btn-light {
	--bs-btn-color: var(--bs-dark) !important;
	--bs-btn-bg: var(--bs-light) !important;
	--bs-btn-border-color: var(--bs-light) !important;
	--bs-btn-hover-color: var(--bs-dark) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-light) 90%, black) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-light) 90%, black) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-light-rgb) !important;
	--bs-btn-active-color: var(--bs-dark) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-light) 90%, black) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-light) 90%, black) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-dark) !important;
	--bs-btn-disabled-bg: var(--bs-light) !important;
	--bs-btn-disabled-border-color: var(--bs-light) !important;
}

.btn-dark {
	--bs-btn-color: var(--bs-white) !important;
	--bs-btn-bg: var(--bs-dark) !important;
	--bs-btn-border-color: var(--bs-dark) !important;
	--bs-btn-hover-color: var(--bs-white) !important;
	--bs-btn-hover-bg: color-mix(in srgb, var(--bs-dark) 80%, white) !important;
	--bs-btn-hover-border-color: color-mix(in srgb, var(--bs-dark) 80%, white) !important;
	--bs-btn-focus-shadow-rgb: var(--bs-dark-rgb) !important;
	--bs-btn-active-color: var(--bs-white) !important;
	--bs-btn-active-bg: color-mix(in srgb, var(--bs-dark) 80%, white) !important;
	--bs-btn-active-border-color: color-mix(in srgb, var(--bs-dark) 80%, white) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
	--bs-btn-disabled-color: var(--bs-white) !important;
	--bs-btn-disabled-bg: var(--bs-dark) !important;
	--bs-btn-disabled-border-color: var(--bs-dark) !important;
}

/* apply palette to checks */
.form-check-input:checked {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary);
}

.form-check-input:checked {
	background-color: var(--bs-secondary);
	border-color: var(--bs-secondary);
}

.form-check-input:checked {
	background-color: var(--bs-success);
	border-color: var(--bs-success);
}

.form-check-input:checked {
	background-color: var(--bs-danger);
	border-color: var(--bs-danger);
}

.form-check-input:checked {
	background-color: var(--bs-warning);
	border-color: var(--bs-warning);
}

.form-check-input:checked {
	background-color: var(--bs-info);
	border-color: var(--bs-info);
}

.form-check-input:checked {
	background-color: var(--bs-light);
	border-color: var(--bs-light);
}

.form-check-input:checked {
	background-color: var(--bs-dark);
	border-color: var(--bs-dark);
}

/* apply palette to drop-down */
.dropdown-item.active,
.dropdown-item:active {
	color: var(--bs-white) !important;
	text-decoration: none;
	background-color: var(--bs-primary) !important;
}

.ribbon-top-left {
	position: absolute;
	top: 130px;
	right: 110px;
	width: 600px;
	display: flex;
	align-items: center;
	justify-content: center;

	transform: rotate(45deg) translateX(50%);
	transform-origin: right center;

	z-index: 1000;
}

/* custom BS classes */
.bd-callout {
	--bs-link-color-rgb: var(--bd-callout-link);
	--bs-code-color: var(--bd-callout-code-color);
	padding: 1.25rem;
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	color: var(--bd-callout-color, inherit);
	background-color: var(--bd-callout-bg, var(--bs-gray-100));
	border-left:0.25rem solid var(--bd-callout-border, var(--bs-gray-300))
}

.bd-callout h4 {
	margin-bottom:.25rem
}

.bd-callout > :last-child {
	margin-bottom:0
}

.bd-callout + .bd-callout {
	margin-top:-.25rem
}

.bd-callout .highlight {
	background-color:rgba(0, 0, 0, 0.05)
}

.bd-callout-primary {
	--bd-callout-color: var(--bs-primary-text-emphasis);
	--bd-callout-bg: var(--bs-primary-bg-subtle);
	--bd-callout-border: var(--bs-primary-border-subtle)
}

.bd-callout-secondary {
	--bd-callout-color: var(--bs-secondary-text-emphasis);
	--bd-callout-bg: var(--bs-secondary-bg-subtle);
	--bd-callout-border: var(--bs-secondary-border-subtle)
}

.bd-callout-success {
	--bd-callout-color: var(--bs-success-text-emphasis);
	--bd-callout-bg: var(--bs-success-bg-subtle);
	--bd-callout-border: var(--bs-success-border-subtle)
}

.bd-callout-warning {
	--bd-callout-color: var(--bs-warning-text-emphasis);
	--bd-callout-bg: var(--bs-warning-bg-subtle);
	--bd-callout-border: var(--bs-warning-border-subtle)
}

.bd-callout-danger {
	--bd-callout-color: var(--bs-danger-text-emphasis);
	--bd-callout-bg: var(--bs-danger-bg-subtle);
	--bd-callout-border: var(--bs-danger-border-subtle)
}

.bd-callout-info {
	--bd-callout-color: var(--bs-info-text-emphasis);
	--bd-callout-bg: var(--bs-info-bg-subtle);
	--bd-callout-border: var(--bs-info-border-subtle)
}

.bd-callout-light {
	--bd-callout-color: var(--bs-light-text-emphasis);
	--bd-callout-bg: var(--bs-light-bg-subtle);
	--bd-callout-border: var(--bs-light-border-subtle)
}

/* === End StackApps Bootstrap 1.0 === */



/* === Start StackApps Font 1.0 === */



/* create font classes and variables */






:root {
	--sa-font-primary: 'Roboto', var(--bs-font-sans-serif);
}

.font-primary {
	font-family: 'Roboto', var(--bs-font-sans-serif) !important;
}



/* === End StackApps Font 1.0 === */



/* === Start StackApps Font 1.0 === */



/* create font classes and variables */






:root {
	--sa-font-secondary: 'Roboto Mono', var(--bs-font-sans-serif);
}

.font-secondary {
	font-family: 'Roboto Mono', var(--bs-font-sans-serif) !important;
}



/* === End StackApps Font 1.0 === */











/* === Start StackApps Navbar 1.0 === */

#stacks_in_664 img {
    height: auto;
    width: auto;
    max-height: 32px;
    /* max-height: ; */
    vertical-align: middle;
    margin-right: 0.5rem;
}

#stacks_in_664 a:has(> img) {
    margin-top: 0px;
}

#stacks_in_664 .navbar-toggler-icon {
  background-image: none;
}

/* hide the navbar initially for smoother rendering */
#stacks_in_664 .navbar-nav {
	display: none;
}

/* adjust the padding of the navbar in case of rounded corners */
.navbar {

	--bs-navbar-padding-x: calc(var(--bs-navbar-padding-y) * 1.0) !important;

	backdrop-filter: blur(10px);
}

/* switch on toggler button border */
#stacks_in_664 .navbar-toggler {
	--bs-border-width: 0;
}

/* the floating navbar default settings */
#stacks_in_664 {
	margin-left: 0 !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* apply navbar margins, corners, shadow and height based on the expand breakpoint */


/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {




	.navbar {
		height: ;
	}


}

/* === End StackApps Navbar 1.0 === */



/* === Start StackApps Button 1.0 === */


#stacks_in_670 .btn-primary {
	--bs-btn-hover-bg: var(--bs-primary) !important;
	--bs-btn-hover-border-color: var(--bs-primary) !important;
	--bs-btn-active-bg: var(--bs-primary) !important;
	--bs-btn-active-border-color: var(--bs-primary) !important;
}


/* === End StackApps Button 1.0 === */



/* === Start StackApps Particles 1.0 === */

#stacks_in_441 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 35%;
	z-index: -1;
}

#stacks_in_441 {



	background-image: linear-gradient(to top, rgba(255, 255, 255, 1.00), rgba(130, 184, 255, 1.00));







}

[data-bs-theme="dark"] {
	#stacks_in_441 {



		background-image: linear-gradient(to top, rgba(25, 28, 31, 0.15), rgba(0, 84, 255, 1.00));





	}

}
/* === End StackApps Particles 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_759 {
	width:100%;

}



#stacks_in_759 {
	
}

#stacks_in_759 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_759 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_7 {
	width:100%;

}



#stacks_in_7 {
	
}

#stacks_in_7 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_7 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */





/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */




/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_18 {
	width:100%;

}



#stacks_in_18 {
	
}

#stacks_in_18 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_18 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */

/* === Start StackApps Carousel 1.0 === */

/* system color & invert carousel theme */


/* manual switch theme */




/* X-Small devices (portrait phones, less than 576px) */
/* No media query for `xs` since this is the default in Bootstrap */
#stacks_in_653 .carousel-inner .carousel-item {
    height: 20rem;
}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    #stacks_in_653 .carousel-inner .carousel-item {
        height: 25rem;
    }
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    #stacks_in_653 .carousel-inner .carousel-item {
        height: 30rem;
    }
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #stacks_in_653 .carousel-inner .carousel-item {
        height: 40rem;
    }
}
/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    #stacks_in_653 .carousel-inner .carousel-item {
        height: 40rem;
    }
}
/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    #stacks_in_653 .carousel-inner .carousel-item {
        height: 45rem;
    }
}

#stacks_in_653 .carousel-inner .carousel-item {
    background-size: cover;
    background-position: center;
}



/* === End StackApps Carousel 1.0 === */




/* === Start StackApps Slide 1.0 === */





#stacks_in_654 {
	
	
	
	
	background-image: url(../files/image-asset-654.png);
	
	
	
	background-size: cover;
}

[data-bs-theme="dark"] #stacks_in_654 {
	
	
	
	
	background-image: url(../files/image-asset-dark-654.png);
	
	
	
	background-size: cover;
}
/* === End StackApps Slide 1.0 === */



/* === Start StackApps Slide 1.0 === */





#stacks_in_656 {
	
	
	
	
	background-image: url(../files/image-asset-656.png);
	
	
	
	background-size: cover;
}

[data-bs-theme="dark"] #stacks_in_656 {
	
	
	
	
	background-image: url(../files/image-asset-dark-656.png);
	
	
	
	background-size: cover;
}
/* === End StackApps Slide 1.0 === */



/* === Start StackApps Slide 1.0 === */





#stacks_in_657 {
	
	
	
	
	background-image: url(../files/image-asset-657.png);
	
	
	
	background-size: cover;
}

[data-bs-theme="dark"] #stacks_in_657 {
	
	
	
	
	background-image: url(../files/image-asset-dark-657.png);
	
	
	
	background-size: cover;
}
/* === End StackApps Slide 1.0 === */



/* === Start StackApps Container 1.0 === */

#features {
	width:100%;

}



#features {
	
}

#features {








}

@media (prefers-color-scheme: dark) {
	#features {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_515 {
	width:100%;

}



#stacks_in_515 {
	
}

#stacks_in_515 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_515 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_373 {
	width:100%;

}



#stacks_in_373 {
	
}

#stacks_in_373 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_373 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_381 {
	width:100%;

}



#stacks_in_381 {
	
}

#stacks_in_381 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_381 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_374 {
	width:100%;

}



#stacks_in_374 {
	
}

#stacks_in_374 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_374 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_397 {
	width:100%;

}



#stacks_in_397 {
	
}

#stacks_in_397 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_397 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_375 {
	width:100%;

}



#stacks_in_375 {
	
}

#stacks_in_375 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_375 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_413 {
	width:100%;

}



#stacks_in_413 {
	
}

#stacks_in_413 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_413 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_376 {
	width:100%;

}



#stacks_in_376 {
	
}

#stacks_in_376 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_376 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#download {
	width:100%;

}



#download {
	
}

#download {








}

@media (prefers-color-scheme: dark) {
	#download {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#faq {
	width:100%;

}



#faq {
	
}

#faq {








}

@media (prefers-color-scheme: dark) {
	#faq {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Button 1.0 === */



/* === End StackApps Button 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_479 {
	width:100%;

}



#stacks_in_479 {
	
}

#stacks_in_479 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_479 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Accordion 1.0 === */


#stacks_in_483 {
	counter-reset: stacks_in_483;
}

#stacks_in_483 button::before {
	counter-increment: stacks_in_483;
	content: ""counter(stacks_in_483, decimal)".\00A0";
}
#stacks_in_483 summary::before {
	counter-increment: stacks_in_483;
	content: ""counter(stacks_in_483, decimal)".\00A0";
}


/* harmonize the accordion padding with list groups */
.accordion {
	--bs-accordion-btn-padding-x: 1.0rem !important;
	--bs-accordion-body-padding-x: 1.0rem !important;
}

/* align accordion-buttons to the top when using auto-numbers */
.accordion-button {
	align-items: flex-start !important; /* Align content to the top */
}

/* flush the accordion body */


/* disable active highlight */
#stacks_in_483 .accordion-button:not(.collapsed) {
	background-color: var(--bs-accordion-active-bg) !important;
}

/* === End StackApps Accordion 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */





/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_176 {
	width:100%;

}



#stacks_in_176 {
	
}

#stacks_in_176 {








	max-width: 2000px;

}

@media (prefers-color-scheme: dark) {
	#stacks_in_176 {
	
	
	
	
	
	
	
	
		max-width: 2000px;
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Container 1.0 === */

#stacks_in_241 {
	width:100%;

}



#stacks_in_241 {
	
}

#stacks_in_241 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_241 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Grid 1.0 === */



/* === End StackApps Grid 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_247 {
	width:100%;

}



#stacks_in_247 {
	
}

#stacks_in_247 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_247 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */




/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */




/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */

#stacks_in_253 {
	font-size: 80%;
}



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_257 {
	width:100%;

}



#stacks_in_257 {
	
}

#stacks_in_257 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_257 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_265 {
	width:100%;

}



#stacks_in_265 {
	
}

#stacks_in_265 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_265 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_273 {
	width:100%;

}



#stacks_in_273 {
	
}

#stacks_in_273 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_273 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */




/* === Start StackApps Container 1.0 === */

#stacks_in_281 {
	width:100%;

}



#stacks_in_281 {
	
}

#stacks_in_281 {








}

@media (prefers-color-scheme: dark) {
	#stacks_in_281 {
	
	
	
	
	
	
	
	
	}
}

/* === End StackApps Container 1.0 === */



/* === Start StackApps Heading 1.0 === */





/* === End StackApps Heading 1.0 === */



/* === Start StackApps Paragraph 1.0 === */



/* === Start StackApps Paragraph 1.0 === */
