@charset "UTF-8";

/***************************/
/***************************/
/********** ADMIN **********/
/***************************/
/***************************/

#wpadminbar {
	background:var(--dark-color);
}

/***************************/
/***************************/
/********** 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;
}
b, strong, del,
i, em {
	font-size:inherit;
	line-height:inherit;
}

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

hr {
	width:100%;
	border:0;
	border-bottom: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;
	max-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;
}
.highlighted {
	color:var(--primary-color);
	font-weight:bold;
}

/********** 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;
}

/********** TITLE **********/

.title {
	display:block;
}

/********** COUNTUP **********/

.countUp {
	display:inline-block;
}

/********** DATA **********/

.data.columns,
.data.columns .countUp {
	font-size:2em;
}

/********** INTERVIEW **********/

.interview {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	gap:1em;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.interview > * {
	margin:0;
}

/********** FOOTER **********/
/*
.copyright {
	display:block;
	font-size:.625em;
	line-height:1em;
	text-transform:uppercase;
	padding:1em 1.25em;
}
*/

/********************************/
/********** BLOCKQUOTE **********/
/********************************/

blockquote.important {
	font-size:2em;
}
blockquote > * {
	display:inline;
}
blockquote cite {
	font-size:.875em;
	font-style: normal;
	font-weight: 700;
}
blockquote cite:before {
	content:"— ";
}


@media (min-width:0px) {
	
}
@media (min-width:1200px) {
	section.focus blockquote.important {
		max-width:60%;
	}
}

/****************************/
/****************************/
/********** MEDIAS **********/
/****************************/
/****************************/

/*
.mediaplayer == default
.mediaplayer.youtube == for youtube video
> data-background == for background image / if none youtube default
> id == video id
.mediaplayer-container == for overlay max-width 1024px
*/

/********** RATIOS **********/

.aspect-ratio-1-1 {
	aspect-ratio:1/1;
}
.aspect-ratio-2-3 {
	aspect-ratio:2/3;
}
.aspect-ratio-16-9 {
	aspect-ratio:16/9;
}

/** containing .aspect-ratio-xxx **/

[class*="aspect-ratio-"] > * {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: inherit;
}

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

.mediaplayer {
	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;
	height:100%;
	width:100%;
	aspect-ratio: 16/9;
}
.mediaplayer.audio {
	aspect-ratio: 32/9;
}
.mediaplayer:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:var(--light-color);
	opacity:.5;
}
.mediaplayer iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/********** MEDIAPLAYER-CONTAINER **********/

.mediaplayer-container {
	display:block;
	height:100%;
	width:100%;
	margin-right:auto;
	margin-left:auto;
}

/********** IF ASYNC MEDIAPLAYER **********/

.mediaplayer.youtube {
	cursor:pointer;
}
.mediaplayer.youtube:before {
	display:none;
}
.mediaplayer.loaded {
	display:block;
	padding:0 !important;
}
.mediaplayer .play {
	position:absolute;
	z-index:30;
	top:50%;
	left:50%;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	cursor:pointer;
	font-size:2.5em;
	line-height:1em;
	-webkit-transform:translate3d(-50%,-50%,0);
	   -moz-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
}
.mediaplayer.off {
	cursor:default;
	pointer-events:none;
}
.mediaplayer.off .play {
	display:none;
}

/********** HTML5 VIDEO **********/

video {
	display:block;
	height:auto;
	width:100%;
}
.mediaplayer.chrome video::-internal-media-controls-download-button {
	display:none;
}
.mediaplayer.chrome video::-webkit-media-controls-enclosure {
	overflow:hidden;
}
.mediaplayer.chrome video::-webkit-media-controls-panel {
	width:-webkit-calc(100% + 32px);
	width:calc(100% + 32px);
	margin-left:auto;
}

/****************************/
/****************************/
/********** 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%;
}

/*******************************/
/*******************************/
/********** 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:0 1rem 0 0;
}
.alignright {
	float:right;
	margin:0 0 0 1rem;
}
.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;
}

/********** LOGO **********/

.logo {
	display:inline-block;
	height:7rem;
	margin:0 auto;
}

/********** PARTNER **********/

.partner {
	aspect-ratio: 1/1;
}
.partner > * {
	height:100%;
	width:100%;
	object-fit: contain;
}

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

.img {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	max-width:8rem;
	margin:0 auto;
	aspect-ratio:1/1;
}

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

/*
ratio 1/1 : 100% / 100% (focus, event) == default
ratio 2/3 : 100% / 150% (portrait)
ratio 16/9 : 160 / 90 (block front)
*/

.thumbnail {
	position:relative;
	width:100%;
	background:var(--bright-color);
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
	overflow:hidden;
	margin:0 auto;
	aspect-ratio:1/1;
}
.thumbnail a,
.thumbnail video,
.thumbnail img {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: inherit;
}

/********** EMPTY **********/

.thumbnail.empty:after {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate3d(-50%,-50%,0);
	   -moz-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
	height:2em;
	width:2em;
	background:url(../images/bioed.svg) no-repeat;
	-webkit-filter:grayscale(1);
	        filter:grayscale(1);
	opacity:.5;
}

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

.thumbnail.member > * {
	-o-object-fit:contain;
	   object-fit:contain;
	padding:1em;
}

/********** SIZES **********/

.thumbnail.large {
	max-width:10rem;
}
.thumbnail.small {
	max-width:5rem;
}

/********************************/
/********************************/
/********** 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;
	pointer-events:none;
}
.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;
}

/************************/
/************************/
/********** FX **********/
/************************/
/************************/

#fx {
	position:fixed;
	z-index:-2;
	pointer-events:none;
}

/*****************************/
/********** FX-LINE **********/
/*****************************/

.fx-line {
	opacity:.25;
}

/******************************/
/********** FX-SHAPE **********/
/******************************/
/*
fx-shape-01 == label
fx-shape-02 == engagements
fx-shape-03 == parcours
*/

.fx-shape-01,
.fx-shape-02,
.fx-shape-03 {
	overflow:hidden;
}
.fx-shape-01 > *,
.fx-shape-02 > *,
.fx-shape-03 > * {
	position:absolute;
	left: 50%;
	height: auto;
	width:auto;
	aspect-ratio: 32/15;
	min-width: 200vw;
}
.fx-shape-01 > *,
.fx-shape-02 > * {
	bottom: 0;
}
.fx-shape-03 > * {
	top: 0;
}

/** mobile **/

@media (max-width:760px) {
	.fx-shape-01 > *,
	.fx-shape-02 > * {
		-webkit-transform: translate3d(-50%,33%,0);
		   -moz-transform: translate3d(-50%,33%,0);
		        transform: translate3d(-50%,33%,0);
	}
	.fx-shape-03 > * {
		-webkit-transform: translate3d(-50%,-20%,0);
		   -moz-transform: translate3d(-50%,-20%,0);
		        transform: translate3d(-50%,-20%,0);
	}
}

/** desktop **/

@media (min-width:760px) {
	.fx-shape-01 > *,
	.fx-shape-02 > * {
		-webkit-transform: rotate(10deg) translate3d(-50%,50%,0);
		   -moz-transform: rotate(10deg) translate3d(-50%,50%,0);
		        transform: rotate(10deg) translate3d(-50%,50%,0);
		-webkit-transform-origin: top left;
		   -moz-transform-origin: top left;
		    -ms-transform-origin: top left;
		     -o-transform-origin: top left;
		        transform-origin: top left;
	}
	.fx-shape-03 > * {
		-webkit-transform: translate3d(-60%,-50%,0);
		   -moz-transform: translate3d(-60%,-50%,0);
		        transform: translate3d(-60%,-50%,0);
		-webkit-transform-origin: bottom left;
		-moz-transform-origin: bottom left;
			-ms-transform-origin: bottom left;
			-o-transform-origin: bottom left;
				transform-origin: bottom left;
	}
}

/*****************************/
/********** CLIPPED **********/
/*****************************/

.clipped {
	position:relative;
}
.centered .clipped {	
	margin-left:auto;
	margin-right:auto;
}
.clipped > * {
	position:absolute;
	top:50%;
	left:50%;
	height:100%;
	width:100%;
	-webkit-transform:translate3d(-50%,-50%,0);
	   -moz-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
	-o-object-fit:cover;
	   object-fit:cover;
	-webkit-clip-path: url(#clip-mask);
	clip-path: url(#clip-mask);
}
.clipped.alt > * {
	-webkit-clip-path: url(#clip-mask-02);
	clip-path: url(#clip-mask-02);
}

/** custom **/

section.focus .clipped {
	max-width:20rem;
	aspect-ratio:1/1;
}
section .clipped {
	max-width:20rem;
	aspect-ratio:1/1;
}
.upscaled.clipped > * {
	height:85%;
	width:85%;
}

/******************************/
/********** UPSCALED **********/
/******************************/

section .upscaled {
	max-height:100%;
	-webkit-transform-origin: center left;
	   -moz-transform-origin: center left;
	    -ms-transform-origin: center left;
	     -o-transform-origin: center left;
	        transform-origin: center left;
	margin:auto;
}
.columns.reversed .upscaled {
	max-height:100%;
	-webkit-transform-origin: center left;
	   -moz-transform-origin: center left;
	    -ms-transform-origin: center left;
	     -o-transform-origin: center left;
	        transform-origin: center left;
}
section.focus .upscaled {
	max-height:100%;
	-webkit-transform-origin: center right;
	   -moz-transform-origin: center right;
	    -ms-transform-origin: center right;
	     -o-transform-origin: center right;
	        transform-origin: center right;
}
section.focus * + .upscaled {
	-webkit-transform-origin: center left;
	   -moz-transform-origin: center left;
	    -ms-transform-origin: center left;
	     -o-transform-origin: center left;
	        transform-origin: center left;
}

/** desktop **/

@media (min-width:760px) {
	section.focus .upscaled {
		-webkit-transform:scale(3);
		   -moz-transform:scale(3);
		    -ms-transform:scale(3);
		     -o-transform:scale(3);
		        transform:scale(3);
		-webkit-transform:scale(2.5);
		   -moz-transform:scale(2.5);
		    -ms-transform:scale(2.5);
		     -o-transform:scale(2.5);
		        transform:scale(2.5);
	}
	section .upscaled {
		-webkit-transform:scale(3);
		   -moz-transform:scale(3);
		    -ms-transform:scale(3);
		     -o-transform:scale(3);
		        transform:scale(3);
		-webkit-transform:scale(2.5);
		   -moz-transform:scale(2.5);
		    -ms-transform:scale(2.5);
		     -o-transform:scale(2.5);
		        transform:scale(2.5);
	}
}

/***************************/
/********** PHOTO **********/
/***************************/

.photo {
	border:solid 1em var(--bright-color);
	-webkit-filter:drop-shadow(0 0 .25em var(--drop-shadow));
	        filter:drop-shadow(0 0 .25em var(--drop-shadow));
}
.photo.fx {
	-webkit-transform:rotate(-5deg);
	   -moz-transform:rotate(-5deg);
	    -ms-transform:rotate(-5deg);
	     -o-transform:rotate(-5deg);
	        transform:rotate(-5deg);
}
.photo.fx.reversed {
	-webkit-transform:rotate(5deg);
	   -moz-transform:rotate(5deg);
	    -ms-transform:rotate(5deg);
	     -o-transform:rotate(5deg);
	        transform:rotate(5deg);
}
.photo.fx.upscaled {
	-webkit-transform-origin: top left;
	   -moz-transform-origin: top left;
	    -ms-transform-origin: top left;
	     -o-transform-origin: top left;
	        transform-origin: top left;
}


/** desktop **/

@media (min-width:760px) {
	.photo.fx.upscaled {
		-webkit-transform:scale(2) rotate(-5deg);
		   -moz-transform:scale(2) rotate(-5deg);
		    -ms-transform:scale(2) rotate(-5deg);
		     -o-transform:scale(2) rotate(-5deg);
		        transform:scale(2) rotate(-5deg);
	}
}
@media (max-width:760px) {
	.photo.fx + * {
		margin-top: -webkit-calc(var(--global-spacing) * 2) !important;
		margin-top: -moz-calc(var(--global-spacing) * 2) !important;
		margin-top: calc(var(--global-spacing) * 2) !important;
	}	
}

/***************************/
/********** LINES **********/
/***************************/

.line path {
	fill:none;
	stroke:var(--dark-color);
	stroke-width:var(--border-width);
	stroke-linecap:round;
	opacity:.5;
}

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

@media (min-width:0px) {
	svg.why {
		max-height:7rem;
	}
	svg.how {
		max-height:15rem;
	}
}
@media (min-width:760px) {
	svg.how {
		max-height:25rem;
	}
}

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

.icon {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	width:100%;
	max-width:16rem;
	font-size:1em;
	line-height:1em;
	text-align:center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin:auto;
}
.icon.large {
	font-size:3em;
}
.icon svg {
	height:1em;
	width:1em;
}

/***************************/
/***************************/
/********** LOGOS **********/
/***************************/
/***************************/

.logos {
	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:1em;
}
.logos > * {
	-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;
	margin:0;
}
.logos img {
	height:auto;
	width:100%;
	-o-object-fit:contain;
	   object-fit:contain;
	aspect-ratio: 1/1;
}
.logos.min img {
	max-width:5rem;
}

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

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

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

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

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

a {
	position:relative;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	outline:0;
	text-decoration:none;
}
p a,
li a {
	cursor:pointer;
	border-bottom:solid .0625rem;
}
p a:hover,
li a:hover {
	border-bottom:dashed .0625rem;
}

/********** WITH ICONS **********/

a [class^="icon-"] + span,
a [class*=" icon-"] + span {
	margin:0 0 0 .5rem;
}
a span {
	display:inline-block;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}

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

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

/********** 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;
}

/* cf. accessibility for focus-visible */

/********************************/
/********************************/
/********** 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;
	margin:0 0 var(--global-spacing) 0;
}
.columnizer > *:not(:last-child) {
	margin-bottom:1rem;
	margin-bottom:-webkit-calc(var(--global-spacing) / 2);
	margin-bottom:-moz-calc(var(--global-spacing) / 2);
	margin-bottom:calc(var(--global-spacing) / 2);
}
.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:var(--global-margin);
		   -moz-column-gap:var(--global-margin);
		        column-gap:var(--global-margin);
	}
}
@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 **********/
/*****************************/
/*****************************/

ul,
ol {
	list-style-position:inside;
}
li {
	list-style-type: '● ';
}

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

ul > li + li {
	margin-top: -webkit-calc(var(--global-spacing) / 3);
	margin-top: -moz-calc(var(--global-spacing) / 3);
	margin-top: calc(var(--global-spacing) / 3);
}
ul.important > li + li {
	margin-top: var(--global-spacing);
}

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

ol {
	margin:0;
	list-style-type:none;
}
ol li {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	counter-increment:step-counter;
	padding:.25rem 0 !important;
	text-align:left !important;
}
ol li:before {
	content:counter(step-counter);
	display:inline-block;
	text-align:center;
	border:solid -webkit-calc(var(--border-width) * 2);
	border:solid -moz-calc(var(--border-width) * 2);
	border:solid calc(var(--border-width) * 2);
	font-size:.75em;
	line-height:1em;
	height:1em;
	width:1em;
	min-width:1em;
	padding:.5em;
	margin:0 1em 0 0;
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
}

/***************************/
/********** STEPS **********/
/***************************/

.steps > li {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	padding:1em 0 !important;
}
.steps > li:before {
	display:none;
}
.steps > li > .step {
	margin:0 .5em 0 0;
}
.step {
	position:relative;
	display:inline-block;
	text-align:center;
	font-size:2em;
	line-height:1em;
	height:2em;
	width:2em;
	min-width:2em;
	padding:.5em;
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--water-color);
	-webkit-mask-image:url('../icons/shape-01.svg');
	mask-image:url('../icons/shape-01.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	aspect-ratio:1/1;
}

.content.steps > * + * {
	margin-top: -webkit-calc(var(--global-spacing) * 4);
	margin-top: -moz-calc(var(--global-spacing) * 4);
	margin-top: calc(var(--global-spacing) * 4);
}

/********************************/
/********************************/
/********** GOOGLE MAP **********/
/********************************/
/********************************/

.gmap-container {
	position:relative;
	display:block;
	height:100%;
	width:100%;
	min-height:50vh;
}
section.cover .gmap-container {
	min-height: -webkit-calc(100vh - var(--header-height));
	min-height: -moz-calc(100vh - var(--header-height));
	min-height: calc(100vh - var(--header-height));
}

/** for member map **/

section.full .gmap-container {
	min-height:-webkit-calc(100vh - var(--header-height) - var(--footer-height));
	min-height:-moz-calc(100vh - var(--header-height) - var(--footer-height));
	min-height:calc(100vh - var(--header-height) - var(--footer-height));
}

/********** GMAP **********/

.gmap-container .gmap {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:1;
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
}

/********** GMAP MARKERS **********/

.gmap-marker {
	z-index:10;
	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-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	gap:1em;
	cursor:pointer;
	border:0;
	-webkit-transform-origin:center center;
	   -moz-transform-origin:center center;
	    -ms-transform-origin:center center;
	     -o-transform-origin:center center;
	        transform-origin:center center;
	pointer-events:none;
	opacity:0;
}
.gmap-marker > * {
	margin:0;
}
.gmap.active.markerON .gmap-marker {
	opacity:.25;
}
.gmap.active.markerON .gmap-marker:hover {
	opacity:1;
	z-index:100;
}
.gmap.active .gmap-marker {
	position:relative;
	pointer-events:all;
	font-size:1rem;
	opacity:1;
}
.gmap.active .gmap-marker.off {
	height:0;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}
.gmap.active .gmap-marker.off .gmap-marker-location {
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}
.gmap.active .gmap-marker-location {
	pointer-events:all;
	display:block;
	height:1em;
	width:1em;
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
	        border-radius: 50%;
	background: var(--dark-color);
	-webkit-filter:drop-shadow(0 0 .125em var(--drop-shadow));
	        filter:drop-shadow(0 0 .125em var(--drop-shadow));
}
.gmap-marker .thumbnail {
	position:absolute;
	top:0;
	left:50%;
	width:3em;
	max-width:none;
	margin:0 auto;
	-webkit-transform:translate(-50%,-webkit-calc(-100% - .5em));
	   -moz-transform:translate(-50%,-moz-calc(-100% - .5em));
	    -ms-transform:translate(-50%,calc(-100% - .5em));
	     -o-transform:translate(-50%,calc(-100% - .5em));
	        transform:translate(-50%,calc(-100% - .5em));
	pointer-events:none;
	-webkit-filter:drop-shadow(0 0 .125em var(--drop-shadow));
	        filter:drop-shadow(0 0 .125em var(--drop-shadow));
}
.gmap-marker .thumbnail.empty:after {
	height:1em;
	width:1em;
}
.gmap-marker .thumbnail > * {
	padding:.5em;
}
.gmap-marker .title {
	position:absolute;
	top:0;
	left:50%;
	-webkit-transform:translate(-50%,-webkit-calc(100% + .5em));
	   -moz-transform:translate(-50%,-moz-calc(100% + .5em));
	    -ms-transform:translate(-50%,calc(100% + .5em));
	     -o-transform:translate(-50%,calc(100% + .5em));
	        transform:translate(-50%,calc(100% + .5em));
	font-size:1em;
	line-height:1em;
	white-space: nowrap;
	/*color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	*/
	color:var(--dark-color);
	text-shadow:0 0 0 var(--dark-color);
	pointer-events:none;
	opacity:0;
}
.gmap.active .gmap-marker:hover .thumbnail {
	width:5em;
	-webkit-transform:translate(-50%,-webkit-calc(-100% - 1em));
	   -moz-transform:translate(-50%,-moz-calc(-100% - 1em));
	    -ms-transform:translate(-50%,calc(-100% - 1em));
	     -o-transform:translate(-50%,calc(-100% - 1em));
	        transform:translate(-50%,calc(-100% - 1em));
}
.gmap.active .gmap-marker:hover .title {
	-webkit-transform:translate(-50%,-webkit-calc(100% + 1em));
	   -moz-transform:translate(-50%,-moz-calc(100% + 1em));
	    -ms-transform:translate(-50%,calc(100% + 1em));
	     -o-transform:translate(-50%,calc(100% + 1em));
	        transform:translate(-50%,calc(100% + 1em));
	opacity:1;
}

/********** GMAP LEGEND **********/

.gmap-legend {
	position:absolute;
	z-index:10;
	bottom:var(--global-margin);
	left:var(--global-margin);
	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;
	gap:1em;
	color:var(--dark-color);
	text-shadow: 0 0 0 var(--dark-color);
}
.gmap-legend a {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	gap:.5em;
	white-space:nowrap;
}
.gmap-legend a .icon {
	display:block;
	height:1em;
	width:1em;
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
	-webkit-filter:drop-shadow(0 0 .125em var(--drop-shadow));
	        filter:drop-shadow(0 0 .125em var(--drop-shadow));
}

/********** GMAP CONTROLS **********/

.gmap-controls {
	position:absolute;
	z-index:10;
	top:var(--global-margin);
	right:var(--global-margin);
	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;
	gap:1em;
}
.gmap-controls a {
	display:block;
	line-height:1em;
	padding:1em;
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--dark-color);
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
	-webkit-filter:drop-shadow(0 0 .125em var(--drop-shadow));
	        filter:drop-shadow(0 0 .125em var(--drop-shadow));
}
.gmap-controls a:hover {
	background:var(--yellow-color);
}