﻿
/* Root variables
---------------------------------------------------- */

:root {

    --rsc30-primary: #00309f;
    --rsc30-primary-rgb: 0, 48, 159;

	--rsc30-secondary: #2581c4; 
	--rsc30-secondary-rgb: 37, 129, 196;

	--rsc30-accent: #f1b601;
	--rsc30-accent-rgb: 241, 182, 1;

	--rsc30-black: #000000;
	--rsc30-black-rgb: 0, 0, 0;

	--rsc30-white: #ffffff;
	--rsc30-white-rgb: 255, 255, 255;

	--rsc30-dark: #1a1c24;
	--rsc30-dark-rgb: 33, 37, 41;

	--rsc30-light-blue: #EEF3F9;
	--rsc30-light-blue-rgb: 238, 243, 249;

	--rsc30-grey: #666666;
	--rsc30-grey-rgb: 133, 133, 133;

	--rsc30-dark-grey: #3F3C3C;
	--rsc30-dark-grey-rgb: 63, 60, 60;
	
	--bs-bg-opacity: 1;
}


/*
=========================================================================================================================
	Tags
=========================================================================================================================
*/

html { scroll-behavior: smooth; }

body {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 1.125rem;
	line-height: 1.65;
}

img { max-width: 100%; }

main img { height: auto; }

h1, .h1, .display-1,
h2, .h2, .display-2,
h3, .h3, .display-3,
h4, .h4, .display-4,
h5, .h5, .display-5,
h6, .h6, .display-6 { font-family: 'Inter', sans-serif; } 

a { color: var(--rsc30-secondary); }

hr {
	height: 3px!important;
	opacity: 1!important;
	background-color: var(--rsc30-primary)!important;
}

ul.square-bullet li {
    list-style: none;
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.5rem;
}

ul.square-bullet li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6rem;
    width: 10px;
    height: 10px;
    background-color: var(--rsc30-red)!important;
    margin-right: 1rem;
}

.container-fluid {
    max-width: 1920px!important;
    margin: 0 auto!important;
}


.text-primary,
.link-primary {
	color: var(--rsc30-primary)!important;
}

.text-accent,
.link-accent { 
	color: var(--rsc30-accent)!important; 
}

.text-red,
.link-red { 
	color: var(--rsc30-red)!important; 
}

.text-light { color: var(--rsc30-light-blue)!important; }
.text-grey { color: var(--rsc30-grey)!important; }
.text-secondary { color: var(--rsc30-grey)!important; }

.btn-red {
	background: var(--rsc30-red)!important;
    border: 3px solid #b46238!important;
	color:#fff!important;
}

.btn-primary {
	background: var(--rsc30-primary)!important;
	border: 0!important;
	color:#fff!important;
}

.btn-secondary {
	background: var(--rsc30-secondary)!important;
	border: 0!important;
	color:#fff!important;
}


.btn-accent {
	background: var(--rsc30-accent)!important;
	color:#000!important;
}

.border-red { border-color: var(--rsc30-red)!important; }
.border-accent { border-color: var(--rsc30-accent)!important; }

/*
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff!important;
    background-color: #1e4a75;
}
*/


/*
=========================================================================================================================
	Header
=========================================================================================================================
*/

#logo img,
#logo-small img { height: 30px; }

#logo-small img,
#affiliation { transition: all .25s; }

.show-logo {
	opacity: 1;
	display: block!important;
}


/*
=========================================================================================================================
	Primary Navigation
	
	- Hamburger @ https://github.com/jonsuh/hamburgers
=========================================================================================================================
*/

.navbar-toggler:focus { box-shadow: none; }

.hamburger {
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	line-height: 1;
	overflow: visible;
	height: 24px;
}

.hamburger:hover { opacity: 0.7; }
.hamburger.is-active:hover { opacity: 0.7; }

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after { background-color: var(--bs-dark); }

.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	position: relative;
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: var(--bs-dark);
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
	content: "";
	display: block;
}

.hamburger-inner::before { top: -10px; }
.hamburger-inner::after { bottom: -10px; }

.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before { transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
.hamburger--spin .hamburger-inner::after { 	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger-light .hamburger-inner,
.hamburger-light .hamburger-inner::before,
.hamburger-light .hamburger-inner::after,
.hamburger-light.is-active .hamburger-inner,
.hamburger-light.is-active .hamburger-inner::before,
.hamburger-light.is-active .hamburger-inner::after{
	background-color: var(--bs-light);
}


/*
=========================================================================================================================
	Secondary Navigation
=========================================================================================================================
*/

#open-search {
	width: 50px;
    height: 50px;
    line-height: 1;
}

#dropdownLang {
    height: 50px;
    min-width: 90px;
}

#dropdownEUIunits {
	width: 55px;
	height: 55px;
}


/* Extend background classes
---------------------------------------------------- */
.bg-primary { background-color: rgba(var(--rsc30-primary-rgb), var(--bs-bg-opacity))!important; }
.bg-secondary { background-color: rgba(var(--rsc30-secondary-rgb), var(--bs-bg-opacity))!important; }
.bg-accent { background-color: rgba(var(--rsc30-accent-rgb), var(--bs-bg-opacity))!important; }
.bg-dark { background-color: var(--rsc30-dark-rgb), var(--bs-bg-opacity))!important;!important; }
.bg-black { background-color: var(--rsc30-black-rgb), var(--bs-bg-opacity))!important;!important; }
.bg-transparent { background-color: transparent!important; }


/* Extend border classes
---------------------------------------------------- */
.border-primary {border-color:  var(--rsc30-primary)!important;}


/* Extend ratio classes
---------------------------------------------------- */
.ratio-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%) }
.ratio-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%) }
.ratio-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%) }
.ratio-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%) }
.ratio-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%) }
.ratio-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%) }
.ratio-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }


/* Extend z-index classes
---------------------------------------------------- */
.z-90 { z-index: 90!important }
.z-93 {	z-index: 93!important }
.z-96 {	z-index: 96!important }
.z-99 {	z-index: 99!important }
.z-990 { z-index: 990!important }
.z-993 { z-index: 993!important }
.z-996 { z-index: 996!important }
.z-999 { z-index: 999!important }
.z-9990 { z-index: 9990!important }
.z-9993 { z-index: 9993!important }
.z-9996 { z-index: 9996!important }
.z-9999 { z-index: 9999!important }


/* Negative margin classes 
---------------------------------------------------- */
.mt-n1 { margin-top: -.25rem!important }
.me-n1 { margin-right: -.25rem!important; }
.mb-n1 { margin-bottom: -.25rem!important; }
.ms-n1 { margin-left: -.25rem!important; }

.mt-n2 { margin-top: -.5rem!important; }
.me-n2 { margin-right: -.5rem!important; }
.mb-n2 { margin-bottom: -.5rem!important; }
.ms-n2 { margin-left: -.5rem!important; }

.mt-n3 { margin-top: -1rem!important; }
.me-n3 { margin-right: -1rem!important; }
.mb-n3 { margin-bottom: -1rem!important; }
.ms-n3 { margin-left: -1rem!important; }

.mt-n4 { margin-top: -1.5rem!important; }
.me-n4 { margin-right: -1.5rem!important; }
.mb-n4 { margin-bottom: -1.5rem!important; }
.ms-n4 { margin-left: -1.5rem!important; }

.mt-n5 { margin-top: -3rem!important; }
.me-n5 { margin-right: -3rem!important; }
.mb-n5 { margin-bottom: -3rem!important; }
.ms-n5 { margin-left: -3rem!important; }


/* Overflow
---------------------------------------------------- */
.overflow-scroll { overflow: scroll!important; }
.overflow-hidden { overflow: hidden!important; }
.overflow-visible { overflow: visible!important; }
.overflow-auto { overflow: auto!important; }


/* Overflow X
---------------------------------------------------- */
.overflowX-scroll { 
	overflow-x: scroll!important;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar; 	
}
.overflowX-hidden { overflow-x: hidden!important; }
.overflowX-visible { overflow-x: visible!important; }
.overflowX-auto { overflow-x: auto!important; }


/* Overflow Y
---------------------------------------------------- */
.overflowY-scroll { overflow-y: scroll!important; }
.overflowY-hidden { overflow-y: hidden!important; }
.overflowY-visible { overflow-y: visible!important; }
.overflowY-auto { overflow-y: auto!important; }


/* Shadow classes 
---------------------------------------------------- */
.shadow-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }


/* Bordered Logo Grid (partners logo grid)
---------------------------------------------------- */

.bordered-grid-item {
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.bordered-grid-item:nth-child(1) { border-top: 1px solid #ddd; } 


/* Read more link (arrow) 
---------------------------------------------------- */

.the-arrow { 
	top: 1px; 
	width: 4rem;
}

.the-arrow > .shaft {
	width: 4rem;
	display: block;
	height: 1px;
	position: relative;
}

.the-arrow.short,
.the-arrow.short > .shaft {	width: 2rem; }

.the-arrow > .shaft:before, 
.the-arrow > .shaft:after {
	width: .5rem;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
}

.the-arrow > .shaft:before { transform: rotate(40deg); }
.the-arrow > .shaft:after { transform: rotate(-40deg); }

.the-arrow.thick > .shaft,
.the-arrow.thick > .shaft:before, 
.the-arrow.thick > .shaft:after { height: 2px; }

.the-arrow > .shaft:before { transform-origin: top right; }
.the-arrow > .shaft:after { transform-origin: bottom right; }
 
.the-arrow.arrow-left > .shaft:before { 
	transform-origin: top left; 
	left: 0; 
	right: auto;
}

.the-arrow.arrow-left > .shaft:after { 
	transform-origin: bottom left; 
	left: 0; 
	right: auto;
}

.link > .the-arrow { position: relative; } /* ???? */

.arrow-dark > .shaft,
.arrow-dark > .shaft:before,
.arrow-dark > .shaft:after { background-color: var(--rsc30-black); }

.arrow-white > .shaft,
.arrow-white > .shaft:before,
.arrow-white > .shaft:after { background-color: #fff!important; }


.big-logo {
	max-width: 250px;
}


.back-to-top {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: none;
}


/*
=========================================================================================================================
	Media Queries
=========================================================================================================================
*/

/* Small devices (landscape phones, 576px and up) */

@media (min-width: 576px) {

	/* Extend font-size classes
	---------------------------------------------------- */
	.fs-sm-1 { font-size: 2.5rem!important; }
	.fs-sm-2 { font-size: 2rem!important; }
	.fs-sm-2 { font-size: 2rem!important; }
	.fs-sm-3 { font-size: 1.75rem!important; }
	.fs-sm-4 { font-size: 1.5rem!important; }
	.fs-sm-5 { font-size: 1.25rem!important; }
	.fs-sm-6 { font-size: 1rem!important; }
	

	/* Extend background classes
	---------------------------------------------------- */
	.bg-sm-dark { background-color: var(--rsc30-dark)!important; }
	.bg-sm-black { background-color: var(--rsc30-black)!important; }
	.bg-sm-transparent { background-color: transparent!important; }	
	

	/* Extend border classes
	---------------------------------------------------- */
	.border-sm-top { border-top: 1px solid #dee2e6!important; }
	.border-sm-end { border-right: 1px solid #dee2e6!important; }
	.border-sm-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-sm-start { border-left: 1px solid #dee2e6!important; }
	.border-sm-none { border: 0!important; }


	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-sm-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-sm-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-sm-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-sm-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-sm-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-sm-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-sm-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }
	
	.ratio-sm {
		position: relative;
    	width: 100%;
	}

	.ratio-sm > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-sm::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-sm-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-sm-auto::before {
		display: none;
		padding-top: 0;
	}

	.translate-sm-middle { transform: translate(-50%,-50%)!important; }

	.transform-sm-none { transform: none!important; }


	/* Negative margin classes 
	---------------------------------------------------- */
	.mt-sm-n1 { margin-top: -.25rem!important; }
	.me-sm-n1 {	margin-right: -.25rem!important; }
	.mb-sm-n1 { margin-bottom: -.25rem!important; }
	.ms-sm-n1 { margin-left: -.25rem!important; }

	.mt-sm-n2 {	margin-top: -.5rem!important; }
	.me-sm-n2 { margin-right: -.5rem!important; }
	.mb-sm-n2 { margin-bottom: -.5rem!important; }
	.ms-sm-n2 {	margin-left: -.5rem!important; }

	.mt-sm-n3 {	margin-top: -1rem!important; }
	.me-sm-n3 {	margin-right: -1rem!important; }
	.mb-sm-n3 { margin-bottom: -1rem!important; }
	.ms-sm-n3 {	margin-left: -1rem!important; }

	.mt-sm-n4 { margin-top: -1.5rem!important; }
	.me-sm-n4 {	margin-right: -1.5rem!important; }
	.mb-sm-n4 {	margin-bottom: -1.5rem!important; }
	.ms-sm-n4 {	margin-left: -1.5rem!important; }

	.mt-sm-n5 {	margin-top: -3rem!important; }
	.me-sm-n5 {	margin-right: -3rem!important; }
	.mb-sm-n5 {	margin-bottom:- 3rem!important; }
	.ms-sm-n5 { margin-left: -3rem!important; }


	/* Overflow
	---------------------------------------------------- */
	.overflow-sm-scroll { overflow: scroll!important; }
	.overflow-sm-hidden { overflow: hidden!important; }
	.overflow-sm-visible { overflow: visible!important; }
	.overflow-sm-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-sm-scroll {
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-sm-hidden { overflow-x: hidden!important; }
	.overflowX-sm-visible { overflow-x: visible!important; }
	.overflowX-sm-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-sm-scroll { overflow-y: scroll!important; }
	.overflowY-sm-hidden { overflow-y: hidden!important; }
	.overflowY-sm-visible { overflow-y: visible!important; }
	.overflowY-sm-auto { overflow-y: auto!important; }


	/* Box shadow
	---------------------------------------------------- */
	.shadow-sm { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-sm-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-sm-none { box-shadow: none!important; }


	/* Bordered Logo Grid (detail)
	---------------------------------------------------- */
	
	.bordered-grid-item { border-right: 0 none; }

	.bordered-grid-item:nth-child(1), 
	.bordered-grid-item:nth-child(2) { border-top: 1px solid #ddd; }

	.bordered-grid-item:nth-child(1n), 
	.bordered-grid-item:nth-child(2n) {
		border-left: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
	}

	.bordered-grid-item:nth-child(2n) { border-right: 1px solid #ddd; }

	.bordered-grid-item:last-child { border-right: 1px solid #ddd; }

	
	/* Bordered Logo Grid (landing)
	---------------------------------------------------- */
	
	.bordered-grid-item.col-sm-4:nth-child(1), 
	.bordered-grid-item.col-sm-4:nth-child(2),
	.bordered-grid-item.col-sm-4:nth-child(3) { border-top: 1px solid #ddd; }

	.bordered-grid-item.col-sm-4:nth-child(1n), 
	.bordered-grid-item.col-sm-4:nth-child(2n),
	.bordered-grid-item.col-sm-4:nth-child(3n) {
		border-left: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
	}

	.bordered-grid-item.col-sm-4:nth-child(2n) { border-right: 0 none; }

	.bordered-grid-item.col-sm-4:nth-child(3n) { border-right: 1px solid #ddd; }

}


/* Medium devices (tablets, 768px and up) */

@media (min-width: 768px) {
	
	/* Extend font-size classes
	---------------------------------------------------- */

	.fs-md-1 { font-size: 2.5rem!important; }
	.fs-md-2 { font-size: 2rem!important; }
	.fs-md-2 { font-size: 2rem!important; }
	.fs-md-3 { font-size: 1.75rem!important; }
	.fs-md-4 { font-size: 1.5rem!important; }
	.fs-md-5 { font-size: 1.25rem!important; }
	.fs-md-6 { font-size: 1rem!important; }


	/* Extend background classes
	---------------------------------------------------- */
	.bg-md-dark { background-color: var(--rsc30-dark)!important; }
	.bg-md-black { background-color: var(--rsc30-black)!important; }
	.bg-md-transparent { background-color: transparent!important; }


	/* Extend border classes
	---------------------------------------------------- */
	.border-md-top { border-top: 1px solid #dee2e6!important; }
	.border-md-end { border-right: 1px solid #dee2e6!important; }
	.border-md-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-md-start { border-left: 1px solid #dee2e6!important; }
	.border-md-none { border: 0!important; }


	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-md-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-md-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-md-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-md-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-md-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-md-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-md-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }

	.ratio-md {
		position: relative;
    	width: 100%;
	}

	.ratio-md > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-md::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-md-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-md-auto::before {
		display: none;
		padding-top: 0;
	}	

	/* Extend position classes
	---------------------------------------------------- */
	.position-md-static { position: static!important }
	.position-md-relative { position: relative!important }
	.position-md-absolute { position: absolute!important }
	.position-md-fixed { position: fixed!important }
	.position-md-sticky { position: sticky!important }

	.translate-md-middle { transform: translate(-50%,-50%)!important; }
	.transform-md-none { transform: none!important; }


	/* Extend width classes
	---------------------------------------------------- */	
	.w-md-auto { width: auto!important; }


	/* Negative margin classes 
	---------------------------------------------------- */	
	.mt-md-n1 {	margin-top: -.25rem!important; }
	.me-md-n1 {	margin-right: -.25rem!important; }
	.mb-md-n1 {	margin-bottom: -.25rem!important; }
	.ms-md-n1 { margin-left: -.25rem!important; }

	.mt-md-n2 { margin-top: -.5rem!important; }
	.me-md-n2 { margin-right: -.5rem!important; }
	.mb-md-n2 { margin-bottom: -.5rem!important; }
	.ms-md-n2 { margin-left: -.5rem!important; }

	.mt-md-n3 { margin-top: -1rem!important; }
	.me-md-n3 { margin-right: -1rem!important; }
	.mb-md-n3 {	margin-bottom: -1rem!important; }
	.ms-md-n3 { margin-left: -1rem!important; }

	.mt-md-n4 {	margin-top: -1.5rem!important; }
	.me-md-n4 { margin-right: -1.5rem!important; }
	.mb-md-n4 { margin-bottom: -1.5rem!important; }
	.ms-md-n4 { margin-left: -1.5rem!important; }
	
	.mt-md-n5 { margin-top: -3rem!important; }
	.me-md-n5 {	margin-right: -3rem!important; }
	.mb-md-n5 { margin-bottom:- 3rem!important; }
	.ms-md-n5 {	margin-left: -3rem!important; }


	/* Overflow
	---------------------------------------------------- */
	.overflow-md-scroll { overflow: scroll!important; }
	.overflow-md-hidden { overflow: hidden!important; }
	.overflow-md-visible { overflow: visible!important; }
	.overflow-md-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-md-scroll { 
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-md-hidden { overflow-x: hidden!important; }
	.overflowX-md-visible { overflow-x: visible!important; }
	.overflowX-md-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-md-scroll { overflow-y: scroll!important; }
	.overflowY-md-hidden { overflow-y: hidden!important; }
	.overflowY-md-visible { overflow-y: visible!important; }
	.overflowY-md-auto { overflow-y: auto!important; }


	/* Box shadow
	---------------------------------------------------- */
	.shadow-md { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-md-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-md-none { box-shadow: none!important; }
}


/* Large devices (desktops, 992px and up) */

@media (min-width: 992px) {
	
	/* Header
	---------------------------------------------------- */
	#logo img { height: 50px; }

	#top-nav { width: 35vw!important; }


	/* Extend font-size classes 
	---------------------------------------------------- */
	.fs-lg-1 { font-size: 2.5rem!important; }
	.fs-lg-2 { font-size: 2rem!important; }
	.fs-lg-2 { font-size: 2rem!important; }
	.fs-lg-3 { font-size: 1.75rem!important; }
	.fs-lg-4 { font-size: 1.5rem!important; }
	.fs-lg-5 { font-size: 1.25rem!important; }
	.fs-lg-6 { font-size: 1rem!important; }
	

	/* Extend background classes
	---------------------------------------------------- */
	.bg-lg-gold { background-color: var(--rsc30-gold)!important; }
	.bg-lg-gold-75 { background-color: rgba(var(--rsc30-gold-rgb),.75)!important; }
	.bg-lg-dark { background-color: var(--rsc30-dark)!important; }
	.bg-lg-black { background-color: var(--rsc30-black)!important; }
	.bg-lg-black-75 { background-color: rgba(var(--rsc30-black-rgb), .75)!important; }
	.bg-lg-transparent { background-color: transparent!important; }


	/* Extend border classes
	---------------------------------------------------- */
	.border-lg-top { border-top: 1px solid #dee2e6!important; }
	.border-lg-end { border-right: 1px solid #dee2e6!important; }
	.border-lg-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-lg-start { border-left: 1px solid #dee2e6!important; }
	.border-lg-none { border: 0!important; }


	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-lg-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-lg-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-lg-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-lg-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-lg-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-lg-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-lg-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }

	.ratio-lg {
		position: relative;
    	width: 100%;
	}

	.ratio-lg > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-lg::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-lg-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-lg-auto::before {
		display: none;
		padding-top: 0;
	}
	

	/* Extend position classes
	---------------------------------------------------- */
	.position-lg-static { position: static!important }
	.position-lg-relative { position: relative!important }
	.position-lg-absolute {	position: absolute!important }
	.position-lg-fixed { position: fixed!important }
	.position-lg-sticky { position: sticky!important }	
	

	.translate-lg-middle { transform: translate(-50%,-50%)!important; }
	.transform-lg-none { transform: none!important; }


	.logo img { height: 60px; }	
	

	/* Negative margin classes 
	---------------------------------------------------- */	
	.mt-lg-n1 { margin-top: -.25rem!important; }
	.me-lg-n1 { margin-right: -.25rem!important; }
	.mb-lg-n1 {	margin-bottom: -.25rem!important; }
	.ms-lg-n1 { margin-left: -.25rem!important;	}

	.mt-lg-n2 {	margin-top: -.5rem!important; }
	.me-lg-n2 {	margin-right: -.5rem!important; }
	.mb-lg-n2 {	margin-bottom: -.5rem!important; }
	.ms-lg-n2 {	margin-left: -.5rem!important; }

	.mt-lg-n3 {	margin-top: -1rem!important; }
	.me-lg-n3 {	margin-right: -1rem!important; }
	.mb-lg-n3 {	margin-bottom: -1rem!important; }
	.ms-lg-n3 {	margin-left: -1rem!important; }

	.mt-lg-n4 {	margin-top: -1.5rem!important; }
	.me-lg-n4 {	margin-right: -1.5rem!important; }
	.mb-lg-n4 {	margin-bottom: -1.5rem!important; }
	.ms-lg-n4 { margin-left: -1.5rem!important; }

	.mt-lg-n5 {	margin-top: -3rem!important; }
	.me-lg-n5 {	margin-right: -3rem!important; }
	.mb-lg-n5 { margin-bottom:- 3rem!important; }
	.ms-lg-n5 { margin-left: -3rem!important; }	


	/* Overflow
	---------------------------------------------------- */
	.overflow-lg-scroll { overflow: scroll!important; }
	.overflow-lg-hidden { overflow: hidden!important; }
	.overflow-lg-visible { overflow: visible!important; }
	.overflow-lg-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-lg-scroll { 
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-lg-hidden { overflow-x: hidden!important; }
	.overflowX-lg-visible { overflow-x: visible!important; }
	.overflowX-lg-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-lg-scroll { overflow-y: scroll!important; }
	.overflowY-lg-hidden { overflow-y: hidden!important; }
	.overflowY-lg-visible { overflow-y: visible!important; }
	.overflowY-lg-auto { overflow-y: auto!important; }	


	/* Box shadow
	---------------------------------------------------- */
	.shadow-lg { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-lg-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-lg-none { box-shadow: none!important; }


	/* Arches 
	---------------------------------------------------- */
	.bg-arches {
		background-image: url("/web-production/code/assets/img/30-anniversary-of-the-robert-schuman-centre/yellow-arches.png");
		background-repeat: no-repeat;		
		background-size: 18%!important;
	}	

	.bg-bottom-right {
		background-position: bottom right;
	}

	.bg-top-right {
		background-position: top right;
	}
	
}


/* X-Large devices (large desktops, 1200px and up) */

@media (min-width: 1200px) {

	#open-search,
	#dropdownEUIunits {
		width: 52px;
		height: 52px;
	}

	#dropdownLang { height: 52px; }

	#top-nav { width: auto!important; }

	
	/* Extend font-size classes 
	---------------------------------------------------- */
	
	.fs-xl-1 { font-size: 2.5rem!important; }
	.fs-xl-2 { font-size: 2rem!important; }
	.fs-xl-2 { font-size: 2rem!important; }
	.fs-xl-3 { font-size: 1.75rem!important; }
	.fs-xl-4 { font-size: 1.5rem!important; }
	.fs-xl-5 { font-size: 1.25rem!important; }
	.fs-xl-6 { font-size: 1rem!important; }
	

	/* Extend font-size classes 
	---------------------------------------------------- */
	.display-xl-1 { font-size: 5rem!important; }
	.display-xl-2 { font-size: 4.5rem!important; }
	.display-xl-3 { font-size: 4rem!important; }
	.display-xl-4 { font-size: 3.5rem!important; }
	.display-xl-5 { font-size: 3rem!important; }		
	.display-xl-6 { font-size: 2.5rem!important; }	


	/* Extend border classes
	---------------------------------------------------- */
	.border-xl-top { border-top: 1px solid #dee2e6!important; }
	.border-xl-end { border-right: 1px solid #dee2e6!important; }
	.border-xl-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-xl-start { border-left: 1px solid #dee2e6!important; }
	.border-xl-none { border: 0!important; }


	/* Extend background classes
	---------------------------------------------------- */
	.bg-xl-dark { background-color: var(--rsc30-dark)!important; }
	.bg-xl-black { background-color: var(--rsc30-black)!important; }
	.bg-xl-transparent { background-color: transparent!important; }

	
	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-xl-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-xl-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-xl-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-xl-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-xl-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-xl-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-xl-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }

	.ratio-xl {
		position: relative;
    	width: 100%;
	}

	.ratio-xl > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-xl::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-xl-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-xl-auto::before {
		display: none;
		padding-top: 0;
	}


	/* Extend position classes
	---------------------------------------------------- */
	.position-xl-static { position: static!important }
	.position-xl-relative { position: relative!important }
	.position-xl-absolute { position: absolute!important }
	.position-xl-fixed { position: fixed!important }
	.position-xl-sticky { position: sticky!important }


	.translate-xl-middle { transform: translate(-50%,-50%)!important; }
	.transform-xl-none { transform: none!important; }


	/* Negative margin classes 
	---------------------------------------------------- */	
	.mt-xl-n1 { margin-top: -.25rem!important; }
	.me-xl-n1 { margin-right: -.25rem!important; }
	.mb-xl-n1 { margin-bottom: -.25rem!important; }
	.ms-xl-n1 { margin-left: -.25rem!important; }

	.mt-xl-n2 { margin-top: -.5rem!important; }
	.me-xl-n2 { margin-right: -.5rem!important; }
	.mb-xl-n2 { margin-bottom: -.5rem!important; }
	.ms-xl-n2 { margin-left: -.5rem!important; }

	.mt-xl-n3 {	margin-top: -1rem!important; }
	.me-xl-n3 { margin-right: -1rem!important; }
	.mb-xl-n3 {	margin-bottom: -1rem!important;	}
	.ms-xl-n3 {	margin-left: -1rem!important; }

	.mt-xl-n4 {	margin-top: -1.5rem!important; }
	.me-xl-n4 {	margin-right: -1.5rem!important; }
	.mb-xl-n4 {	margin-bottom: -1.5rem!important; }
	.ms-xl-n4 {	margin-left: -1.5rem!important; }

	.mt-xl-n5 { margin-top: -3rem!important; }
	.me-xl-n5 {	margin-right: -3rem!important; }	
	.mb-xl-n5 { margin-bottom:- 3rem!important; }
	.ms-xl-n5 { margin-left: -3rem!important; }


	/* Overflow
	---------------------------------------------------- */
	.overflow-xl-scroll { overflow: scroll!important; }
	.overflow-xl-hidden { overflow: hidden!important; }
	.overflow-xl-visible { overflow: visible!important; }
	.overflow-xl-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-xl-scroll { 
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-xl-hidden { overflow-x: hidden!important; }
	.overflowX-xl-visible { overflow-x: visible!important; }
	.overflowX-xl-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-xl-scroll { overflow-y: scroll!important; }
	.overflowY-xl-hidden { overflow-y: hidden!important; }
	.overflowY-xl-visible { overflow-y: visible!important; }
	.overflowY-xl-auto { overflow-y: auto!important; }


	/* Box shadow
	---------------------------------------------------- */
	.shadow-xl { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-xl-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-xl-none { box-shadow: none!important; }


	/* Bordered Logo Grid (partners logo grid)
	---------------------------------------------------- */
	.bordered-grid-item:nth-child(1),
	.bordered-grid-item:nth-child(2),
	.bordered-grid-item:nth-child(3) {
		border-bottom: 1px solid #ddd;
		border-top: 1px solid #ddd;
	}

	.bordered-grid-item:nth-child(1n),
	.bordered-grid-item:nth-child(2n),
	.bordered-grid-item:nth-child(3n) {
		border-left: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
	}
	
	.bordered-grid-item:nth-child(2n) { border-right: 0 none; }

	.bordered-grid-item:nth-child(3n),
	.bordered-grid-item:last-child { border-right: 1px solid #ddd; }


	/* Bordered Logo Grid (landing)
	---------------------------------------------------- */
	
	.bordered-grid-item.col-xl-2:nth-child(4),
	.bordered-grid-item.col-xl-2:nth-child(5),
	.bordered-grid-item.col-xl-2:nth-child(6) {
		border-bottom: 1px solid #ddd;
		border-top: 1px solid #ddd;
	}

	.bordered-grid-item.col-xl-2:nth-child(3n) { border-right: 0 none; }

	.bordered-grid-item.col-xl-2:nth-child(6n) { border-right: 1px solid #ddd; }

}


/* XX-Large devices (larger desktops, 1400px and up) */

@media (min-width: 1400px) {

	body { font-size: 1.125rem; }
	
	.count-up { font-size: 6rem; }
	
	/* Extend font-size classes 
	---------------------------------------------------- */
	.fs-xxl-1 { font-size: calc(1.375rem + 1.5vw)!important; }
	.fs-xxl-2 { font-size: calc(1.325rem + .9vw)!important; }
	.fs-xxl-3 { font-size: calc(1.3rem + .6vw)!important; }
	.fs-xxl-4 { font-size: calc(1.275rem + .3vw)!important; }
	.fs-xxl-5 { font-size: 1.25rem!important; }		
	.fs-xxl-6 { font-size: 1rem!important; }

	/* Extend font-size classes 
	---------------------------------------------------- */
	.display-xxl-1 { font-size: 5rem!important; }
	.display-xxl-2 { font-size: 4.5rem!important; }
	.display-xxl-3 { font-size: 4rem!important; }
	.display-xxl-4 { font-size: 3.5rem!important; }
	.display-xxl-5 { font-size: 3rem!important; }		
	.display-xxl-6 { font-size: 2.5rem!important; }	
	

	/* Extend background classes
	---------------------------------------------------- */
	.bg-xxl-dark { background-color: var(--rsc30-dark)!important; }
	.bg-xxl-black { background-color: var(--rsc30-black)!important; }
	.bg-xxl-transparent { background-color: transparent!important; }


	/* Extend border classes
	---------------------------------------------------- */
	.border-xxl-top { border-top: 1px solid #dee2e6!important; }
	.border-xxl-end { border-right: 1px solid #dee2e6!important; }
	.border-xxl-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-xxl-start { border-left: 1px solid #dee2e6!important; }
	.border-xxl-none { border: 0!important; }

	
	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-xxl-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-xxl-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-xxl-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-xxl-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-xxl-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-xxl-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-xxl-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }

	.ratio-xxl {
		position: relative;
    	width: 100%;
	}

	.ratio-xxl > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-xxl::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-xxl-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-xxl-auto::before {
		display: none;
		padding-top: 0;
	}


	/* Extend position classes
	---------------------------------------------------- */
	.position-xxl-static { position: static!important }
	.position-xxl-relative { position: relative!important }
	.position-xxl-absolute { position: absolute!important }
	.position-xxl-fixed { position: fixed!important }
	.position-xxl-sticky { position: sticky!important }


	.translate-xxl-middle { transform: translate(-50%,-50%)!important; }
	.transform-xxl-none { transform: none!important; }	


	/* Negative margin classes 
	---------------------------------------------------- */	
	.mt-xxl-n1 { margin-top: -.25rem!important; }
	.me-xxl-n1 { margin-right: -.25rem!important; }
	.mb-xxl-n1 { margin-bottom: -.25rem!important; }
	.ms-xxl-n1 { margin-left: -.25rem!important; }

	.mt-xxl-n2 { margin-top: -.5rem!important; }
	.me-xxl-n2 { margin-right: -.5rem!important; }
	.mb-xxl-n2 { margin-bottom: -.5rem!important; }
	.ms-xxl-n2 { margin-left: -.5rem!important; }

	.mt-xxl-n3 { margin-top: -1rem!important; }
	.me-xxl-n3 { margin-right: -1rem!important; }
	.mb-xxl-n3 { margin-bottom: -1rem!important; }
	.ms-xxl-n3 { margin-left: -1rem!important; }

	.mt-xxl-n4 { margin-top: -1.5rem!important; }
	.me-xxl-n4 { margin-right: -1.5rem!important; }
	.mb-xxl-n4 { margin-bottom: -1.5rem!important; }
	.ms-xxl-n4 { margin-left: -1.5rem!important; }

	.mt-xxl-n5 { margin-top: -3rem!important; }
	.me-xxl-n5 { margin-right: -3rem!important; }
	.mb-xxl-n5 { margin-bottom:- 3rem!important; }
	.ms-xxl-n5 { margin-left: -3rem!important; }


	/* Overflow
	---------------------------------------------------- */
	.overflow-xxl-scroll { overflow: scroll!important; }
	.overflow-xxl-hidden { overflow: hidden!important; }
	.overflow-xxl-visible { overflow: visible!important; }
	.overflow-xxl-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-xxl-scroll { 
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-xxl-hidden { overflow-x: hidden!important; }
	.overflowX-xxl-visible { overflow-x: visible!important; }
	.overflowX-xxl-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-xxl-scroll { overflow-y: scroll!important; }
	.overflowY-xxl-hidden { overflow-y: hidden!important; }
	.overflowY-xxl-visible { overflow-y: visible!important; }
	.overflowY-xxl-auto { overflow-y: auto!important; }	


	/* Box shadow
	---------------------------------------------------- */
	.shadow-xxl { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-xxl-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-xxl-none { box-shadow: none!important; }


	/* Arches 
	---------------------------------------------------- */
	.bg-arches {
		background-size: 20%!important;
	}


}


/* XXX-Large devices (larger desktops, 1800px and up) */

@media (min-width: 1800px) {


	.count-up { font-size: 8rem; }

	/* Extend font-size classes 
	---------------------------------------------------- */
	.fs-xxxl-1 { font-size: calc(1.375rem + 1.5vw)!important; }
	.fs-xxxl-2 { font-size: calc(1.325rem + .9vw)!important; }
	.fs-xxxl-3 { font-size: calc(1.3rem + .6vw)!important; }
	.fs-xxxl-4 { font-size: calc(1.275rem + .3vw)!important; }
	.fs-xxxl-5 { font-size: 1.25rem!important; }		
	.fs-xxxl-6 { font-size: 1rem!important; }


	.text-xxxl-center {
		text-align: center!important;
	}	


	/* Extend background classes
	---------------------------------------------------- */
	.bg-xxxl-dark { background-color: var(--rsc30-dark)!important; }
	.bg-xxxl-black { background-color: var(--rsc30-black)!important; }
	.bg-xxxl-transparent { background-color: transparent!important; }


	/* Extend border classes
	---------------------------------------------------- */
	.border-xxxl-top { border-top: 1px solid #dee2e6!important; }
	.border-xxxl-end { border-right: 1px solid #dee2e6!important; }
	.border-xxxl-bottom {	border-bottom: 1px solid #dee2e6!important; }
	.border-xxxl-start { border-left: 1px solid #dee2e6!important; }
	.border-xxxl-none { border: 0!important; }


	/* Extend ratio classes
	---------------------------------------------------- */
	.ratio-xxxl-1x1 { --bs-aspect-ratio: calc(1 / 1 * 100%); }
	.ratio-xxxl-2x1 { --bs-aspect-ratio: calc(1 / 2 * 100%); }
	.ratio-xxxl-2x3 { --bs-aspect-ratio: calc(3 / 2 * 100%); }
	.ratio-xxxl-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }
	.ratio-xxxl-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }
	.ratio-xxxl-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }
	.ratio-xxxl-custom { --bs-aspect-ratio: calc(429 / 1024 * 100%); }


	.ratio-xxxl {
		position: relative;
    	width: 100%;
	}

	.ratio-xxxl > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.ratio-xxxl::before {
		display: block;
		padding-top: var(--bs-aspect-ratio);
		content: "";
	}

	.ratio-xxxl-auto > * {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
	}

	.ratio-xxxl-auto::before {
		display: none;
		padding-top: 0;
	}
	

	/* Extend position classes
	---------------------------------------------------- */
	.position-xxxl-static {
		position: static!important
	}
	.position-xxxl-relative {
		position: relative!important
	}
	.position-xxxl-absolute {
		position: absolute!important
	}
	.position-xxxl-fixed {
		position: fixed!important
	}
	.position-xxxl-sticky {
		position: sticky!important
	}


	.translate-xxxl-middle {
    	transform: translate(-50%,-50%)!important;
	}

	.transform-xxxl-none {
    	transform: none!important;
	}	


	/* Extend align-self classes 
	---------------------------------------------------- */
	.align-self-xxxl-start { align-self: flex-start!important; }
	.align-self-xxxl-end { align-self: flex-end!important; }
	.align-self-xxxl-center { align-self: center!important; }
	.align-self-xxxl-baseline {	align-self: baseline!important; }
	.align-self-xxxl-stretch { align-self: stretch!important; }
	
	
	/* Extend margin classes 
	---------------------------------------------------- */
	.m-xxxl-auto { margin: auto!important; }
	.mx-xxxl-auto { margin-left: auto!important; margin-right: auto!important; }
	.my-xxxl-auto { margin-top: auto!important; margin-bottom: auto!important; }	
	.mt-xxxl-auto { margin-top: auto!important; }
	.me-xxxl-auto {	margin-right: auto!important; }
	.mb-xxxl-auto { margin-bottom: auto!important;}
	.ms-xxxl-auto { margin-left: auto!important; }

	.m-xxxl-0 { margin: 0!important; }
	.mx-xxxl-0 { margin-left: 0!important; margin-right: 0!important; }
	.my-xxxl-0 { margin-top: 0!important; margin-bottom: 0!important; }
	.mt-xxxl-0 { margin-top: 0!important;}
	.me-xxxl-0 { margin-right: 0!important; }
	.mb-xxxl-0 { margin-bottom: 0!important; }
	.ms-xxxl-0 { margin-left: 0!important; }

	.m-xxxl-1 { margin: .25rem!important;}
	.mx-xxxl-1 { margin-left: .25rem!important; margin-right: .25rem!important; }
	.my-xxxl-1 { margin-top: .25rem!important; margin-bottom: .25rem!important; }
	.mt-xxxl-1 { margin-top: .25rem!important; }
	.me-xxxl-1 { margin-right: .25rem!important; }
	.mb-xxxl-1 { margin-bottom: .25rem!important; }
	.ms-xxxl-1 { margin-left: .25rem!important; }

	.m-xxxl-2 { margin: .5rem!important; }
	.mx-xxxl-2 { margin-left: .5rem!important; margin-right: .5rem!important; }
	.my-xxxl-2 { margin-top: .5rem!important; margin-bottom: .5rem!important; }
	.mt-xxxl-2 { margin-top: .5rem!important; }
	.me-xxxl-2 { margin-right: .5rem!important; }
	.mb-xxxl-2 { margin-bottom: .5rem!important; }
	.ms-xxxl-2 { margin-left: .5rem!important; }

	.m-xxxl-3 { margin: 1rem!important; }
	.mx-xxxl-3 { margin-left: 1rem!important; margin-right: 1rem!important; }
	.my-xxxl-3 { margin-top: 1rem!important; margin-bottom: 1rem!important; }
	.mt-xxxl-3 { margin-top: 1rem!important; }
	.me-xxxl-3 { margin-right: 1rem!important; }
	.mb-xxxl-3 { margin-bottom: 1rem!important; }
	.ms-xxxl-3 { margin-left: 1rem!important; }

	.m-xxxl-4 { margin: 1.5rem!important; }
	.mx-xxxl-4 { margin-left: 1.5rem!important; margin-right: 1.5rem!important; }
	.my-xxxl-4 { margin-top: 1.5rem!important; margin-bottom: 1.5rem!important; }
	.mt-xxxl-4 { margin-top: 1.5rem!important; }
	.me-xxxl-4 { margin-right: 1.5rem!important; }
	.mb-xxxl-4 { margin-bottom: 1.5rem!important; }
	.ms-xxxl-4 { margin-left: 1.5rem!important; }

	.m-xxxl-5 { margin: 3rem!important; }
	.mx-xxxl-5 { margin-left: 3rem!important; margin-right: 3rem!important; }
	.my-xxxl-5 { margin-top: 3rem!important; margin-bottom: 3rem!important; }
	.mt-xxxl-5 { margin-top: 3rem!important; }
	.me-xxxl-5 { margin-right: 3rem!important; }
	.mb-xxxl-5 { margin-bottom: 3rem!important; }
	.ms-xxxl-5 { margin-left: 3rem!important; }	


	/* Negative margin classes 
	---------------------------------------------------- */	
	.mt-xxxl-n1 { margin-top: -.25rem!important; }
	.me-xxxl-n1 { margin-right: -.25rem!important; }
	.mb-xxxl-n1 { margin-bottom: -.25rem!important; }
	.ms-xxxl-n1 { margin-left: -.25rem!important; }

	.mt-xxxl-n2 { margin-top: -.5rem!important; }
	.me-xxxl-n2 { margin-right: -.5rem!important; }	
	.mb-xxxl-n2 { margin-bottom: -.5rem!important; }
	.ms-xxxl-n2 { margin-left: -.5rem!important; }

	.mt-xxxl-n3 { margin-top: -1rem!important; }
	.me-xxxl-n3 { margin-right: -1rem!important; }
	.mb-xxxl-n3 { margin-bottom: -1rem!important; }
	.ms-xxxl-n3 { margin-left: -1rem!important; }

	.mt-xxxl-n4 { margin-top: -1.5rem!important; }
	.me-xxxl-n4 { margin-right: -1.5rem!important; }
	.mb-xxxl-n4 { margin-bottom: -1.5rem!important; }
	.ms-xxxl-n4 { margin-left: -1.5rem!important; }

	.mt-xxxl-n5 { margin-top: -3rem!important; }
	.me-xxxl-n5 { margin-right: -3rem!important; }
	.mb-xxxl-n5 { margin-bottom:- 3rem!important; }
	.ms-xxxl-n5 { margin-left: -3rem!important; }	
	

	/* Extend padding classes 
	---------------------------------------------------- */
	.p-xxxl-auto { padding: auto!important; }
	.px-xxxl-auto { padding-left: auto!important; padding-right: auto!important; }
	.py-xxxl-auto { padding-top: auto!important; padding-bottom: auto!important; }	
	.pt-xxxl-auto { padding-top: auto!important; }
	.pe-xxxl-auto {	padding-right: auto!important; }
	.pb-xxxl-auto { padding-bottom: auto!important;}
	.ps-xxxl-auto { padding-left: auto!important; }

	.p-xxxl-0 { padding: 0!important; }
	.px-xxxl-0 { padding-left: 0!important; padding-right: 0!important; }
	.py-xxxl-0 { padding-top: 0!important; padding-bottom: 0!important; }
	.pt-xxxl-0 { padding-top: 0!important;}
	.pe-xxxl-0 { padding-right: 0!important; }
	.pb-xxxl-0 { padding-bottom: 0!important; }
	.ps-xxxl-0 { padding-left: 0!important; }

	.p-xxxl-1 { padding: .25rem!important;}
	.px-xxxl-1 { padding-left: .25rem!important; padding-right: .25rem!important; }
	.py-xxxl-1 { padding-top: .25rem!important; padding-bottom: .25rem!important; }
	.pt-xxxl-1 { padding-top: .25rem!important; }
	.pe-xxxl-1 { padding-right: .25rem!important; }
	.pb-xxxl-1 { padding-bottom: .25rem!important; }
	.ps-xxxl-1 { padding-left: .25rem!important; }

	.p-xxxl-2 { padding: .5rem!important; }
	.px-xxxl-2 { padding-left: .5rem!important; padding-right: .5rem!important; }
	.py-xxxl-2 { padding-top: .5rem!important; padding-bottom: .5rem!important; }
	.pt-xxxl-2 { padding-top: .5rem!important; }
	.pe-xxxl-2 { padding-right: .5rem!important; }
	.pb-xxxl-2 { padding-bottom: .5rem!important; }
	.ps-xxxl-2 { padding-left: .5rem!important; }

	.p-xxxl-3 { padding: 1rem!important; }
	.px-xxxl-3 { padding-left: 1rem!important; padding-right: 1rem!important; }
	.py-xxxl-3 { padding-top: 1rem!important; padding-bottom: 1rem!important; }
	.pt-xxxl-3 { padding-top: 1rem!important; }
	.pe-xxxl-3 { padding-right: 1rem!important; }
	.pb-xxxl-3 { padding-bottom: 1rem!important; }
	.ps-xxxl-3 { padding-left: 1rem!important; }

	.p-xxxl-4 { padding: 1.5rem!important; }
	.px-xxxl-4 { padding-left: 1.5rem!important; padding-right: 1.5rem!important; }
	.py-xxxl-4 { padding-top: 1.5rem!important; padding-bottom: 1.5rem!important; }
	.pt-xxxl-4 { padding-top: 1.5rem!important; }
	.pe-xxxl-4 { padding-right: 1.5rem!important; }
	.pb-xxxl-4 { padding-bottom: 1.5rem!important; }
	.ps-xxxl-4 { padding-left: 1.5rem!important; }

	.p-xxxl-5 { padding: 3rem!important; }
	.px-xxxl-5 { padding-left: 3rem!important; padding-right: 3rem!important; }
	.py-xxxl-5 { padding-top: 3rem!important; padding-bottom: 3rem!important; }
	.pt-xxxl-5 { padding-top: 3rem!important; }
	.pe-xxxl-5 { padding-right: 3rem!important; }
	.pb-xxxl-5 { padding-bottom: 3rem!important; }
	.ps-xxxl-5 { padding-left: 3rem!important; }


	/* Extend columns classes 
	---------------------------------------------------- */
	.col-xxxl-1 { flex: 0 0 auto; width: 8.3333333333%; }
	.col-xxxl-2 { flex: 0 0 auto; width: 16.6666666667%; }
	.col-xxxl-3 { flex: 0 0 auto; width: 25%; }
	.col-xxxl-4 { flex: 0 0 auto; width: 33.3333333333%; }
	.col-xxxl-5 { flex: 0 0 auto; width: 41.6666666667%; }
	.col-xxxl-6 { flex: 0 0 auto; width: 50%; }
	.col-xxxl-7 { flex: 0 0 auto; width: 58.3333333333%; }
	.col-xxxl-8 { flex: 0 0 auto; width: 66.6666666667%; }
	.col-xxxl-9 { flex: 0 0 auto; width: 75%; }
	.col-xxxl-10 { flex: 0 0 auto; width: 83.3333333333%; }
	.col-xxxl-11 { flex: 0 0 auto; width: 91.6666666667%; }
	.col-xxxl-12 { flex: 0 0 auto; width: 100%; }


	/* Overflow
	---------------------------------------------------- */
	.overflow-xxxl-scroll { overflow: scroll!important; }
	.overflow-xxxl-hidden { overflow: hidden!important; }
	.overflow-xxxl-visible { overflow: visible!important; }
	.overflow-xxxl-auto { overflow: auto!important; }


	/* Overflow X
	---------------------------------------------------- */
	.overflowX-xxxl-scroll { 
		overflow-x: scroll!important;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar; 	
	}
	.overflowX-xxxl-hidden { overflow-x: hidden!important; }
	.overflowX-xxxl-visible { overflow-x: visible!important; }
	.overflowX-xxxl-auto { overflow-x: auto!important; }


	/* Overflow Y
	---------------------------------------------------- */
	.overflowY-xxxl-scroll { overflow-y: scroll!important; }
	.overflowY-xxxl-hidden { overflow-y: hidden!important; }
	.overflowY-xxxl-visible { overflow-y: visible!important; }
	.overflowY-xxxl-auto { overflow-y: auto!important; }


	/* Box shadow
	---------------------------------------------------- */
	.shadow-xxxl { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
	.shadow-xxxl-2 { box-shadow: 0 2rem 2rem rgba(0,0,0,.15)!important; }
	.shadow-xxxl-none { box-shadow: none!important; }


	/* Arches 
	---------------------------------------------------- */
	.bg-arches {
		background-size: 16%!important;
	}


	.big-logo {
		max-width: 450px;
	}	

}


@media (max-width: 1199.98px) {

    #top-nav.navbar-collapse {
        position: fixed;
        top: 105px;
        width: 100%;
	    right: 0;
        -webkit-transition: right 0.3s ease-in;
        -o-transition: right 0.3s ease-in;
        -moz-transition: right 0.3s ease-in;
        transition: right 0.3s ease-in;			
    }

    #top-nav.navbar-collapse.collapsing {
        height: auto;
        -webkit-transition: right 0.3s ease;
        -o-transition: right 0.3s ease;
        -moz-transition: right 0.3s ease;
        transition: right 0.3s ease;
        right: -100%;
    }
}

.logo-primary {
	height:30px;
}

.logo-secondary {
	height:20px;
}

@media (min-width: 768px) {

	.logo-primary {
		height:60px;
	}

	.logo-secondary {
		height:40px;
	}

	.offcanvas-collapse {
		top: 92px; /* Height of navbar */
	}

}

@media (min-width: 992px) {

	.logo-primary {
		height:80px;
	}

	.logo-secondary {
		height:50px;
	}	

}