:root {
	--blue: #007bff;
	--indigo: #6610f2;
	--purple: #6f42c1;
	--pink: #e83e8c;
	--red: #dc3545;
	--orange: #fd7e14;
	--yellow: #ffc107;
	--green: #28a745;
	--teal: #20c997;
	--cyan: #17a2b8;
	--white: #fff;
	--gray: #6c757d;
	--gray-dark: #343a40;
	--primary: #007bff;
	--secondary: #6c757d;
	--success: #28a745;
	--info: #17a2b8;
	--warning: #ffc107;
	--danger: #dc3545;
	--light: #f8f9fa;
	--dark: #343a40;
	--breakpoint-xs: 0;
	--breakpoint-sm: 576px;
	--breakpoint-md: 768px;
	--breakpoint-lg: 992px;
	--breakpoint-xl: 1200px;
	--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*, ::after, ::before {
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
	display: block;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: left;
	background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: .5rem;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

abbr[data-original-title], abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted;
	-webkit-text-decoration: underline dotted;
	cursor: help;
	border-bottom: 0;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

dl, ol, ul {
	margin-top: 0;
	margin-bottom: 1rem;
}

small {
	font-size: 80%;
}

a {
	color: #007bff;
	text-decoration: none;
	background-color: transparent;
}

a:hover {
	color: #0056b3;
	text-decoration: underline;
}

img {
	vertical-align: middle;
	border-style: none;
}

label {
	display: inline-block;
	margin-bottom: .5rem;
}

button, input, optgroup, select, textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button, input {
	overflow: visible;
}

[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;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

input[type=checkbox], input[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

fieldset {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-bottom: .5rem;
	font-weight: 500;
	line-height: 1.2;
}

.h1, h1 {
	font-size: 2.5rem;
}

.h2, h2 {
	font-size: 2rem;
}

.h3, h3 {
	font-size: 1.75rem;
}

.h4, h4 {
	font-size: 1.5rem;
}

.small, small {
	font-size: 80%;
	font-weight: 400;
}

@-webkit-keyframes progress-bar-stripes {
	from {
		background-position: 1rem 0;
	}
	
	to {
		background-position: 0 0;
	}
}

@keyframes progress-bar-stripes {
	from {
		background-position: 1rem 0;
	}
	
	to {
		background-position: 0 0;
	}
}

@-webkit-keyframes spinner-border {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes spinner-border {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes spinner-grow {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	
	50% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes spinner-grow {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	
	50% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@media print {
	*, ::after, ::before {
		text-shadow: none !important;
		box-shadow: none !important;
	}
	
	a:not(.btn) {
		text-decoration: underline;
	}
	
	abbr[title]::after {
		content: " (" attr(title) ")";
	}
	
	img, tr {
		page-break-inside: avoid;
	}
	
	h2, h3, p {
		orphans: 3;
		widows: 3;
	}
	
	h2, h3 {
		page-break-after: avoid;
	}
	
	@page {
		size: a3;
	}
	
	body {
		min-width: 992px !important;
	}
}