:root {
	--bs-blue: #0d6efd;
	--bs-indigo: #6610f2;
	--bs-purple: #6f42c1;
	--bs-pink: #d63384;
	--bs-red: #dc3545;
	--bs-orange: #fd7e14;
	--bs-yellow: #ffc107;
	--bs-green: #198754;
	--bs-teal: #20c997;
	--bs-cyan: #0dcaf0;
	--bs-white: #fff;
	--bs-gray: #6c757d;
	--bs-gray-dark: #343a40;
	--bs-primary: #0d6efd;
	--bs-secondary: #6c757d;
	--bs-success: #198754;
	--bs-info: #0dcaf0;
	--bs-warning: #ffc107;
	--bs-danger: #dc3545;
	--bs-light: #f8f9fa;
	--bs-dark: #212529;
	--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));
}

*, ::after, ::before {
	box-sizing: border-box;
}

@media (prefers-reduced-motion:no-preference) {
	:root {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	font-family: var(--bs-font-sans-serif);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: .5rem;
	font-weight: 500;
	line-height: 1.2;
}

.h1, h1 {
	font-size: calc(1.375rem + 1.5vw);
}

@media (min-width:1200px) {
	.h1, h1 {
		font-size: 2.5rem;
	}
}

.h2, h2 {
	font-size: calc(1.325rem + .9vw);
}

@media (min-width:1200px) {
	.h2, h2 {
		font-size: 2rem;
	}
}

.h3, h3 {
	font-size: calc(1.3rem + .6vw);
}

@media (min-width:1200px) {
	.h3, h3 {
		font-size: 1.75rem;
	}
}

.h4, h4 {
	font-size: calc(1.275rem + .3vw);
}

@media (min-width:1200px) {
	.h4, h4 {
		font-size: 1.5rem;
	}
}

.h6, h6 {
	font-size: 1rem;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

abbr[data-bs-original-title], abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	cursor: help;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

ol, ul {
	padding-left: 2rem;
}

dl, ol, ul {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol ol, ol ul, ul ol, ul ul {
	margin-bottom: 0;
}

a {
	color: #0d6efd;
	text-decoration: underline;
}

a:hover {
	color: #0a58ca;
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none;
}

img, svg {
	vertical-align: middle;
}

label {
	display: inline-block;
}

button {
	border-radius: 0;
}

button:focus:not(:focus-visible) {
	outline: 0;
}

button, input, optgroup, select, textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button, select {
	text-transform: none;
}

[role=button] {
	cursor: pointer;
}

[list]::-webkit-calendar-picker-indicator {
	display: none;
}

[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button;
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
	cursor: pointer;
}

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-year-field {
	padding: 0;
}

::-webkit-inner-spin-button {
	height: auto;
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: textfield;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
	padding: 0;
}

::file-selector-button {
	font: inherit;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

iframe {
	border: 0;
}

[hidden] {
	display: none !important;
}

@-webkit-keyframes progress-bar-stripes {
	0% {
		background-position-x: 1rem;
	}
}

@keyframes progress-bar-stripes {
	0% {
		background-position-x: 1rem;
	}
}

@-webkit-keyframes spinner-border {
	to {
		transform: rotate(360deg);
	}
}

@keyframes spinner-border {
	to {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes spinner-grow {
	0% {
		transform: scale(0);
	}
	
	50% {
		opacity: 1;
		transform: none;
	}
}

@keyframes spinner-grow {
	0% {
		transform: scale(0);
	}
	
	50% {
		opacity: 1;
		transform: none;
	}
}

.text-center {
	text-align: center !important;
}