@font-face {
	font-family: Poppins;
	font-style: normal;
	font-weight: 400;
	font-stretch: 100%;
	font-display: swap;
	src: url("../font/Poppins/Poppins-Regular.ttf") format('truetype');
}

@font-face {
	font-family: Poppins;
	font-style: normal;
	font-weight: 500;
	font-stretch: 100%;
	font-display: swap;
	src: url("../font/Poppins/Poppins-Medium.ttf") format('truetype');
}

@font-face {
	font-family: Poppins;
	font-style: normal;
	font-weight: 600;
	font-stretch: 100%;
	font-display: swap;
	src: url("../font/Poppins/Poppins-SemiBold.ttf") format('truetype');
}

@font-face {
	font-family: Poppins;
	font-style: normal;
	font-weight: 700;
	font-stretch: 100%;
	font-display: swap;
	src: url("../font/Poppins/Poppins-Bold.ttf") format('truetype');
}

@font-face {
	font-family: Poppins;
	font-style: normal;
	font-weight: 800;
	font-stretch: 100%;
	font-display: swap;
	src: url("../font/Poppins/Poppins-ExtraBold.ttf") format('truetype');
}

body.page-transition::before { content: ' '; width: 100%; height: 5px; background-color: var(--color-blue-light); transform: scaleX(0); transform-origin: left; position: fixed; top: 0; left: 0; z-index: 9999999; animation: loading-bar-filling 3s forwards; }
h1 { font-size: 1.75rem; font-weight: 700; line-height: 1.5; }
h2 { margin-bottom: 1.5em; font-size: 1.2rem; font-weight: 600; line-height: 1.25; }
h3 { font-size: 1.2rem; font-weight: 500; line-height: 1.25; }
strong { font-weight: 600; }
hr,
.spacer { width: 100%; height: 1px; margin: 30px auto; background-color: #F4F4F4; border: none; }
.spacer { height: 0; }
hr.small,
.spacer.small { margin: 15px; }
hr.thick { height: 2px; background-color: var(--color-gray-light); }

/* Text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Text sizes */
.text-smaller { font-size: .75rem; }
.text-small { font-size: .85rem; }
.text-large { font-size: 1.05rem; }
.text-larger { font-size: 1.15rem; }

/* Text color */
.text-blue { color: var(--color-blue); }
.text-blue-light { color: var(--color-blue-light); }
.text-blue-faded { color: var(--color-blue-faded); }
.text-blue-gray { color: var(--color-gray-darker); }
.text-gray { color: var(--color-gray); }
.text-red { color: var(--color-red); }
.text-orange { color: var(--color-orange); }
.text-green { color: var(--color-green); }

/* Textual link */
a.text-link { font-weight: 400; color: var(--color-blue); text-decoration: underline; cursor: pointer; transition: all .15s ease; }
a.text-link i { font-size: 1.15em; vertical-align: middle; }
a.text-link:hover { color: var(--color-gray-darker); }

/* Bullet lists */
ul.bullet-list { padding-left: 1rem; list-style: disc; }
ul.bullet-list li { line-height: 1.5; }
ul.bullet-list li + li { margin-top: .5em; }

/* Simple table */
.simple-table th { padding: .5rem; padding-right: 1rem; text-align: left; color: var(--color-blue-darker); background-color: var(--color-blue-10); border-top-left-radius: .25rem; border-bottom-left-radius: .25rem; }
.simple-table td { padding: .5rem; padding-right: 1rem; text-align: left; background-color: var(--color-blue-lightest); border-top-right-radius: .25rem; border-bottom-right-radius: .25rem; }
/* Simple table: with header row(s) */
.simple-table thead th { border-radius: .25rem; }
.simple-table thead + tbody td { border-radius: .25rem; }

/* Focus outline */
*:where(:focus-visible),
*:where(.simulate-focus) { outline: 3px solid var(--color-blue-50); outline-offset: 1px; border-radius: .5rem; box-shadow: 0 0 1rem 0 rgba(var(--shadow-rgb), .2); }

*:not(:defined) { display: none; }

@media (max-width: 1080px) {
	.tablet-hidden { display: none !important; }
}

@media (max-width: 767px) {
	hr,
	.spacer { margin: 15px auto; }
	hr.small,
	.spacer.small { margin: 10px auto; }

	.mobile-hidden { display: none !important; }
}

@keyframes loading-bar-filling {
	0% { transform: scaleX(0%); }
	25% { transform: scaleX(85%); }
	30% { transform: scaleX(85%); }
	100% { transform: scaleX(99%); }
}
