:root {
	--color__yellow: #FBB03B;
	--color__navy: #023247;
	--color__navy2: #013451;
	--color__turkiz: #298ba8;
	--color__silver: #E6E5E5;
	--color__gray: #666;
	
	--color__select: #343eb3;
	--color__facebook: #0866ff;
	--color__linkedin: #0a66c2;

	--flow-space: 1em;
	--bodyOffset: 1.5rem;
	--grid: grid;
	
	--size-2: 0.69em;
	--size-1: 0.83em;
	--size0: 1em;
	--size1: 1.1em;
	--size2: 1.3em;
	--size3: 1.6em;
	--size4: 1.8em;
	--size5: 2.2em;
	--size6: 2.6em;
	
	--size7: 3em;
	--size8: 3em;
	
	--wrapper__padding: 1.5rem;
	--wrapper__paddingLarge: 3em;
	
	--wrapper__gridOffsetLeft: 2;
	--wrapper__gridOffsetRight: -2;
		--wrapper__gridOffset: var(--wrapper__gridOffsetLeft) / var(--wrapper__gridOffsetRight);
	--wrapper__gridGap: 0.5em;
	--wrapper__bodyPaddingInner: calc(var(--wrapper__bodyPadding) - var(--wrapper__gridGap));
	
	--grid: grid;
	--subgrid: subgrid;
	--pretitle__length: 4rem;
}


@media (min-width: 48em) {
	body {
		font-size: 1.3em;
	}
	
	:root {
		--size1: 1.2em;
		--size2: 1.44em;
		--size3: 1.73em;
		--size4: 2.1em;
		--size5: 2.5em;
		--size6: 3em;
		
		--wrapper__gridOffsetLeft: 3;
		--wrapper__gridOffsetRight: -3;
	}
}

@media (min-width: 70em) {
	:root {
		--size7: 4rem;
		--size8: 5rem;
	}
	
	body {
		font-size: 1.4em;
	}
}


/*
  Made by Elly Loel - https://ellyloel.com/
  With inspiration from:
    - Josh W Comeau - https://courses.joshwcomeau.com/css-for-js/treasure-trove/010-global-styles/
    - Andy Bell - https://piccalil.li/blog/a-modern-css-reset/
    - Adam Argyle - https://unpkg.com/open-props@1.3.16/normalize.min.css / https://codepen.io/argyleink/pen/KKvRORE

  Notes:
    - `:where()` is used to lower specificity for easy overriding.
*/

* {
	/* Remove default margin on everything */
	margin: 0;
	/* Remove default padding on everything */
	padding: 0;
	/* Calc `em` based line height, bigger line height for smaller font size and smaller line height for bigger font size: https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/ */
	line-height: calc(0.4rem + 1em + 0.4rem);
}

/* Use a more-intuitive box-sizing model on everything */
*,
::before,
::after {
	box-sizing: border-box;
}

/* Remove border and set sensible defaults for backgrounds, on all elements except fieldset progress and meter */
*:where(:not(fieldset, progress, meter)) {
	border-width: 0;
	border-style: solid;
	background-origin: border-box;
	background-repeat: no-repeat;
}

html {
	/* Allow percentage-based heights in the application */
	block-size: 100%;
	/* Making sure text size is only controlled by font-size */
	-webkit-text-size-adjust: none;
	
	/** https://getpublii.com/blog/one-line-css-solution-to-prevent-anchor-links-from-scrolling-behind-a-sticky-header.html 😙 */
	scroll-padding-top: 3em;
}

/* Smooth scrolling for users that don't prefer reduced motion */
@media (prefers-reduced-motion: no-preference) {
	html:focus-within {
		scroll-behavior: smooth;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeSpeed;
	font-optical-sizing: auto;
	min-block-size: 100%;
	
		
	font-family: "Poppins", sans-serif; 
}

/* Improve media defaults */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block;
}

:where(img, svg, video) {
	block-size: auto;
	max-inline-size: 100%;
}

/* Remove stroke and set fill colour to the inherited font colour */
:where(svg) {
	stroke: none;
	fill: currentColor;
}

/* SVG's without a fill attribute */
:where(svg):where(:not([fill])) {
	/* Remove fill and set stroke colour to the inherited font colour */
	stroke: currentColor;
	fill: none;
	/* Rounded stroke */
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Set a size for SVG's without a width attribute */
:where(svg):where(:not([width])) {
	inline-size: 5rem;
}

/* Remove built-in form typography styles */
:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
	color: inherit;
	font: inherit;
	font-size: inherit;
	letter-spacing: inherit;
}

/* Change textarea resize to vertical only and block only if the browser supports that */
:where(textarea) {
	resize: vertical;
}

@supports (resize: block) {
	:where(textarea) {
		resize: block;
	}
}

/* Avoid text overflows */
:where(h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word;
}

/* Fix h1 font size inside article, aside, nav, and section */
h1 {
	font-size: var(--size4);
}

h2 {
	font-size: var(--size3);
}

h3 {
	font-size: var(--size1);
}

a {
	transition: color .3s;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
:where(ul, ol)[role="list"] {
	list-style: none;
}

/* More readable underline style for anchor tags without a class. This could be set on anchor tags globally, but it can cause conflicts. */
a:not([class]) {
	text-decoration-skip-ink: auto;
}

/* Make it clear that interactive elements are interactive */
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
	cursor: pointer;
	touch-action: manipulation;
}

:where(input[type="file"]) {
	cursor: auto;
}

:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
	cursor: pointer;
}

/* Animate focus outline */
@media (prefers-reduced-motion: no-preference) {
	:focus-visible {
		transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
	}

	:where(:not(:active)):focus-visible {
		transition-duration: 0.25s;
	}
}

:where(:not(:active)):focus-visible {
	outline-offset: 5px;
}

/* Make sure users can't select button text */
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	user-select: none;
	text-align: center;
}

/* Disabled cursor for disabled buttons */
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled] {
	cursor: not-allowed;
}







.offscreen {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px; 
}

.skipLink {
	position: fixed;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	z-index: 300;
	padding: 1em 2em;
	
	background-color: $color__turkiz;
	color: #000;
}

.skipLink.offscreen:focus {
	clip: auto;
	height: auto;
	over.: auto;
	position: absolute;
	width: auto;
}

.icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	
	fill: currentColor;
	pointer-events: none;
}


.masterWrapper {
	min-height: 100vh;
	display: flex;
	
	flex-direction: column;
}

.masterWrapper > * {
	flex: 0 0 auto;
}

.masterWrapper__body {
	flex: 1 1 auto;
}

.wrapper__masterLayout {
	flex: 1 0 auto;
}

@supports (display: var(--grid)) {
	.wrapper__masterLayout {
		display: grid;
		grid-template-columns: var(--bodyOffset) repeat(2, 1fr) var(--bodyOffset);
		gap: 0.5em;
		
		align-content: start; 
	}
	
	.wrapper__masterLayout > * {
		grid-column: 2 / 4;
	}
	
	@media (min-width: 65em) {
		.wrapper__masterLayout {
			grid-template-columns: var(--bodyOffset) repeat(9, 1fr) var(--bodyOffset);
		}
		
		.wrapper__masterLayout > * {
			grid-column: 2 / 11;
		}
	} 
}



.w {
	display: grid;
	grid-template-columns: 
		calc(var(--wrapper__padding) - (var(--wrapper__gridGap) * 2)) 
		repeat(12, minmax(1em, 1fr)) 
		calc(var(--wrapper__padding) - (var(--wrapper__gridGap) * 2));
	
	align-content: start; 
	column-gap: var(--wrapper__gridGap);
}

:where(.w > *) {
	grid-column: 1 / -1;
}

	.ws { 
		display: grid;
		grid-template-columns: subgrid;
	}
	
		:where(.ws > *), 
		.ws__inner {
			grid-column: var(--wrapper__gridOffset);
		}
		
		
	
	.ws--pad {
		padding: var(--wrapper__padding) 0;
	}
	
	.ws--pad.theme--white + .ws--pad.theme--white {
		padding-top: 0;
	}

.stack > * + * {
	margin-top: var(--flow-space, 1.5rem);
}





.logo {
	width: 10em;
}

	.logo svg {
		width: 100%;
		aspect-ratio: 500 / 115;
	}
	
	.logo path {
		fill: #fff;
		stroke: none;
	}



@media (max-width: 70em) {
	#nav {
		display: none;
	}
}

@media (max-width: 100em) {
	#nav ul li a span {
		display: none;
	}
}

#nav a {
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
}

#nav ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2em;
}

#nav ul li a:hover {
	color: var(--color__yellow);
}

.home #nav ul li:first-child {
	display: none;
}

#nav ul li:last-child {
	background-color: var(--color__yellow);
	padding: 0.6em 3.5em 0.6em 1em;
	
	background-image: url('data:image/svg+xml,<svg width="100%" height="100%" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M385.947,131.374l-296.992,296.992l-17.349,-17.348l296.963,-296.963l-139.138,5.099l-1.127,-31.903l191.402,-6.957l-6.957,191.402l-31.903,-1.127l5.101,-139.195Z" style="fill:white;" /></svg>');
	background-size: 1.7em 1.7em;
	background-position: calc(100% - 1em) center;
	
	transition: background-color .3s;
	animation: bgBlink 1s ease 8;
}

	#nav ul li:last-child:hover {
		background-color: var(--color__navy);
		
		background-image: url('data:image/svg+xml,<svg width="100%" height="100%" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M385.947,131.374l-296.992,296.992l-17.349,-17.348l296.963,-296.963l-139.138,5.099l-1.127,-31.903l191.402,-6.957l-6.957,191.402l-31.903,-1.127l5.101,-139.195Z" style="fill:white;" /></svg>');
		background-size: 1.7em 1.7em;
		background-position: calc(100% - 1em) center;
	}

@keyframes bgBlink {
	0% {
		background-color: var(--color__yellow);
	}
	15% {
		background-color: var(--color__yellow);
	}
	50% {
		background-color: var(--color__navy);
	}
	85% {
		background-color: var(--color__yellow);
	}
	100% {
		background-color: var(--color__yellow);
	}
}


.btnDonate {
	position: absolute;
	bottom: 4.1rem;
	left: 0;
	z-index: 10;
	
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	
	text-decoration: none;
	text-transform: uppercase;
	font-size: var(--size1);
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
		
	transition: background .3s;
	
	background: linear-gradient(65deg, #FBB03B, #298ba8, #023247);
	background-size: 400% 400%;
	animation: gradient 6s ease infinite;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

	.btnDonate:hover {
		background: var(--color__navy);
	}
	
	.btnDonate > div {
		display: inline-block;
		padding: 0.6em 3.5em 0.6em 1em;
		
		background-image: url('data:image/svg+xml,<svg width="100%" height="100%" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M385.947,131.374l-296.992,296.992l-17.349,-17.348l296.963,-296.963l-139.138,5.099l-1.127,-31.903l191.402,-6.957l-6.957,191.402l-31.903,-1.127l5.101,-139.195Z" style="fill:white;" /></svg>');
		background-size: 1.7em 1.7em;
		background-position: calc(100% - 1em) center;
	}
	
	.btnDonate em {
		display: none;
	}
	
	.isLive #nav ul li a[href*='youtube.com'],
	.isLive #nav ul li a[href*='#live'] {
		position: relative;
		padding: 0.6em 2.5em 0.6em 1em;
		
		background-color: var(--color__turkiz);
		font-weight: 600;
	}
	
	.isLive #nav ul li a[href*='youtube.com'],
	.isLive #nav ul li a[href*='#live']:after {
		position: absolute;
		top: 50%;
		right: 1em;
		transform: translateY(-50%);		
		
		display: inline-block;
		width: 1em;
		height: 1em;
		
		content: "";
		border-radius: 50%;
		background-color: #ED2939;
		animation: liveResults 1.4s cubic-bezier(1, -1, 0, 2) infinite; 
	}	
		
	@keyframes liveResults {
		0% {
			background-color: #ED2939; 
		}
		
		50% {
			background-color: #fff; 
		}
		
		100% {
			background-color: #ED2939; 
		} 
	}

	



.header {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
	
	
	display: flex;
	gap: 1em;
	align-items: center;
	justify-content: space-between;
	font-size: 1rem;
	
	padding: var(--wrapper__padding);
}



.lang {
	position: absolute;
	right: var(--wrapper__padding);
	top: 1rem;
	
	color: #fff;
	text-decoration: none;
	font-size: var(--size-1);
}

.pretitle {
	position: relative;
	padding-left: calc(var(--pretitle__length) + 1rem);
	
	color: var(--color__yellow);
	font-weight: 400;
	text-transform: uppercase;
	font-size: var(--size0);
}

	
	
	.pretitle:after {
		position: absolute;
		left: 0;
		top: 0.9em;
		
		height: 1px;
		width: var(--pretitle__length);
		background-color: var(--color__yellow);
		content: "";
	}

.b {
	display: inline-block;
	margin: 0;
	padding: 0.5em 1em;
	
	background-color: transparent;
	border: 0;
	
	transition: color .3s,
				border-color .3s,
				background-color .3s;
}

.b:is(a) {
	text-decoration: none;
}

.b--plain {
	padding: 0;
}

.b:has(.icon) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
} 

.b--icon {
	padding: 0.5em;
}

.b--arrow {
	padding: 0.5em;
	background-color: var(--color__yellow);
	color: #fff;
}

	.b--arrow .icon {
		transform: rotate(-45deg);
		font-size: var(--size2);
	}
	
	.b--arrow:hover {
		background-color: var(--color__navy);
	}
	
.b--primary {
	background-color: var(--color__yellow);
	color: #fff;
}

	.b--primary:hover {
		background-color: var(--color__navy);
		color: #fff;
	}

.b--ghost {
	color: #000;
	background-color: transparent;
	border: 1px solid currentColor;
}

	.b--ghost:hover {
		color: var(--color__yellow);
	}

.b--back .icon {
	transform: rotate(180deg);
}


.arrowLink {
	display: flex;
	align-items: center;
	gap: 0.7em;
	
	/* font-size: var(--size1); */
	font-weight: 700;
	color: #000;
	text-decoration: none;
	line-height: 1;
}

	.arrowLink:hover {
		color: var(--color__yellow);
	}
	
	.arrowLink:hover .b--arrow {
		background-color: var(--color__navy);
	}


.footer {
	padding: var(--wrapper__paddingLarge);
	
	background-color: var(--color__navy);
	color: #fff;
}

.footer__share {
	margin-top: 3em;
}

.sm {
	display: flex;
	gap: 1em;
}

.sm a {
	display: inline-flex; 
	align-items: center;
	justify-content: center;
	width: 1.6em;
	height: 1.6em;
	flex: 0 0 auto;
	
	font-size: var(--size2);
	color: var(--color__navy);
	background-color: #fff;
	border-radius: 50%;
	transition: background-color .3s;
}

	.sm a:hover {
		background-color: var(--color__yellow);
	}

.copyright {
	margin-top: 3em;
	
	font-size: var(--size-2);
	text-align: center;
}

.copyright .memento {
	color: #98F4B2;
	text-decoration: none;
	font-weight: 600;
}

	.copyright .memento:hover {
		color: var(--color__yellow);
	}

.wShare {
	display: flex;
	gap: 2em;
}

.wShare__link {
	display: inline-flex;
	align-items: center;
	padding: 0.1em 0.3em;
	
	background-color: var(--color__silver);
	color: #fff;
	border-radius: 3px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

.wShare__link span {
	margin-left: 0.25em;
	padding: 0 0.7em;
	font-size: var(--size-1);
	border-left: 2px solid rgba(0, 0, 0, 0.2);
}

.wShare__link--fb {
	background-color: var(--color__facebook);
}

.wShare__link--li {
	background-color: var(--color__linkedin);
}

.theme {
	
}

.theme--turkiz {
	background-color: var(--color__turkiz);
	color: #fff;
}



@media (min-width: 48em) {
	.ws--pad {
		padding-top: var(--wrapper__paddingLarge);
		padding-bottom: var(--wrapper__paddingLarge);
	}
	
	.footer .sm {
		padding-left: calc(var(--pretitle__length) + 1rem)
	}
	
	.wShare {
		padding-left: calc(var(--pretitle__length) + 1rem)
	}
	
	.btnDonate em {
		display: inline;
	}
	
	.btnDonate {
		bottom: 5.2rem;
	}
}

@media (min-width: 70em) {
	.ws__A {
		grid-column: var(--wrapper__gridOffset);
	}
	
	.ws__B {
		grid-column: calc(var(--wrapper__gridOffsetLeft) + 1) / calc(var(--wrapper__gridOffsetRight) - 1);
	}
	
	html {
		scroll-padding-top: 8em;
	}
	
	
	.header {
		padding: 2em 2em 1em 1em;
	}
	
	.btnDonate {
		bottom: 5.5rem;
	}
	
	.header.static {
		position: static;
		background-color: var(--color__navy);
	}
	
	.scrolled .header {
		background-color: var(--color__navy);
	}
	
	.lang {
		right: calc(var(--wrapper__padding) + var(--wrapper__gridGap));
		top: 5.5rem;
	}
	
	#nav ul {
		flex-direction: row;
		justify-content: flex-end;
	}
	
	
	.footer__sm {
		grid-column-end: 8;
	}
	
	.footer__share {
		margin-top: 0;
		grid-column-start: 8; 
	}
}


@media (min-width: 90em) {
	.header {
		padding-left: var(--wrapper__paddingLarge);
	}
	
	.logo {
		width: 14em;
	}
	
	.ws--pad {
		padding-top: calc(var(--wrapper__paddingLarge) * 2);
		padding-bottom: calc(var(--wrapper__paddingLarge) * 2);
	}
	
	.pretitle {
		font-size: var(--size-1);
	}
	
	.footer__sm {
		grid-column-start: 3;
	}
}





















.chromeframe { 
    background: var(--color__select); 
    color: #fff; 
    padding: 2em 2em; 
	z-index: 9999; 
	position: fixed;  
	bottom: 0; 
	width: 100%; 
	font-size: 1.6em; 
}

.chromeframe a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #fff;
}

.variables-debug {
	display: none;
}

.variables-debug--active {
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 70%;
	padding: 1em;
	
	background-color: #39CCCC;
	color: #000;
}

.lockWarning {
	width: 4px; 
	height: 100%;
	position: fixed; 
	right: 0; 
	top: 0; 
	z-index: 500; 
	
	background-color: #f00;
	font-size: 10px;
	color: #000;	
}

.lockWarning:hover {
	padding: 1em;
	width: 200px; 
}






















