@charset "UTF-8";

/****************************/
/****************************/
/********** GLOBAL **********/
/****************************/
/****************************/

html, body {
	margin:0;
	padding:0;
	border:0;
	height:100%;
	width:100%;
}

/********** BODY **********/

body {
	-webkit-overflow-scrolling:touch;
	color:var(--dark-color);
	text-shadow:0 0 0;
	background:var(--light-color);
}

/********** WRAPPER **********/
/* flex == footer at bottom */

#wrapper {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	   -moz-box-orient:vertical;
	   -moz-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	min-height:100%;
	background:inherit;
}

/********** MAIN **********/

main {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	   -moz-box-orient:vertical;
	   -moz-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	padding:0;
	margin:0;
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	width:100%;
	background:var(--bright-color);
}

/****************************/
/****************************/
/********** HEADER **********/
/****************************/
/****************************/

header {
	position:-webkit-sticky;
	position:sticky;
	z-index:1300;
	top:0;
	pointer-events:none;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-webkit-flex-direction:row;
	   -moz-box-orient:horizontal;
	   -moz-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	   -moz-box-align:stretch;
	    -ms-flex-align:stretch;
	        align-items:stretch;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	   -moz-box-pack:justify;
	    -ms-flex-pack:justify;
	        justify-content:space-between;
	background:var(--bright-color);
	min-height:var(--header-height);
	-webkit-filter: drop-shadow(0 .25em .25em rgba(var(--dark-rgb),.33));
	        filter: drop-shadow(0 .25em .25em rgba(var(--dark-rgb),.33));
}
header > * {
	z-index:10;
	pointer-events:auto;
	margin:0;
}

/********** HEADING **********/

header .heading {
	z-index:1500;
}

/********** INDEX **********/

header .index {
	display:block;
	padding:1em 2em;
}
header .index .logo {
	height:2em;
}

/********** @MEDIA **********/

/** mobile **/
@media (max-width:1000px) {
	header nav.secondary {
		padding:1em;
	}
	header:after {
		content:"";
		position: absolute;
		z-index:1450;
		top:0;
		left:0;
		height:var(--header-height);
		width:100%;
		background:var(--bright-color);
	}
}
/** desktop **/
@media (min-width:1000px) {
	header nav.secondary {
		display:none;
	}
}

/****************************/
/****************************/
/********** FOOTER **********/
/****************************/
/****************************/

footer {
	position:relative;
	z-index:1200;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-webkit-flex-direction:row;
	   -moz-box-orient:horizontal;
	   -moz-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	   -moz-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width:100%;
	pointer-events:none;
	overflow:hidden;
	line-height: 1em;
	padding:-webkit-calc(var(--gutter-gap) / 2);
	padding:-moz-calc(var(--gutter-gap) / 2);
	padding:calc(var(--gutter-gap) / 2);
	margin:0 !important;
	background: var(--bright-color);
	min-height: var(--footer-height);
}
footer > * {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-webkit-flex-direction:row;
	   -moz-box-orient:horizontal;
	   -moz-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	-webkit-box-align:baseline;
	-webkit-align-items:baseline;
	   -moz-box-align:baseline;
	    -ms-flex-align:baseline;
	        align-items:baseline;
	gap:1em;
	pointer-events:auto;
	margin:0;
}
footer > * > * {
	margin:0;
}
.footer-section {
	margin: 0;
}

/********** @MEDIA **********/

/** mobile **/
@media (max-width:1000px) {
	footer .copyright {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		   -moz-box-orient: vertical;
		   -moz-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		font-size:.75em;
	}
	footer nav.secondary {
		display:none;
	}
	footer .columns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		   -moz-box-orient: vertical;
		   -moz-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap:1rem;
	}
	footer section.min .content {
		padding:var(--section-padding);
	}
}
/** desktop **/
@media (min-width:1000px) {
	footer .button.cta {
		font-size: 1em;
	}
}

/******************************/
/******************************/
/********** SECTIONS **********/
/******************************/
/******************************/

section {
	position:relative;
	z-index:10;
	clear:both;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	overflow:initial;
	width:100%;
	padding:0 !important;
}
section > * {
	position:relative;
	z-index:10;
	width:100%;
	padding:var(--section-padding);
}

/********** CONTENT / ASIDE **********/

section.min .content {
	padding:-webkit-calc(var(--section-padding) / 2);
	padding:-moz-calc(var(--section-padding) / 2);
	padding:calc(var(--section-padding) / 2);
}
section .content + aside {
	margin-left:0rem;
}

/********** ASIDE **********/

section aside {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	background:var(--light-color);
}
section aside > * {
	margin:0;
}

/********** ASIDE .SECTIONS **********/

aside .section {
	position:relative;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	width:100%;
	background:var(--bright-color);
	overflow:visible;
}
aside .section:after {
	content:"";
	position:absolute;
	z-index: -1;
	top:.25em;
	left:.25em;
	height:-webkit-calc(100% - -webkit-calc(var(--border-radius) * 2));
	height:-moz-calc(100% - -moz-calc(var(--border-radius) * 2));
	height:calc(100% - calc(var(--border-radius) * 2));
	width:-webkit-calc(100% - -webkit-calc(var(--border-radius) * 2));
	width:-moz-calc(100% - -moz-calc(var(--border-radius) * 2));
	width:calc(100% - calc(var(--border-radius) * 2));
	-webkit-border-radius:inherit;
	   -moz-border-radius:inherit;
	        border-radius:inherit;
	background:inherit;
	-webkit-filter:drop-shadow(0 0 .5em rgba(44,42,42,.33));
	        filter:drop-shadow(0 0 .5em rgba(44,42,42,.33));
}
aside .section:first-child {
	-webkit-border-radius:-webkit-calc(var(--border-radius) * 2) -webkit-calc(var(--border-radius) * 2) 0 0;
	   -moz-border-radius:-moz-calc(var(--border-radius) * 2) -moz-calc(var(--border-radius) * 2) 0 0;
	        border-radius:calc(var(--border-radius) * 2) calc(var(--border-radius) * 2) 0 0;
}
aside .section:last-child {
	-webkit-border-radius:0 0 -webkit-calc(var(--border-radius) * 2) -webkit-calc(var(--border-radius) * 2);
	   -moz-border-radius:0 0 -moz-calc(var(--border-radius) * 2) -moz-calc(var(--border-radius) * 2);
	        border-radius:0 0 calc(var(--border-radius) * 2) calc(var(--border-radius) * 2);
}
aside .section + .section {
	border-top:solid var(--border-radius) var(--light-color);
}
.section .content {
	width:100%;
}
aside nav.filters {
	-webkit-box-pack:start;
	-webkit-justify-content:flex-start;
	   -moz-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
}

/********** SECTION BLOCK **********/

section.block .content {
	padding:var(--global-spacing);
	-webkit-border-radius: -webkit-calc(var(--border-radius) * 2);
	   -moz-border-radius: -moz-calc(var(--border-radius) * 2);
	        border-radius: calc(var(--border-radius) * 2);
}

/********** SECTION COVER **********/
/* for 404 */

section.cover {
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	   -moz-box-align:stretch;
	    -ms-flex-align:stretch;
	        align-items:stretch;
	min-height:-webkit-calc(100svh - var(--header-height) - var(--footer-height));
	min-height:-moz-calc(100svh - var(--header-height) - var(--footer-height));
	min-height:calc(100svh - var(--header-height) - var(--footer-height));
}
section.cover .content {
	margin-top:auto;
	margin-bottom: auto;
}

/********** @MEDIA **********/

/** mobile **/

@media (max-width:1000px) {
	section {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		   -moz-box-orient:vertical;
		   -moz-box-direction:normal;
		    -ms-flex-direction:column;
		        flex-direction:column;
	}
	section aside > * {
		-webkit-box-flex:1;
		-webkit-flex-grow:1;
		   -moz-box-flex:1;
		    -ms-flex-positive:1;
		        flex-grow:1;
		-webkit-flex-basis:0;
		    -ms-flex-preferred-size:0;
		        flex-basis:0;
		padding:var(--section-padding);
	}
	section aside > .section.full {
		-webkit-flex-basis:100%;
		    -ms-flex-preferred-size:100%;
		        flex-basis:100%;
	}
}
/** desktop **/
@media (min-width:1000px) {
	section {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		   -moz-box-orient: horizontal;
		   -moz-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-align:stretch;
		-webkit-align-items:stretch;
		   -moz-box-align:stretch;
		    -ms-flex-align:stretch;
		        align-items:stretch;
	}
	section > * {
		-webkit-flex-basis:0;
		    -ms-flex-preferred-size:0;
		        flex-basis:0;
	}
	section .content {
		-webkit-box-ordinal-group:2;
		-webkit-order:1;
		   -moz-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
		-webkit-box-flex:3;
		-webkit-flex-grow:3;
		   -moz-box-flex:3;
		    -ms-flex-positive:3;
		        flex-grow:3;
		width:60%; /* for aside */
	}
	section aside {
		min-width: 40%;
		-webkit-box-ordinal-group:3;
		-webkit-order:2;
		   -moz-box-ordinal-group:3;
		    -ms-flex-order:2;
		        order:2;
		-webkit-box-flex:1;
		-webkit-flex-grow:1;
		   -moz-box-flex:1;
		    -ms-flex-positive:1;
		        flex-grow:1;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		   -moz-box-orient:vertical;
		   -moz-box-direction:normal;
		    -ms-flex-direction:column;
		        flex-direction:column;
	}
	section aside > * {
		padding:-webkit-calc(var(--section-padding) / 2);
		padding:-moz-calc(var(--section-padding) / 2);
		padding:calc(var(--section-padding) / 2);
	}
}
@media (min-width:1800px) {
	section .content {
		width:70%;
	}
	section aside {
		min-width: 30%;
	}
}