
@charset "utf-8";

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-100.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 100;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-100italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 200;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-200.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 200;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-200italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-300.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 300;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-300italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-regular.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-500.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 500;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-500italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-600.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 600;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-600italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-700.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 700;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-700italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-800.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 800;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-800italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 900;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-900.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 900;
	src: url('/fonts/montserrat/montserrat-v29-latin_latin-ext-900italic.woff2') format('woff2');
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		background-attachment: initial !important;
		animation-play-state: paused !important;
		animation: none !important;
		animation-delay: 0s !important;
		animation-duration: 0s !important;
		animation-iteration-count: 1 !important;
		transition: 0s !important;
		transition-delay: 0s !important;
		transition-duration: 0s !important;
	}
}

@media screen and (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
		interpolate-size: allow-keywords;
	}
}

html {
	scrollbar-gutter: stable;
	overflow-x: hidden;

	-moz-tab-size: 4;
	tab-size: 4;
}

body {
	margin: 0;

	background: radial-gradient(
		circle at center,
		hsl(0, 0%, 98%) 0%,
		hsl(0, 0%, 97%) 25%,
		hsl(0, 0%, 99%) 60%,
		hsl(0, 0%, 100%) 85%,
		hsl(0, 0%, 100%) 100%
	);

	color: #000;

	font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif, -apple-system, "Segoe UI", "Open Sans", "Fira Sans", "Helvetica Neue", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "Noto Emoji", "OpenMoji";

	font-weight: 400;
	font-size: 16px;
	font-optical-sizing: auto;
	font-variant-ligatures: common-ligatures;
	font-kerning: normal;
   font-feature-settings: normal;
	font-variation-settings: normal;
	font-variant-numeric: oldstyle-nums proportional-nums;

	line-height: 1.5;

	min-height: 100vh;
	min-height: 100dvh;

	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	-webkit-tap-highlight-color: transparent;

	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
	@supports (-webkit-appearance: none) and (stroke-color: transparent) {
		body {
			min-height: -webkit-fill-available;
		}
	}
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 800;
}

img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
	block-size: auto;
}

picture {
	display: contents;
}

h1, h2, h3, h4, h5, h6, figcaption, caption, blockquote {
	text-wrap: balance;
	font-variant-numeric: lining-nums;
}

h1, h2, h3, h4, h5, h6, button, input, label {
	line-height: 1.1;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0.67em 0;
	padding: 0;
	page-break-after: avoid;
	page-break-inside: avoid;
	overflow-wrap: break-word;
}

h1 {
	font-size: clamp(1.8rem, 2.5vw, 2.8rem);
	font-weight: 700;
	line-height: 2.25rem;
}

h2 {
	font-size: clamp(1.5rem, 2.2vw, 2.3rem);
	font-weight: 600;
	line-height: 2rem;
}

h3 {
	font-size: clamp(1.3rem, 1.9vw, 2rem);
	font-weight: 600;
	line-height: 1.75rem;
}

h4 {
	font-size: clamp(1.1rem, 1.6vw, 1.6rem);
	font-weight: 550;
	line-height: 1.75rem;
}

h5 {
	font-size: clamp(1rem, 1.4vw, 1.3rem);
	font-weight: 500;
	line-height: 1.75rem;
}

h6 {
	font-size: clamp(0.9rem, 1.2vw, 1.1rem);
	font-weight: 450;
	line-height: 1.5rem;
}

p, address {
	font-size: max(1.2rem, 1.2vw);
	margin-bottom: 0.75rem;
	margin-top: 0;
	text-wrap: pretty;
	overflow-wrap: break-word;
	padding: 0;
	line-height: calc(1.25rem + 0.3vw);
	font-style: normal;
}

b, strong {
	font-weight: 700;
}

p:empty {
	display: none;
}

hr {
	box-sizing: content-box;
	overflow: visible;
	height: 0;
	color: inherit;
	border-top-width: 1px;
}

/* ==================================================================
 * Navigation START
 * ==================================================================
 */

.nav-container {
	width: 90%;
	margin: 1% auto 0 auto;
	padding: 1rem 3rem;
	background: radial-gradient(circle at center, #1a228c 0%, #0a1178 35%, #0544a4 65%, #001a60 100%);
	border-radius: 16px;
}

@media only screen and (max-width: 768px) {
		.nav-container {
			width: 100%;
			border-radius: 0;
	}
}

.nav-main-header {
	padding: 1.5rem 0.3rem;
	line-height: 1;
}

.nav-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.nav-main-logo img {
	height: 88px;
}

.nav-main-hamburger {
	display: none;
}

.nav-main-menu {
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
}

.nav-main-menu li {
	list-style: none;
	line-height: 1;
}

.nav-main-item {
	margin-left: 2rem;
}

.nav-main-item a {
	display: block;
}

.nav-main-link {
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	font-size: inherit;
	border-bottom: 1px solid transparent;
	padding-bottom: 3px;
	font-weight: 600;
}

.nav-main-link:hover {
	color: #f0f0f0;
	transition: 0.6s;
	border-bottom: 1px solid #f0f0f0;
}

/* Current */
.nav-main-item a[aria-current="page"] {
	border-bottom: 1px solid #fff;
	color: #fff;
}

@media only screen and (max-width: 768px) {

	.nav-main-logo img {
		height: 66px;
	}

	.nav-main-menu {
		flex-direction: column;
		position: fixed;
		top: 0;
		left: -110%;
		background-color: #0a1178;
		width: 100%;
		text-align: center;
		padding: 6.6rem 0 3rem 0;
		box-shadow: 3px 6px 23px rgba(0, 0, 0, 0.666);
		transition: 0.3s;
	}

	.nav-main-menu.active {
		position: absolute;
		top: 0;
		left: 0;
	}

	.nav-main-item {
		margin: 0.9rem 0;
		border: 2px solid #0f19d9;
		border-radius: 16px;
	}

	.nav-main-link {
		display: inline-block;
		padding: 0.6rem 1rem;
		text-align: center;
	}

	.nav-main-link:hover {
		border-bottom: 1px solid transparent;
		background: #0c15af;
	}

	.nav-main-item a[aria-current="page"] {
		border-bottom: 1px solid transparent;
		background: #0c15af;
	}

	.nav-main-hamburger {
		z-index: 3;
		display: block;
		cursor: pointer;
		border: 1px solid #fff;
		border-radius: 1rem;
		background-color: transparent;
		width: 48px;
		height: 48px;
   }

	.nav-main-hamburger-line {
		display: block;
		width: 25px;
		height: 3px;
		margin: 5px auto;
		transition: all 0.3s ease-in-out;
		background-color: #fff;
	}

	.nav-main-hamburger.active .nav-main-hamburger-line:nth-child(1) {
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}

	.nav-main-hamburger.active .nav-main-hamburger-line:nth-child(2) {
		opacity: 0;
	}

	.nav-main-hamburger.active .nav-main-hamburger-line:nth-child(3) {
	-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

	.nav-main-item > a > .lang  {
		height: 50px;
		padding: 6px;
	}
}

.lang {
	display: inline-flex;
	height: 14px;
	vertical-align: text-top;
}

/* ==================================================================
 * Navigation END
 * ==================================================================
 */

/* ==================================================================
 * Noscript START
 * ==================================================================
 */
#noscript {
	position: relative;
	z-index: 9999;
	width: 100%;
	min-height: 10vh;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: black;
	color: whitesmoke;
	font-size: clamp(1rem, 0.67vw + 0.85rem, 1.25rem);
	font-weight: bold;
	padding: 1rem;
}
/* ==================================================================
 * Noscript END
 * ==================================================================
 */

/* ==================================================================
 * Skip links START
 * ==================================================================
 */
.skip-links {
	position: absolute;
	left: -100vw;
}

.skip {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	background: #000;
	color: #fff;
	padding: 1em;
	text-decoration: none;
	font-size: 1.2rem;
	opacity: 0;
	transform: translateY(-5em);
   transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.skip[href^='#']::after {
	content: " \27A6";
}

.skip:hover {
	text-decoration: underline;
}

.skip:focus {
	opacity: 1;
	-webkit-transform: translateY(0em);
	transform: translateY(0em);
}
/* ==================================================================
 * Skip links END
 * ==================================================================
 */