@charset "UTF-8";

/***************************/
/***************************/
/********** STYLE **********/
/***************************/
/***************************/

* {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
}
html {
	font-size:100%;
}
html,
input,
textarea,
select,
button {
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	-webkit-text-size-adjust:100%;
}
h1, h2, h3, h4, h5, h6,
ul, ol,
p, a, span,
blockquote, label, div, table,
input, textarea, button, select {
	margin:0;
	padding:0;
	font-weight:inherit;
}
p {
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}
sup {
	line-height: 0;
}
pre {
	font-family: inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
	white-space: unset;
}
b, strong, del,
i, em {
	font-size:inherit;
	line-height:inherit;
}

/********** HR **********/

hr {
	width:100%;
	border:0;
	border-bottom:var(--primary-color) solid var(--border-width);
}
hr.blank {
	border:0 !important;
}

/********** LIST + INLINE **********/

.list > * {
	display:block;
}
.inline {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
}
.inline > * {
	display:inline-block;
	vertical-align:middle;
}

/********** SVG **********/

svg {
	display:block;
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
	-webkit-backface-visibility:hidden;
	   -moz-backface-visibility:hidden;
	        backface-visibility:hidden;
}

/********** IMG **********/

figure {
	display:block;
	height:auto;
	max-width:100%;
	margin:0;
	border:0;
}
img {
	display:block;
	height:auto;
	width:100%;
	margin:0 auto;
	border:0;
}

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

@media screen and (max-device-width:320px) {
	body {
		-webkit-text-size-adjust:none;
	}
}

/****************************/
/****************************/
/********** CUSTOM **********/
/****************************/
/****************************/

.hidden {
	position:absolute;
	font-size:0 !important;
	padding:0 !important;
}
.disabled {
	opacity:.5;
	pointer-events:none;
}
.centered {
	text-align:center;
}
.important {
	font-size:1.5em;
}

/*****************************/
/********** IS-LAST **********/
/*****************************/

.is-last {
	margin-left:auto !important;
}
.columns .is-last {
	margin-left:auto !important;
	min-width:auto;
	white-space:nowrap;
	-webkit-box-flex:0;
	-webkit-flex-grow:0;
	   -moz-box-flex:0;
	    -ms-flex-positive:0;
	        flex-grow:0;
}

/***************************/
/***************************/
/********** POSTS **********/
/***************************/
/***************************/

.post-header .infos {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	-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: start;
	-webkit-align-items: flex-start;
	   -moz-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap:.75em 1em;
}
.post-header .infos > * {
	margin:0;
}
.post-header .thumbnail {
	-webkit-border-radius: var(--border-radius);
	   -moz-border-radius: var(--border-radius);
	        border-radius: var(--border-radius);
	aspect-ratio: unset;
	-o-object-fit: contain;
	   object-fit: contain;
}
.post-header .thumbnail img {
	height:auto;
}
.post-header + *,
.post-header > * + * {
	margin-top:var(--global-spacing);
}
.post-header:after {
	content:"";
	display:block;
	height:0;
	width:100%;
	border-bottom:solid var(--line-height);
	padding-bottom:var(--global-spacing);
}

/********** POST INFOS **********/

.post-infos {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap:.75em 1em;
	font-size:.875em;
	line-height: 1em;
}
.post-infos > * {
	margin: 0;
}
.post-date:before,
.post-author:before {
	font-family:'icomoon';
	font-size:.75em;
	line-height:inherit;
	margin-right:.5em;
}
.post-author span {
	display: inline;
	padding-bottom: var(--line-height);
	text-shadow: none;
	-webkit-text-decoration-line: underline;
	   -moz-text-decoration-line: underline;
	        text-decoration-line: underline;
	-webkit-text-decoration-color: transparent;
	   -moz-text-decoration-color: transparent;
	        text-decoration-color: transparent;
	text-decoration-thickness: var(--line-height);
	text-underline-position: from-font;
}
a.post-author:hover {
	color:var(--primary-color);
}
a.post-author:hover span {
	color:inherit;
	-webkit-text-decoration-color: inherit;
	   -moz-text-decoration-color: inherit;
	        text-decoration-color: inherit;
}

/********** POST LINK **********/

.post-link {
	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;
	gap:.5em;
	font-size: .625em;
	line-height:1em;
	text-transform: uppercase;
	padding:.75em 1.25em;
	background:var(--light-color);
	-webkit-border-radius: var(--border-radius);
	   -moz-border-radius: var(--border-radius);
	        border-radius: var(--border-radius);
}
.post-link:hover {
	-webkit-filter:brightness(var(--darker-brightness));
	        filter:brightness(var(--darker-brightness));
}
.post-link:after {
	font-family: "icomoon";
	font-size:.75em;
	line-height: 1em;
	padding-left: 1em;
}

/********** POST TYPES **********/

.post-types {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap:.7em 1em;
	font-size: .875em;
	line-height:1em;
}
.post-types a {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap:.5em;
	color:var(--primary-color);
}
.post-types a:before {
	font-family: "icomoon";
	font-size:.75em;
}
.post-types a:hover {
	-webkit-filter:brightness(var(--darker-brightness));
	        filter:brightness(var(--darker-brightness));
}

/****************************/
/****************************/
/********** TITLES **********/
/****************************/
/****************************/

h1,
h2,
h3,
h4,
h5,
h6,
.title {
	color:var(--primary-color);
}

/********** WITH LABELS **********/

h1 .label,
h2 .label,
h3 .label,
h4 .label,
h5 .label,
h6 .label {
	position:absolute !important;
	left:0 !important;
	font-size:0 !important;
	pointer-events:none;
}

/****************************/
/****************************/
/********** IFRAME **********/
/****************************/
/****************************/

iframe {
	max-width:100%;
	border:none;
}
iframe.full {
	width:100%;
}
.iframe-container {
	position:relative;
	-webkit-background-size:cover !important;
	   -moz-background-size:cover !important;
	     -o-background-size:cover !important;
	        background-size:cover !important;
	background-position:center center !important;
	min-height:2rem;
	width:100%;
	padding:56.25% 0 0 0 !important;
	background:var(--light-color);
}
.iframe-container iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/********** MEDIAPLAYER **********/

iframe.mediaplayer {
	height:100%;
	width: 100%;
	aspect-ratio: 16/9;
}

/*******************************/
/*******************************/
/********** IMG / SVG **********/
/*******************************/
/*******************************/

/*
img
svg
picture
.background
*/

/********** IMG **********/

img.full {
	display:block;
	height:auto;
	width:100%;
	margin:0 auto;
}

/********** IMG WITHIN TEXT **********/

.alignleft {
	float:left;
	margin-right:var(--global-spacing);
	margin-bottom:-webkit-calc(var(--global-spacing) / 2);
	margin-bottom:-moz-calc(var(--global-spacing) / 2);
	margin-bottom:calc(var(--global-spacing) / 2);
}
.alignright {
	float:right;
	margin-left:var(--global-spacing);
	margin-bottom:-webkit-calc(var(--global-spacing) / 2);
	margin-bottom:-moz-calc(var(--global-spacing) / 2);
	margin-bottom:calc(var(--global-spacing) / 2);
}
.aligncenter {
    display:block;
}
.alignleft:after,
.alignright:after,
.aligncenter:after {
	content:"";
    display:block;
    clear:both;
}

/********** SVG **********/

figure > svg {
	display:block;
	height:100%;
	width:100%;
	margin:0 auto;
}

/*******************************/
/*******************************/
/********** THUMBNAIL **********/
/*******************************/
/*******************************/

.thumbnail {
	position:relative;
	aspect-ratio:1/1;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
}
.thumbnail img {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

/********** WITH ANCHOR **********/

.thumbnail a {
	position: relative;
	display:block;
	aspect-ratio: inherit;
}
.thumbnail a:before {
	content:'';
	position:absolute;
	z-index: 10;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:var(--primary-color);
	-webkit-filter:brightness(var(--darker-brightness));
	        filter:brightness(var(--darker-brightness));
	pointer-events: none;
	mix-blend-mode: overlay;
	opacity:0;
}
.thumbnail a:hover img {
	-webkit-filter:grayscale(1);
	        filter:grayscale(1);
}
.thumbnail a:hover:before {
	opacity: 1;
}

/***************************/
/***************************/
/********** ICONS **********/
/***************************/
/***************************/

.icon {
	position:relative;
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
	aspect-ratio:1/1;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	padding:1em;
}
.icon > * {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

/********** ICONS **********/
/* as columns */

.icons {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	margin-left:auto;
	margin-right:auto;
}
.icons > * {
	-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;
	display:inline-block;
	margin:0;
}
.icons .title {
	display:block;
	margin-top:2em;
}

/********** COLORS **********/

.icon svg,
.icon svg > * {
	fill:inherit;
}
section.is-secondary-colored .icon {
	fill:var(--bright-color);
	background:var(--primary-color);
}

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

@media (min-width:0px) {
	.icons {
		gap:1em;
		max-width:30rem;
	}
	.icon {
		max-width:6rem;
	}
}
@media (min-width:1000px) {
	.icons {
		gap:2em;
		max-width:45rem;
	}
	.icon {
		max-width:10rem;
	}
}

/********************************/
/********************************/
/********** BACKGROUND **********/
/********************************/
/********************************/

.background-container {
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	right:-100%;
	height:100%;
	width:auto;
	overflow:hidden;
	padding:0 !important;
	margin:0 !important;
}
.background {
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	margin:0 !important;
	padding:0 !important;
	max-width:none;
	-webkit-background-size:cover !important;
	   -moz-background-size:cover !important;
	     -o-background-size:cover !important;
	        background-size:cover !important;
	background-repeat:no-repeat !important;
	background-position:center center !important;
}
.background.contain {
	-webkit-background-size:contain !important;
	   -moz-background-size:contain !important;
	     -o-background-size:contain !important;
	        background-size:contain !important;
	background-position:left !important;
}

/********** BACKGROUND CONTENT **********/

.background > * {
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.background.contain > * {
	-o-object-fit: contain;
	   object-fit: contain;
}

/********** BACKGROUND POSITIONS **********/

.bg-top-left {
	background-position:top left !important;
}
.bg-top-center {
	background-position:top center !important;
}
.bg-top-right {
	background-position:top right !important;
}
.bg-center-left {
	background-position:center left !important;
}
.bg-center-right {
	background-position:center right !important;
}
.bg-bottom-left {
	background-position:bottom left !important;
}
.bg-bottom-center {
	background-position:bottom center !important;
}
.bg-bottom-right {
	background-position:bottom right !important;
}

/********************************/
/********************************/
/********** RESPONSIVE **********/
/********************************/
/********************************/

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

@media (max-width:1000px) {
	.only-desktop {
		visibility:hidden;
		display:none !important;
	}
}
@media (min-width:1000px) {
	.only-mobile {
		visibility:hidden;
		display:none !important;
	}
}

/*****************************/
/*****************************/
/********** ANCHORS **********/
/*****************************/
/*****************************/

/********** DEFAULT INLINE **********/

a {
	position:relative;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
	outline:0;
	text-decoration:none;
}
p a,
li a {
	cursor:pointer;
	border-bottom:solid var(--line-height);
}
p a:hover,
li a:hover {
	border-bottom:solid var(--line-height) transparent;
}

/********** WITH LABELS **********/

a .label,
button .label {
	position:absolute !important;
	left:0 !important;
	font-size:0 !important;
	pointer-events:none;
}

/********** MORE-LINK **********/

.more-link {
	position:absolute;
	z-index:10;
	top:0;
	left:0;
	height:100%;
	width:100%;
}

/********** BEHAVIOURS **********/

:focus {
	outline-color:transparent;
	outline-style:none;
}

/********************************/
/********************************/
/********** COLUMNIZER **********/
/********************************/
/********************************/

/*
data-columns= 2 / 3 / 4
2 == default
*/

.columnizer .break {
	-webkit-column-break-before:always;
	   -moz-column-break-before:always;
	        break-before:always;
	padding-top:0;
}

/********** SPACING **********/

.columnizer > * + * {
	padding:0;
	margin:0 0 1rem 0;
}
.columnizer > *:not(:last-child) {
	margin-bottom:1rem;
}
.columnizer > li:not(:last-child),
.columnizer > ul li:not(:last-child),
.columnizer > ol li:not(:last-child) {
	margin:0;
}

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

@media (min-width:760px) {
	.columnizer {
		-webkit-column-count:2;
		   -moz-column-count:2;
		        column-count:2;
		-webkit-column-gap:2rem;
		   -moz-column-gap:2rem;
		        column-gap:2rem;
	}
}
@media (min-width:1000px) {
	.columnizer[data-columns="3"] {
		-webkit-column-count:3;
		   -moz-column-count:3;
		        column-count:3;
	}
	.columnizer[data-columns="4"] {
		-webkit-column-count:4;
		   -moz-column-count:4;
		        column-count:4;
	}
}

/*****************************/
/*****************************/
/********** UL / OL **********/
/*****************************/
/*****************************/

/********** DEFAULT **********/

ul,
ol {
	list-style-position:outside;
}
ul li + li,
ol li + li {
	margin-top:.5em;
	margin-top:-webkit-calc(var(--global-spacing) / 2);
	margin-top:-moz-calc(var(--global-spacing) / 2);
	margin-top:calc(var(--global-spacing) / 2);
}

/********** UL **********/

ul li {
	list-style-type: disc;
	margin-left:1em;
	padding-left:.25em;
}

/********** OL **********/

ol li {
	position:relative;
	display:block;
	counter-increment:step-counter;
	padding-left: 1.25em;
	text-align:left !important;
}
ol li:before {
	content:counter(step-counter);
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	text-align:center;
}