/* Variables */
:root {
	--primary-color: #000b3d;
	--secondary-color: #0e1e63;
	--header-color: #1e4192;
	--danger-color: #ff5a5f;
	--tag-color: #767d8a;
	--tag-hover-color: #161616;
	--light-color: #f5f5f5;
    --green-color: #00AE88;
	--light-blue-color: #224ba0;
	--h1-font-size: 3.15rem;
	--h2-font-size: 2.1rem;
}
@media (max-width: 767px) {
	:root {
		--h1-font-size: 2.15rem;
		--h2-font-size: 1.25rem;
	}
}
@media (max-width: 575px) {
	:root {
		--h1-font-size: 2rem;
		--h2-font-size: 1.25rem;
	}
}

/* Fonts */
@font-face { font-family: 'MabryPro'; src: url(fonts/mabry-regular-pro.woff2) format("woff2"), url(fonts/mabry-regular-pro.woff) format("woff"), url(fonts/mabry-regular-pro.ttf) format("truetype"); }
@font-face { font-family: 'MabryPro'; font-weight: 600; src: url(fonts/mabry-medium-pro.woff2) format("woff2"), url(fonts/mabry-medium-pro.woff) format("woff"), url(fonts/mabry-medium-pro.ttf) format("truetype"); }
@font-face { font-family: 'MabryPro'; font-weight: 300; src: url(fonts/Mabry-Pro-Light.otf); }
@font-face { font-family: 'Esade'; font-weight: normal; src: url(fonts/Esade-Regular.otf); }
@font-face { font-family: 'Esade'; font-weight: bold; src: url(fonts/Esade-Bold.otf); }

/* Main elements */

	/* General */
	body { font-family: 'MabryPro'; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }

	/* Headings */
	h1, h2 { font-family: 'Esade'; }
	h1, .h1 { font-size: var(--h1-font-size); }
	h2, .h2 { font-size: var(--h2-font-size); }
	hr { background: var(--primary-color); opacity: 1; }
	@media (max-width: 575px) {
		hr { background: #bdd0ea; }
	}

	/* Text */
	p { line-height: 1.6; }
	.semismall { font-size: 90%; }

	/* Lists */
	ul.arrows { margin-left: 1.1rem; }
	ul.arrows li { position: relative; }
	ul.arrows li::before { content: '\2192'; position: absolute; left: -1.1rem; top: -1px; }

/* Header & Footer */

	/* General */
	header { background: var(--primary-color); color: white; line-height: 1.4; position: relative; }
	header a { color: white !important; text-decoration: none; }
	header a:hover { text-decoration: underline; }
	@media (min-width: 576px) {
		header::before { position: absolute; border-bottom: 50px solid transparent; bottom: -50px; width: 100%; border-left: 100vw var(--primary-color) solid; display: block; content: ''; }
		header::after { position: absolute; border-bottom: 130px solid transparent; bottom: -80px; width: 100%; border-right: 100vw var(--green-color) solid; display: block; content: ''; z-index: -1; }
	}
	@media (max-width: 575px) {
		header::after { position: absolute; border-top: 30px solid transparent; bottom: 0; width: 100%; border-right: 100vw var(--green-color) solid; display: block; content: ''; }
	}

/* Info boxes */

	/* Info box */
	.infoBox { width: 240px; }
	@media (max-width: 575px) {
		.infoBox { margin: 0 auto; }
		.infoBox img { height: 184px; object-fit: cover; object-position: center; border-radius: 50%; border: 3px var(--light-color) solid; }
	}

	/* Hide box */
	@media (max-width: 575px) {
		.hideBox h5 { font-weight: 300; position: relative; cursor: pointer; margin-bottom: 0; }
		.hideBox h5::after { content: ''; background: url(img/arrow.svg); position: absolute; display: block; right: 0; top: 8px; width: 14px; height: 8px; }
		.hideBox.shown h5::after { transform: rotate(180deg); }
		.hideBox > ul,
		.hideBox > div { display: none; padding-top: .5rem; }
	}

/* Boostrap overrides */

    /* Structures */
    .container { max-width: 820px; padding-left: 1.5rem; padding-right: 1.5rem; }
	.row > div { min-width: 0; word-wrap: break-word; }

	/* Colors */
	.text-primary { color: var(--primary-color) !important; }
	.text-secondary { color: var(--secondary-color) !important; }
	.text-muted { color: var(--tag-color) !important; }
	.text-light-blue { color: var(--light-blue-color); }

	/* Backgrounds */
	.bg-primary { background-color: var(--primary-color) !important; }
	.bg-secondary { background-color: var(--secondary-color) !important; }
	.bg-light { background-color: var(--light-color) !important; }
	@media (max-width: 575px) {
		.bg-light { background: none !important; }
	}

	/* Links */
	a { color: var(--secondary-color); transition: all 0.2s ease; }
	a:hover { color: var(--danger-color); text-decoration: none; }

	/* Dropdowns */
	.dropdown-menu { border-radius: 0; border: none; background: rgba(0, 0, 0, 0.6); padding: 0; min-width: 5rem; }
	.dropdown-menu li a { text-transform: none; padding: 8px; display: block; font-size: 90%; background: transparent !important; }
	#languageChooser select { appearance: none; padding: 0; border: 0; background: transparent; color: white; }
	#languageChooser select option { color: var(--primary-color); }
	#languageChooser::after { content: ''; display: block; width: 4px; height: 4px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); position: absolute; bottom: calc(50% - 2px); right: -7px; }

	/* Buttons */
	.btn { border-radius: 0; font-size: 80%; letter-spacing: .5px; }
	.btn:focus { box-shadow: none !important; }
	.btn.btn-primary { background: var(--primary-color); border-color: var(--primary-color); }
	.btn.btn-danger { background: var(--danger-color); border-color: var(--danger-color); transition: opacity 0.2s ease; }
	.btn.btn-danger:hover { opacity: 0.8; }
	.btn-outline-secondary { border-color: var(--tag-color); color: var(--tag-color); }
	button:focus { outline: none; }

/* Webkit overrides */
:focus-visible { outline: none; }