/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* =========== CSS RESET =========== */

html, body, button, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, input, textarea, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, c-footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-decoration: none;
	color: inherit;
}
img, article, aside, details, figcaption, figure,
c-footer, header, hgroup, menu, nav, section {
	display: block;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	txt: '';
	txt: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
button{
	background-color: transparent;
	cursor: pointer;
}
*:focus{
	outline: 0;
}
strong{
	font-weight: 700;
}

/* =========== NAMING CONVENTIONS ===========

u- for utility classes (single purposed styling classes)
o- for object classes (used in unrelated contexts, modify with caution)
c- for component (specific piece of UI, can be changed safely)
js- for JavaScript hooks (therefore never used for css styling)
is- & has- for applied temporary statuses

A class with an ending in the plural form refers to the container of said elements
*/

/* =========== BASE RULES & ATOMIC CSS ELEMENTS =========== */

/*Layout and background*/
body{
  scrollbar-color: #FF9B56 #116466;
	background-image: -o-linear-gradient(top, #79a8a5, #072526);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#79a8a5), to(#072526));
	background-image: linear-gradient(to bottom, #79a8a5, #072526);
}
::-webkit-scrollbar{
  background: #116466;
	width: 1rem;
}
::-webkit-scrollbar-thumb{
  background-color: #FF9B56;
}
::-moz-selection{
	background: #FF9B56;
}
::selection{
	background: #FF9B56;
}
.c-blocpage{
	max-width: 120rem;
	scroll-behavior: smooth;
	overflow-x: hidden;
	margin: 0 auto;
	position: relative;
	padding-right: 7.5rem;
	font-family: 'quicksand';
	line-height: 1.7;
	font-size: 1.2rem;
	color: #0A3E3E;
	background: #fff;
	-webkit-box-shadow: -0.25rem 0 2rem rgba(7,37,38,0.2);
	        box-shadow: -0.25rem 0 2rem rgba(7,37,38,0.2);
}
.o-flexbox{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
 	-webkit-box-align: center;
 	    -ms-flex-align: center;
 	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.c-blocpage--100vh{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-height: 100vh;
}

@media all and (max-width: 970px), all and (max-height: 590px){
	.c-blocpage{
		padding-right: 0;
	}
}
@media all and (max-width: 375px){
	.c-blocpage{
		font-size: 1.1rem;
	}
}

/*Typos*/
@font-face{
    font-family: 'quicksand';
    src: url('/fonts/quicksand/Quicksand-Regular.eot');
    src: url('/fonts/quicksand/Quicksand-Regular?#iefix') format('embedded-closetype'),
         url('/fonts/quicksand/Quicksand-Regular.woff2') format('woff2'),
         url('/fonts/quicksand/Quicksand-Regular.woff') format('woff'),
         url('/fonts/quicksand/Quicksand-Regular.ttf') format('truetype'),
         url('/fonts/quicksand/Quicksand-Regular.svg#Quicksand-Regular') format('svg');
    font-weight: 400;
}
@font-face{
    font-family: 'quicksand';
    src: url('/fonts/quicksand/Quicksand-Bold.eot');
    src: url('/fonts/quicksand/Quicksand-Bold?#iefix') format('embedded-closetype'),
         url('/fonts/quicksand/Quicksand-Bold.woff2') format('woff2'),
         url('/fonts/quicksand/Quicksand-Bold.woff') format('woff'),
         url('/fonts/quicksand/Quicksand-Bold.ttf') format('truetype'),
         url('/fonts/quicksand/Quicksand-Bold.svg#Quicksand-Bold') format('svg');
    font-weight: 700;
}
@font-face{
    font-family: 'lemonmilk';
    src: url('/fonts/lemonmilk/LEMONMILK-Bold.eot');
    src: url('/fonts/lemonmilk/LEMONMILK-Bold?#iefix') format('embedded-closetype'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.woff2') format('woff2'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.woff') format('woff'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.ttf') format('truetype'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.svg#LEMONMILK-Bold') format('svg');
    font-weight: 400;
}
.o-p{
	margin: 0 0 1.5rem 0;
	max-width: 45rem;
}
.o-p:last-child{
	margin: 0;
}
.o-p--large{
	max-width: 50rem;
}
.o-ul{
	list-style-type: disc;
	margin: 0 0 1.5rem 0;
}
.o-ul__li{
	margin: 1rem;
	padding-left: 1rem;
	font-weight: 700;
	line-height: 1.2;
}
.o-hn{
	font-family: 'lemonmilk';
	line-height: 1.2;
}
.o-h2{
	font-size: 2.1rem;
	margin-bottom: 2rem;
}
@media all and (max-width: 475px){
	.o-h2{
		font-size: 1.75rem;
	}
}
.u-nowrap{
	white-space: nowrap;
}
.u-orange{
	color: #FF9B56;
}
.u-blue{
	color: #116466;
}
.u-dkb{
	color: #0A3E3E;
}
.u-fff{
	color: #fff;
}
.u-underlined{
	position: relative;
	white-space: nowrap;
}
.u-underlined span{
	position: relative;
	color: #116466;
}
.u-underlined::before{
	content:'';
	position: absolute;
	height: 110%;
	width: 110%;
	bottom: -5%;
	opacity: 1;
	right: -5%;
	background: #fff;
}
.u-strong{
	font-weight: 700;
}
.u-target-bk{
	position: relative;
	text-decoration: underline;
	font-weight: 700;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.u-target-bk:hover{
	color: #ff9b56;
}
.u-target-bk::after{
	content:'';
	position: absolute;
	background-image: url('/images/icons/lien-externe.svg');
	width: 0.75rem;
	height: 0.75rem;
	display: block;
	top: -0.75rem;
	opacity: 0.5;
	right: -0.4rem;
}

/* =========== GENERIC ELEMENTS =========== */

/* Buttons */
.o-btn{
	padding: 0 6.5rem 0 2.5rem;
	height: 4rem;
	line-height: 4rem;
	min-width: 17rem;
	font-family: 'lemonmilk';
	background-image: -o-linear-gradient(top, #116466 50%, #FF9B56 50%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #116466), color-stop(50%, #FF9B56));
	background-image: linear-gradient(to bottom, #116466 50%, #FF9B56 50%);
	background-size: 100% 200%;
	background-position: center top;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	display: inline-block;
	text-align: center;
  font-weight: 700;
	font-size: 0.9rem;
	-webkit-box-shadow: 1px 1px 4px 0 rgba(7,37,38,.2);
	        box-shadow: 1px 1px 4px 0 rgba(7,37,38,.2);
	cursor: pointer;
	color: #fff;
	position: relative;
}
.o-btn--grey{
	background-image: -o-linear-gradient(top, #ECF2F2 50%, #FF9B56 50%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #ECF2F2), color-stop(50%, #FF9B56));
	background-image: linear-gradient(to bottom, #ECF2F2 50%, #FF9B56 50%);
	color: #555;
}
.o-btn:hover{
	background-position: center bottom;
	color: #fff;
}
.o-btn:hover .o-btn__arrow{
	background-position: center top;
}
.o-btn__arrow-fill{
	fill: #ffffff;
}
.o-btn__arrow{
	height: 4rem;
	width: 4rem;
	right: 0;
	top: 0;
	position: absolute;
	background-image: -o-linear-gradient(bottom, #072526 50%, #116466 50%);
	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #072526), color-stop(50%, #116466));
	background-image: linear-gradient(to top, #072526 50%, #116466 50%);
	background-size: 100% 200%;
	background-position: center bottom;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.o-btn--lgt{
	background-image: -o-linear-gradient(top, #FF9B56 50%, #116466 50%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #FF9B56), color-stop(50%, #116466));
	background-image: linear-gradient(to bottom, #FF9B56 50%, #116466 50%);
}
.o-btn__arrow--lgt{
	background-image: -o-linear-gradient(bottom, #116466 50%, #072526 50%);
	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #116466), color-stop(50%, #072526));
	background-image: linear-gradient(to top, #116466 50%, #072526 50%);
}
.o-btn--dk{
	background-image: -o-linear-gradient(top, #0B3F40 50%, #FF9B56 50%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #0B3F40), color-stop(50%, #FF9B56));
	background-image: linear-gradient(to bottom, #0B3F40 50%, #FF9B56 50%);
}
.o-btn__arrow--dk{
	background-image: -o-linear-gradient(bottom, #072526 50%, #0B3F40 50%);
	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #072526), color-stop(50%, #0B3F40));
	background-image: linear-gradient(to top, #072526 50%, #0B3F40 50%);
}
.o-btn__arrow--grey{
	background-image: -o-linear-gradient(bottom, #555 50%, #116466 50%);
	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #555), color-stop(50%, #116466));
	background-image: linear-gradient(to top, #555 50%, #116466 50%);
}

@media all and (max-width: 725px){
	.o-btn{
		font-size: 0.8rem;
	}
}
@media all and (max-width: 375px){
	.o-btn{
		padding: 0 5.5rem 0 1.5rem;
	}
}

/* Equivalent SEO pour système de background cover*/
.o-photo{
  overflow: hidden;
	position: relative;
}
.o-photo__cover{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
	position: absolute;
}

/*Reveal FX*/
.c-reveal-fx{
	position: relative;
	overflow: hidden;
	display: inline-block;
}
.c-reveal-fx__p{
	white-space: nowrap;
}
.is-revealed .c-reveal-fx__p{
	-webkit-animation: txt-reveal 1.7s forwards;
	        animation: txt-reveal 1.7s forwards;
}
@-webkit-keyframes txt-reveal {
	0%{
		opacity: 0;
	}
	70%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes txt-reveal {
	0%{
		opacity: 0;
	}
	70%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.c-reveal-fx.is-revealed::after{
	content:'';
	width: 100%;
	height: 100%;
	position: absolute;
	background: #1d3839;
	left: 0;
	top: 0;
	max-width: 0;
	-webkit-animation: reveal 0.8s 0.2s, reveal-out 0.8s 1.1s;
	        animation: reveal 0.8s 0.2s, reveal-out 0.8s 1.1s;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}
.c-reveal-fx.is-revealed:last-child::after{
	-webkit-animation: reveal 0.8s 0.5s, reveal-out 0.8s 1.4s;
	        animation: reveal 0.8s 0.5s, reveal-out 0.8s 1.4s;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}
.c-reveal-fx:nth-of-type(2) .c-reveal-fx__p{
	-webkit-animation-duration: 2.1s;
	        animation-duration: 2.1s;
}
@-webkit-keyframes reveal {
	0%{
		max-width: 0;
	}
	100%{
		max-width: 100%;
	}
}
@keyframes reveal {
	0%{
		max-width: 0;
	}
	100%{
		max-width: 100%;
	}
}
@-webkit-keyframes reveal-out {
	0%{
		max-width: 100%;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100%{
		max-width: 100%;
		-webkit-transform: translateX(102%);
		        transform: translateX(102%);
	}
}
@keyframes reveal-out {
	0%{
		max-width: 100%;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100%{
		max-width: 100%;
		-webkit-transform: translateX(102%);
		        transform: translateX(102%);
	}
}

@-webkit-keyframes txt-appear {
	0%{
		-webkit-transform: translateY(20%);
		        transform: translateY(20%);
		opacity: 0;
	}
	70%{
		-webkit-transform: translateY(20%);
		        transform: translateY(20%);
		opacity: 0;
	}
	100%{
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		opacity: 1;
	}
}
@keyframes txt-appear {
	0%{
		-webkit-transform: translateY(20%);
		        transform: translateY(20%);
		opacity: 0;
	}
	70%{
		-webkit-transform: translateY(20%);
		        transform: translateY(20%);
		opacity: 0;
	}
	100%{
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		opacity: 1;
	}
}
.js-txt-appear.is-revealed{
	-webkit-animation: txt-appear 2.4s forwards;
	        animation: txt-appear 2.4s forwards;
}

/* =========== LOADER =========== */

.c-loader__section{
	width: 52%;
	height: 100%;
	position: fixed;
	background: #072526;
	-webkit-transition: transform 1s 0.2s;
	-o-transition: transform 1s 0.2s;
	-webkit-transition: -webkit-transform 1s 0.2s;
	transition: -webkit-transform 1s 0.2s;
	transition: transform 1s 0.2s;
	transition: transform 1s 0.2s, -webkit-transform 1s 0.2s;
	z-index: 20;
	top: 0;
}
.c-loader__section--left{
	left: -1%;
}
.c-loader__section--right{
	right: -1%;
}
.c-loader__section--left.is-loaded{
	-webkit-transform: translateX(-100%);
	    -ms-transform: translateX(-100%);
	        transform: translateX(-100%);
}
.c-loader__section--right.is-loaded{
	-webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	        transform: translateX(100%);
}

/* =========== NAVIGATION =========== */

/*Cookies Pop-up */
.c-cks{
	z-index: 10;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 120rem;
	bottom: -30rem;
	height: auto;
	position: fixed;
	background-color: #fff;
	line-height: 1.4;
	opacity: 0;
	-webkit-transition: all 0.5s, opacity 0s 0.8s;
	-o-transition: all 0.5s, opacity 0s 0.8s;
	transition: all 0.5s, opacity 0s 0.8s;
 	-webkit-box-shadow: 1px 0 2rem rgba(0,0,0,0.25);
 	        box-shadow: 1px 0 2rem rgba(0,0,0,0.25);
}
.c-cks.has-appeared{
	-webkit-transform: translateY(-30rem);
	    -ms-transform: translateY(-30rem);
	        transform: translateY(-30rem);
	opacity: 1;
	-webkit-transition: all 1s, opacity 0s;
	-o-transition: all 1s, opacity 0s;
	transition: all 1s, opacity 0s;
}
.c-cks__txt{
	padding: 3rem 2rem;
	margin: 1rem;
	background: #ffffff;
}
.c-cks__h2{
	font-size: 1.6rem;
	max-width: 11rem;
	margin: 0 1rem;
}
.c-cks__p{
	margin: 1rem 0;
}
.c-cks__ps{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin: 0 4rem;
	max-width: 30rem;
}
.o-btn.c-cks__btn{
	width: 18rem;
	margin: 1rem;
	display: block;
	padding: 0 5rem 0 1.5rem;
	font-size: 0.8rem;
	height: 3.5rem;
	line-height: 3.5rem;
	padding-right: 5rem;
}
.c-cks__btn .o-btn__arrow{
	height: 3.5rem;
	width: 3.5rem;
}
.c-dark-scr{
	z-index: 9;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	opacity: 0;
	-webkit-transition: opacity 0.5s, -webkit-transform 0s 0.6s;
	transition: opacity 0.5s, -webkit-transform 0s 0.6s;
	-o-transition: opacity 0.5s, transform 0s 0.6s;
	transition: opacity 0.5s, transform 0s 0.6s;
	transition: opacity 0.5s, transform 0s 0.6s, -webkit-transform 0s 0.6s;
	background: rgba(0,0,0,0.5);
	-webkit-transform: translateX(-100%);
	    -ms-transform: translateX(-100%);
	        transform: translateX(-100%);
}
.c-dark-scr.has-appeared{
	opacity: 1;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 1s, -webkit-transform 0s;
	transition: opacity 1s, -webkit-transform 0s;
	-o-transition: opacity 1s, transform 0s;
	transition: opacity 1s, transform 0s;
	transition: opacity 1s, transform 0s, -webkit-transform 0s;
}

@media all and (max-width: 1110px){
	.c-cks__txt{
		padding: 2rem 0;
	}
	.c-cks__ps{
		margin: 0 2rem;
	}
}
@media all and (max-width: 930px){
	.c-cks__h2{
		display: none;
	}
}
@media all and (max-width: 725px){
	.c-cks__txt{
		text-align: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		margin: 0 auto;
		padding: 1.5rem 0 2.5rem 0;
	}
	.c-cks__ps{
		margin: 0 1.5rem 0.5rem 1.5rem;
	}
	.o-btn.c-cks__btn{
		display: inline-block;
		margin: 0.75rem 0.75rem 0 0.75rem;
	}
}
@media all and (max-width: 410px){
	.c-cks__ps{
		margin: 0 1rem;
	}
	.c-cks__txt{
		padding: 1rem 0 2rem 0;
	}
}
@media all and (max-height: 479px){
	.c-cks__p{
		font-size: 1.1rem;
	}
	.o-btn.c-cks__btn{
		margin: 0.5rem 0.75rem 0 0.75rem;
		width: 12rem;
	}
	.c-cks__btn .u-togo{
		display: none;
	}
	.c-cks__txt{
		padding: 1rem 0 1.5rem 0;
	}
}

/*Column nav*/
.c-nav-wrapper{
	top: 0;
	position: fixed;
	max-width: 120rem;
	width: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.c-vernav{
	position: absolute;
	height: 100vh;
	z-index: 4;
	top: 0;
	right: 0;
	width: 7.5rem;
	background: #072526;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	color: #fff;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	padding-bottom: 5rem;
	font-size: 1rem;
}
.c-vernav__a{
	font-family: "lemonmilk";
	margin: 1.5rem 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.c-vernav__a--barred{
	text-decoration: line-through;
	opacity: 0.25;
}
.c-vernav__a:hover{
	color: #487479;
}
.c-vernav__a.php-active{
	color: #FF9B56;
}

/*Footer*/
.c-footer{
	max-width: 120rem;
	height: 5rem;
	z-index: 5;
	color: #fff;
	background: #072526;
	padding: 0 3rem 0 4.5rem;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	position: relative;
	font-size: 1rem;
}
.c-blocpage--100vh .c-footer{
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch; /*To be 100% width*/
}
.c-footer__a{
	font-family: 'lemonmilk';
	font-size: 1rem;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	color: #fff;
}
.c-footer__a:first-child{
	margin-right: 3rem;
}
.c-footer__a:hover{
	color: #487479;
}
.c-footer__a.php-active{
	color: #FF9B56;
}

/*Nav mobile*/
.o-dark-screen{
  z-index: 6;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	background: rgba(0,0,0,0.2);
	opacity: 0;
  height: 100%;
	-webkit-transition: opacity 0.7s, -webkit-transform 0s 0.8s;
	transition: opacity 0.7s, -webkit-transform 0s 0.8s;
	-o-transition: transform 0s 0.8s, opacity 0.7s;
	transition: transform 0s 0.8s, opacity 0.7s;
	transition: transform 0s 0.8s, opacity 0.7s, -webkit-transform 0s 0.8s;
	-webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	        transform: translateX(100%);
}
.o-dark-screen.has-appeared{
	opacity: 1;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 0.7s, -webkit-transform 0s;
	transition: opacity 0.7s, -webkit-transform 0s;
	-o-transition: transform 0s, opacity 0.7s;
	transition: transform 0s, opacity 0.7s;
	transition: transform 0s, opacity 0.7s, -webkit-transform 0s;
}
.c-mobnav-btn{
	width: 4rem;
	color: white;
	position: fixed;
	display: none;
	z-index: 9;
	height: 6.5rem;
	padding: 0.5rem 0 1rem 0;
	top: 0;
	right: 1rem;
	font-family: 'lemonmilk';
	background: #072526;
	font-size: 0.8rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
	-webkit-box-shadow: 1px 1px 0.3rem rgba(0,0,0,0.2);
	        box-shadow: 1px 1px 0.3rem rgba(0,0,0,0.2);
	cursor: pointer;
}
.c-mobnav-btn__txt{
	margin: 0.5rem 0 0 0;
}
.c-mobnav-btn__burger,
.c-mobnav-btn__burger::before,
.c-mobnav-btn__burger::after{
	content: '';
	width: 1.8rem;
	height: 0.25rem;
	background: #FF9B56;
	position: relative;
	display: block;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}
.c-mobnav-btn__burger::before{
	position: absolute;
	top: -0.5rem;
	left: 0;
	max-width: 0.75rem;
}
.c-mobnav-btn__burger::after{
	bottom: -0.5rem;
	position: absolute;
	right: 0;
	max-width: 0.75rem;
}
.c-mobnav-btn:hover .c-mobnav-btn__burger::before,
.c-mobnav-btn:hover .c-mobnav-btn__burger::after,
.c-mobnav-btn__burger.is-active::before,
.c-mobnav-btn__burger.is-active::after{
	max-width: 100%;
}

.c-mobnav{
	opacity: 0;
	position: fixed;
	background: #fff;
	top: 0;
	right: -20rem;
	height: 100vh;
	z-index: 8;
	font-family: 'lemonmilk';
	font-size: 1rem;
	width: 20rem;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	padding: 2rem;
	text-align: left;
	-webkit-box-shadow: -1px 0 0.4rem rgba(0,0,0,0.2);
	        box-shadow: -1px 0 0.4rem rgba(0,0,0,0.2);
	-webkit-transition: all 0.7s, opacity 0s 0.8s;
	-o-transition: all 0.7s, opacity 0s 0.8s;
	transition: all 0.7s, opacity 0s 0.8s;
}
.c-mobnav__a{
	bottom: 2rem;
	font-size: 0.9rem;
	position: absolute;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.c-mobnav.has-appeared{
	opacity: 1;
	-webkit-transition: all 0.7s, opacity 0s;
	-o-transition: all 0.7s, opacity 0s;
	transition: all 0.7s, opacity 0s;
	-webkit-transform: translateX(-100%);
	    -ms-transform: translateX(-100%);
	        transform: translateX(-100%);
}
.c-mobnav__li{
	list-style: none;
	margin: 1rem 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.c-mobnav__li.php-active{
	color: #FF9B56;
}
.c-mobnav__li:hover, .c-mobnav__a:hover{
	color: #116466;
}

@media all and (max-width: 645px){
	.c-footer{
		padding: 0 0 0 1.5rem;
	}
}
@media all and (max-height: 700px){
	.c-vernav__a{
		margin: 0.75rem 0;
	}
}
@media all and (max-width: 970px), all and (max-height: 590px){
	.c-vernav, .c-footer__a{
		display: none;
	}
	.c-mobnav-btn{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}
@media all and (max-height: 375px){
	.c-mobnav__a{
		bottom: 1rem;
	}
}

/* =========== HEADER =========== */

/*Homepage header*/
.c-header{
	height: 100vh;
	min-height: 25rem;
	max-height: 43.75rem;
	width: 100%;
	position: relative;
	background: #79a8a5;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}
.c-header__logo{
	width: 10rem;
	position: absolute;
	left: 4rem;
	top: 4rem;
	z-index: 4;
	-webkit-filter: drop-shadow(1px 1px 0 rgba(51,51,51,0.5));
	        filter: drop-shadow(1px 1px 0 rgba(51,51,51,0.5));
}
.o-logo__path--dk{
	fill: #116466;
}
.o-logo__path--lgt{
	fill: #FF9B56;
}
.o-logo__path--vdk{
	fill: #0B3F40;
}
.c-h1--home{
	color: #fff;
	font-size: 3.5rem;
	margin-bottom: 5rem;
	padding-right: 3rem;
	text-shadow: 1px 1px 1px #333;
}
.c-h1__wrapper{
	position: relative;
	z-index: 0;
}
.c-h1__highlight{
	color: #FF9B56;
	position: absolute;
	left: 0;
	-webkit-animation-name: up;
	        animation-name: up;
	-webkit-animation-duration: 2.5s;
	        animation-duration: 2.5s;
	-webkit-animation-delay: 1s;
	        animation-delay: 1s;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
	-webkit-animation-direction: alternate;
	        animation-direction: alternate;
}
.c-h1__highlight--abs{
	opacity: 0;
	animation-direction: alternate-reverse;
}
@-webkit-keyframes up {
	0%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	40%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	60%{
		opacity: 0;
		-webkit-transform: translateY(-35%);
		        transform: translateY(-35%);
	}
	100%{
		opacity: 0;
		-webkit-transform: translateY(-35%);
		        transform: translateY(-35%);
	}
}
@keyframes up {
	0%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	40%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	60%{
		opacity: 0;
		-webkit-transform: translateY(-35%);
		        transform: translateY(-35%);
	}
	100%{
		opacity: 0;
		-webkit-transform: translateY(-35%);
		        transform: translateY(-35%);
	}
}
@-webkit-keyframes down {
	0%{
		opacity: 0;
		-webkit-transform: translateY(35%);
		        transform: translateY(35%);
	}
	40%{
		opacity: 0;
		-webkit-transform: translateY(35%);
		        transform: translateY(35%);
	}
	60%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@keyframes down {
	0%{
		opacity: 0;
		-webkit-transform: translateY(35%);
		        transform: translateY(35%);
	}
	40%{
		opacity: 0;
		-webkit-transform: translateY(35%);
		        transform: translateY(35%);
	}
	60%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100%{
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}

.c-header__content{
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	position: relative;
	z-index: 4;
	padding-top: 6rem;
}

.c-header__rings{
	position: absolute;
	height: 30rem;
	width: 30rem;
	z-index: 3;
}
.c-header__ring{
	border-radius: 50%;
	border: 4rem solid transparent;
	border-bottom-color: #467C7A;
	border-top-color: #467C7A;
	height: 100%;
	width: 100%;
	position: absolute;
	-webkit-animation-duration: 20s;
	        animation-duration: 20s;
	-webkit-animation-name: clockwork;
	        animation-name: clockwork;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	        animation-timing-function: linear;
	z-index: 2;
}
.c-header__ring:nth-child(2){
	height: calc(100% - 7.5rem);
	width: calc(100% - 7.5rem);
	-webkit-animation-duration: 15s;
	        animation-duration: 15s;
	animation-direction: reverse;
	border: 3.25rem solid transparent;
	border-bottom-color: #48817F;
	border-top-color: #48817F;
	z-index: 1;
}
.c-header__ring:nth-child(3){
	height: calc(100% - 13.5rem);
	width: calc(100% - 13.5rem);
	-webkit-animation-duration: 10s;
	        animation-duration: 10s;
	border: 2.5rem solid transparent;
	border-bottom-color: #4c8785;
	border-top-color: #4c8785;
	z-index: 0;
}
@-webkit-keyframes clockwork {
	0%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100%{
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes clockwork {
	0%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100%{
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

.o-bubble{
	border-radius: 50%;
	position: absolute;
	z-index: 1;
	background: #9dbfbb;
	width: 20vh;
	height: 20vh;
	min-width: 9.5rem;
	min-height: 9.5rem;
	max-width: 12.5rem;
	max-height: 12.5rem;
	-webkit-animation-name: loop;
	        animation-name: loop;
	-webkit-animation-timing-function: linear;
	        animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
}
.o-bubble--small{
	z-index: 0;
	background: #8eb2ad;
	width: 15vh;
	height: 15vh;
	max-width: 9rem;
	max-height: 9rem;
	min-width: 7.25rem;
	min-height: 7.25rem;
}
.o-bubble--med{
	width: 30vh;
	z-index: 2;
	height: 30vh;
	max-width: 18rem;
	max-height: 18rem;
	min-width: 14.5rem;
	min-height: 14.5rem;
	background: #aececb;
}
.o-bubble--bigmed{
	width: 40vh;
	z-index: 2;
	height: 40vh;
	max-width: 24rem;
	max-height: 24rem;
	min-width: 19.25rem;
	min-height: 19.25rem;
	background: #aececb;
}
.o-bubble--big{
	width: 48vh;
	height: 48vh;
	max-width: 36rem;
	max-height: 36rem;
	min-width: 29rem;
	min-height: 29rem;
	z-index: 3;
	background: #aececb;
}
.o-h-bubble:nth-child(1){
	top: 5%;
	left: 15%;
	-webkit-animation-duration: 20s;
	        animation-duration: 20s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(2){
	top: 15%;
	left: -5%;
	-webkit-animation-duration: 30s;
	        animation-duration: 30s;
}
.o-h-bubble:nth-child(3){
	bottom: 5%;
	left: 25%;
	-webkit-animation-duration: 15s;
	        animation-duration: 15s;
}
.o-h-bubble:nth-child(4){
	bottom: -5%;
	left: 5%;
	-webkit-animation-duration: 40s;
	        animation-duration: 40s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(5){
	top: 5%;
	left: 40%;
	-webkit-animation-duration: 50s;
	        animation-duration: 50s;
}
.o-h-bubble:nth-child(6){
	left: 45%;
	bottom: 15%;
	-webkit-animation-duration: 25s;
	        animation-duration: 25s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(7){
	top: 10%;
	right: 15%;
	-webkit-animation-duration: 18s;
	        animation-duration: 18s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(8){
	top: 10%;
	right: 10%;
	-webkit-animation-duration: 32s;
	        animation-duration: 32s;
}
.o-h-bubble:nth-child(9){
	top: 20%;
	right: -2rem;
	opacity: 0;
	-webkit-animation-duration: 27s;
	        animation-duration: 27s;
}
.o-h-bubble:nth-child(10){
	top: 30%;
	right: 5%;
	-webkit-animation-duration: 35s;
	        animation-duration: 35s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(11){
	bottom: 25%;
	right: 30%;
	-webkit-animation-duration: 30s;
	        animation-duration: 30s;
}
.o-h-bubble:nth-child(12){
	right: -5%;
	bottom: 25%;
	-webkit-animation-duration: 32.5s;
	        animation-duration: 32.5s;
}
.o-h-bubble:nth-child(13){
	right: 20%;
	bottom: -10%;
	-webkit-animation-duration: 21s;
	        animation-duration: 21s;
	animation-direction: reverse;
}
.o-h-bubble:nth-child(14){
	right: 5%;
	bottom: -15%;
	-webkit-animation-duration: 24s;
	        animation-duration: 24s;
}
@-webkit-keyframes loop {
	0%{
		-webkit-transform: rotate(0deg) translateX(0) rotate(0deg);
		        transform: rotate(0deg) translateX(0) rotate(0deg);
	}
	12.5%{
		-webkit-transform: rotate(90deg) translateX(1rem) rotate(-90deg);
		        transform: rotate(90deg) translateX(1rem) rotate(-90deg);
	}
	25%{
		-webkit-transform: rotate(180deg) translateX(2rem) rotate(-180deg);
		        transform: rotate(180deg) translateX(2rem) rotate(-180deg);
	}
	37.5%{
		-webkit-transform: rotate(270deg) translateX(1rem) rotate(-270deg);
		        transform: rotate(270deg) translateX(1rem) rotate(-270deg);
	}
	50%{
		-webkit-transform: rotate(360deg) translateX(0) rotate(-360deg);
		        transform: rotate(360deg) translateX(0) rotate(-360deg);
	}
	50.5%{
		-webkit-transform: rotate(0deg) translateX(0) rotate(0deg);
		        transform: rotate(0deg) translateX(0) rotate(0deg);
	}
	62.5%{
		-webkit-transform: rotate(-90deg) translateX(-1rem) rotate(90deg);
		        transform: rotate(-90deg) translateX(-1rem) rotate(90deg);
	}
	75%{
		-webkit-transform: rotate(-180deg) translateX(-2rem) rotate(180deg);
		        transform: rotate(-180deg) translateX(-2rem) rotate(180deg);
	}
	87.5%{
		-webkit-transform: rotate(-270deg) translateX(-1rem) rotate(270deg);
		        transform: rotate(-270deg) translateX(-1rem) rotate(270deg);
	}
	100%{
		-webkit-transform: rotate(-360deg) translateX(0) rotate(360deg);
		        transform: rotate(-360deg) translateX(0) rotate(360deg);
	}
}
@keyframes loop {
	0%{
		-webkit-transform: rotate(0deg) translateX(0) rotate(0deg);
		        transform: rotate(0deg) translateX(0) rotate(0deg);
	}
	12.5%{
		-webkit-transform: rotate(90deg) translateX(1rem) rotate(-90deg);
		        transform: rotate(90deg) translateX(1rem) rotate(-90deg);
	}
	25%{
		-webkit-transform: rotate(180deg) translateX(2rem) rotate(-180deg);
		        transform: rotate(180deg) translateX(2rem) rotate(-180deg);
	}
	37.5%{
		-webkit-transform: rotate(270deg) translateX(1rem) rotate(-270deg);
		        transform: rotate(270deg) translateX(1rem) rotate(-270deg);
	}
	50%{
		-webkit-transform: rotate(360deg) translateX(0) rotate(-360deg);
		        transform: rotate(360deg) translateX(0) rotate(-360deg);
	}
	50.5%{
		-webkit-transform: rotate(0deg) translateX(0) rotate(0deg);
		        transform: rotate(0deg) translateX(0) rotate(0deg);
	}
	62.5%{
		-webkit-transform: rotate(-90deg) translateX(-1rem) rotate(90deg);
		        transform: rotate(-90deg) translateX(-1rem) rotate(90deg);
	}
	75%{
		-webkit-transform: rotate(-180deg) translateX(-2rem) rotate(180deg);
		        transform: rotate(-180deg) translateX(-2rem) rotate(180deg);
	}
	87.5%{
		-webkit-transform: rotate(-270deg) translateX(-1rem) rotate(270deg);
		        transform: rotate(-270deg) translateX(-1rem) rotate(270deg);
	}
	100%{
		-webkit-transform: rotate(-360deg) translateX(0) rotate(360deg);
		        transform: rotate(-360deg) translateX(0) rotate(360deg);
	}
}

@media all and (max-width: 1500px), all and (max-height: 700px){
	.o-bubble{
		min-width: 7.5rem;
		min-height: 7.5rem;
	}
	.o-bubble--small{
		min-width: 5rem;
		min-height: 5rem;
	}
	.o-bubble--med{
		min-width: 11rem;
		min-height: 11rem;
	}
	.o-bubble--bigmed{
		min-width: 15rem;
		min-height: 15rem;
	}
	.o-bubble--big{
		min-width: 18rem;
		min-height: 18rem;
	}
}
@media all and (max-width: 1275px){
	.o-h-bubble:nth-child(7),
	.o-h-bubble:nth-child(9),
	.o-h-bubble:nth-child(11),
	.o-h-bubble:nth-child(13){
		opacity: 0;
	}
	.c-header{
		padding-left: 20rem;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}
}
@media all and (max-width: 1120px){
	.c-h1--home{
		font-size: 3rem;
	}
}
@media all and (max-width: 970px){
	.c-h1--home{
		font-size: 3rem;
	}
	.c-header__logo{
		width: 6rem;
		left: 3rem;
		top: 2rem;
	}
	.c-header{
		padding-left: 11.5rem;
	}
	.c-header__content{
		padding-top: 9rem;
	}
	.o-h-bubble:nth-child(5){
		opacity: 0;
	}
}
@media all and (max-width: 700px){
	.c-header{
		padding-left: 3rem;
	}
	.c-h1--home{
		margin-bottom: 3rem;
		font-size: 2.5rem;
	}
	.o-h-bubble:nth-child(2),
	.o-h-bubble:nth-child(4),
	.o-h-bubble:nth-child(6),
	.o-h-bubble:nth-child(12){
		opacity: 0;
	}
}
@media all and (max-width: 400px){
	.c-h1--home{
		font-size: 2.1rem;
	}
	.c-header__btn{
		height: 3.5rem;
		line-height: 3.5rem;
		font-size: 0.8rem;
		padding: 0 6rem 0 2.5rem;
	}
	.c-header__btn .o-btn__arrow{
		height: 3.5rem;
		width: 3.5rem;
	}
	.c-header{
		padding-left: 2rem;
	}
	.c-header__logo{
		left: 2rem;
	}
}

@media all and (max-height: 500px){
	.c-header__rings{
		height: 25rem;
		width: 25rem;
	}
	.c-header__ring{
		border-width: 3.5rem;
	}
	.c-header__ring:nth-child(2){
		height: calc(100% - 6.5rem);
		width: calc(100% - 6.5rem);
		border-width: 3rem;
	}
	.c-header__ring:nth-child(3){
		height: calc(100% - 12rem);
		width: calc(100% - 12rem);
		border-width: 2.5rem;
	}
}
@media all and (max-height: 420px){
	.c-header__logo--h{
		display: none;
	}
	.c-header__content{
		padding-top: 0;
	}
	.c-h1--home{
		margin-bottom: 2rem;
	}
}

/* Pages header */
.o-pheader{
	padding: 10rem 0 0 0;
	position: relative;
	background: #fff;
	width: 100%;
}
.o-pheader__h1{
	font-size: 3rem;
	line-height: 1.2;
	margin-bottom: 3rem;
	-webkit-transform: translateX(-10rem);
	    -ms-transform: translateX(-10rem);
	        transform: translateX(-10rem);
}
.o-pheader__h1--sm{
	font-size: 2.5rem;
}
.o-pheader__content{
	position: relative;
	padding: 0 0 4rem 8.5rem;
	left: 55%;
	font-size: 1.2rem;
	max-width: 33.5rem;
}
.o-verbar{
	height: 100%;
	left: 55%;
	width: 0.5rem;
	padding-top: 16rem;
	z-index: 1;
	top: 0;
	position: absolute;
}
.o-verbar__fill{
	width: 100%;
	height: 100%;
	background: #0A3E3E;
	-webkit-box-shadow: 0px 0.5rem 0.35rem rgba(0,0,0,0.1);
	        box-shadow: 0px 0.5rem 0.35rem rgba(0,0,0,0.1);
}
.c-header__rings--tr{
	right: 0;
	top: 0;
	z-index: auto;
	-webkit-transform: translate(50%, -50%);
	    -ms-transform: translate(50%, -50%);
	        transform: translate(50%, -50%);
}

@media all and (max-width: 1420px){
	.o-verbar, .o-pheader__content{
		left: 40%;
	}
}
@media all and (max-width: 1075px){
	.o-pheader__content{
		max-width: 27.5rem;
	}
}
@media all and (max-width: 970px){
	.o-pheader__content{
		padding: 0 0 4rem 4rem;
	}
}
@media all and (max-width: 790px){
	.o-pheader__content{
		max-width: 31.5rem;
	}
	.o-pheader{
		padding: 11rem 0 0 0;
	}
	.o-verbar, .o-pheader__content{
		left: 8rem;
	}
	.o-verbar{
		padding-top: 17rem;
	}
	.o-pheader__h1{
		-webkit-transform: translateX(-8.65rem);
		    -ms-transform: translateX(-8.65rem);
		        transform: translateX(-8.65rem);
		font-size: 2.5rem;
	}
}
@media all and (max-width: 680px){
	.o-pheader__content{
		max-width: 22.5rem;
	}
}
@media all and (max-width: 540px){
	.o-verbar, .o-pheader__content{
		left: 3.65rem;
	}
	.o-pheader__h1{
		-webkit-transform: translateX(-2.7rem);
		    -ms-transform: translateX(-2.7rem);
		        transform: translateX(-2.7rem);
		margin-bottom: 1.5rem;
	}
	.o-pheader__content{
		max-width: 19.5rem;
		padding: 0 0 2rem 2.5rem;
	}
	.o-pheader__h1{
		font-size: 2rem;
	}
	.o-verbar{
		padding-top: 15.5rem;
	}
}
@media all and (max-width: 445px){
	.o-pheader__h1--sm{
		font-size: 1.5rem;
	}
}
@media all and (max-width: 400px){
	.o-verbar, .o-pheader__content{
		left: 1.5rem;
	}
	.o-pheader__content{
		max-width: 17.5rem;
	}
}

/* =========== HOMEPAGE -h =========== */

.c-h-intro{
	padding: 10rem 0;
	background: #EFF7F7;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}
.c-h-intro__col{
	padding: 0 6rem;
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.c-h-intro__col--2{
	padding-bottom: 2rem;
}
.c-h-intro__col--1{
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.c-h-intro__wrapcont{
	max-width: 40rem;
}
.c-h-intro__col--1::before,
.c-h-intro__col--1::after,
.c-h-intro__col--2::after{
	content: '';
	position: absolute;
	background: #AECECB;
}
.c-h-intro__col--1::before,
.c-h-intro__col--2::after{
	left: 0;
	top: 0;
	width: 100%;
	height: 0.125rem;
	max-width: 100%;
}
.c-h-intro__col--1::after{
	right: 0;
	top: 0;
	width: 0.125rem;
	height: 100%;
	max-height: 100%;
}
.c-h-intro__col--2::after{
	top: auto;
	bottom: 0;
}
.c-h-intro__h2{
	font-size: 2.5rem;
	position: relative;
	top: -5.5rem;
	background: #EFF7F7;
	z-index: 1;
	max-width: 27.5rem;
}
.c-h-intro__p--up{
	margin-top: -3rem;
}
.c-h-intro__h2--sub{
	font-size: 1.2rem;
	margin: 0 0 1rem 0;
	display: inline-block;
}
.c-h-intro__col--flex{
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
}
.c-h-intro__btn{
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 4rem;
	padding: 0 2rem;
	background: #EFF7F7;
	-webkit-transform: translateY(50%);
	    -ms-transform: translateY(50%);
	        transform: translateY(50%);
}
.c-h-intro__h2:before{
	content: '';
	position: absolute;
	background: #EFF7F7;
	width: calc(100% + 4rem);
	max-width: 27.5rem;
	height: 100%;
	left: -2rem;
	z-index: -1;
}
@media all and (max-width: 1250px){
	.c-h-intro{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.c-h-intro__col{
		padding: 0 2.5rem;
		width: 95%;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.c-h-intro__col--1{
		padding-bottom: 0.25rem;
	}
	.c-h-intro__col.c-h-intro__col--2{
		padding-bottom: 4rem;
	}
	.c-h-intro__btn{
		left: auto;
		right: 4rem;
	}
	.c-h-intro__col--2::before{
		content: '';
		position: absolute;
		background: #EDEDED;
		right: 0;
		top: 0;
		width: 0.125rem;
		height: 100%;
		max-height: 100%;
	}
}
@media all and (max-width: 750px){
	.c-h-intro__col{
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.c-h-intro__h2{
		width: auto;
	}
	.c-h-intro{
		padding: 10rem 0 7.5rem 0;
	}
}
@media all and (max-width: 475px){
	.c-h-intro__h2{
		font-size: 2rem;
		padding-right: 0;
		top: -4.5rem;
		max-width: 16.5rem;
	}
	.c-h-intro__p--up{
		margin-top: -2rem;
	}
	.c-h-intro__h2--sub{
		font-size: 1.2rem;
	}
	.c-h-intro__btn{
		right: 1rem;
		padding: 0 1rem 0 2rem;
	}
}
@media all and (max-width: 400px){
	.c-h-intro__h2:before{
		width: 8rem;
	}
	.c-h-intro__col{
		padding: 0 1.5rem;
	}
	.c-h-intro__h2{
		max-width: 15.5rem;
	}
}

.c-h-domains{
	position: relative;
	background: -o-linear-gradient(top, #79A8A5 10rem, #EFF7F7 1px, #EFF7F7);
	background: linear-gradient(to bottom, #79A8A5 10rem, #EFF7F7 1px, #EFF7F7);
	overflow: hidden;
	padding: 0 6rem 8rem 6rem;
}
.c-h-domains__fili{
	bottom: 8rem;
	left: 0;
	height: 60%;
	position: absolute;
	opacity: 1;
}
.c-h-domains__fili:nth-of-type(2){
	left: auto;
	right: 0;
}
.c-h-domains__arrows, .c-h-domains__el::after{
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 50%);
	    -ms-transform: translate(-50%, 50%);
	        transform: translate(-50%, 50%);
}
.c-h-domains__el::after{
	content: '';
	bottom: -5rem;
}
.c-h-domains__arrow, .c-h-domains__el::after{
	width: 0;
	height: 0;
	border-left: 0.4375rem solid transparent;
	border-right: 0.4375rem solid transparent;
	border-top: 0.75rem solid #116466;
	margin: 1rem 0;
}
.c-h-domains__el:last-of-type::after{
	display: none;
}
.c-h-domains__el:last-of-type{
	margin-bottom: 0;
}
.c-h-domains__intro{
	position: relative;
	text-align: center;
	margin: 0 auto;
	max-width: 62rem;
	padding: 6rem;
}
.c-h-domains__intro::before, .c-h-domains__intro::after{
	content:'';
	position: absolute;
	bottom: 2rem;
	height: 50%;
	width: 0.125rem;
	background: #AECECB;
}
.c-h-domains__intro::before{
	left: 0;
}
.c-h-domains__intro::after{
	right: 0;
}
.c-h-domains__img{
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.2)), to(rgba(0,0,0,0.2))), url('/images/portfolio-developpeur-web-01.jpg');
	background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('/images/portfolio-developpeur-web-01.jpg');
	background-image: linear-gradient(to top, rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('/images/portfolio-developpeur-web-01.jpg');
	background-size: cover;
	height: 35rem;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	z-index: 4;
	max-width: 92rem;
	padding: 2rem;
	margin: 0 auto;
	position: relative;
	-webkit-box-shadow: 1px 1px 1rem rgba(7,37,38,0.2);
	        box-shadow: 1px 1px 1rem rgba(7,37,38,0.2);
}
.c-h-domains__h2{
	max-width: 50rem;
	font-size: 2.7rem;
	text-align: center;
	color: #fff;
	line-height: 1.5;
	text-shadow: 1px 1px 0 #000;
	margin: 2.5rem auto 4rem auto;
}
.c-h-domains__h2 span + span{
	display: inline-block;
	margin-top: 1rem;
}
.c-h-domains__btn{
	margin-top: 3rem;
}
.c-h-domains__els{
	position: relative;
	text-align: center;
	margin: 2.5rem auto 0 auto;
	max-width: 62rem;
	padding: 2.5rem 6rem 6.5rem 6rem;
	border: 0.125rem solid #AECECB;
	border-top: none;
}
.c-h-domains__p{
	max-width: none;
}
.c-h-domains__els::before, .c-h-domains__els::after{
	content: '';
	position: absolute;
	height: 0.125rem;
	width: 45%;
	background: #AECECB;
	top: -2.5rem;
}
.c-h-domains__els::before{
	left: -8rem;
}
.c-h-domains__els::after{
	right: -8rem;
}
.c-h-domains__el{
	width: 100%;
	display: inline-block;
	margin: 3rem 0 5rem 0;
	position: relative;
	z-index: 4;
}
.c-h-domains__icon{
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	display: inline-block;
}
.c-h-domains__h3{
	font-family: 'lemonmilk';
	margin-bottom: 1.5rem;
}

@media all and (max-width: 780px){
	.c-h-domains{
		padding: 0 5% 5rem 5%;
	}
	.c-h-domains__els{
		padding: 2.5rem 5% 5rem 5%;
	}
	.c-h-domains__intro{
		padding: 5rem 5%;
	}
}
@media all and (max-width: 600px){
	.c-h-domains__h2{
		font-size: 2.3rem;
	}
	.c-h-domains__img{
		height: 30rem;
	}
	.c-h-domains__fili{
		display: none;
	}
}
@media all and (max-width: 479px){
	.c-h-domains__h2{
		font-size: 2rem;
	}
	.c-h-domains__img{
		height: 25rem;
	}
}
@media all and (max-width: 400px){
	.c-h-domains__h2{
		font-size: 1.5rem;
	}
	.c-h-domains__img{
		height: 20rem;
	}
}

/* =========== PROJETS =========== */

.c-projets{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 4rem 2rem;
	background: #ECF2F2;
}
.c-projet{
	max-width: 80rem;
	width: 100%;
	margin: 4rem 0;
	right: 2rem;
	z-index: 1;
	position: relative;
	min-height: 30rem;
	-webkit-box-shadow: 0.5rem 0.5rem 1rem 0 rgba(7,37,38,.05);
	        box-shadow: 0.5rem 0.5rem 1rem 0 rgba(7,37,38,.05);
}
.c-projet--reversed{
	left: 2rem;
	right: auto;
}
.c-projet__img{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	overflow: hidden;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	position: relative;
	background: #116466;
}
.c-projet__overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(0,0,0,0.4);
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
.c-projet__img:hover .c-projet__overlay{
	background: rgba(0,0,0,0.25);
}
.c-projet__txt{
	max-width: 22.5rem;
	width: 100%;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	padding: 3rem 3rem 8rem 3rem;
	background: #fff;
	position: relative;
}
.c-projet__h3{
	position: absolute;
	bottom: 3rem;
	left: 1.5rem;
	color: #fff;
	font-size: 2.5rem;
	padding: 0 1.5rem;
	text-shadow: 1px 1px 1px #333;
}
.c-projet__date{
	font-size: 1.2rem;
	color: #FF9B56;
	text-transform: none;
	font-weight: 400;
	line-height: 1.7;
}
.c-projet__h3--reversed{
	left: auto;
	right: 1.5rem;
	text-align: right;
}

.c-projet__btn{
	position: absolute;
	bottom: 3rem;
	width: 16.5rem;
}
.c-projet__icon{
	width: 2rem;
	min-width: 2rem;
	margin-right: 1rem;
}
.c-projet__tasks{
	margin: 2.5rem 0;
}
.c-projet__task{
	margin: 1rem 0;
	font-size: 0.9rem;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	font-family: 'lemonmilk';
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}
.c-projet__task p{
	line-height: 1.3;
}
@media all and (max-width: 1024px){
	.c-projets{
		padding: 3rem 0;
	}
	.c-projet{
		right: auto;
		left: auto;
		margin: 1.5rem 0;
	}
}
@media all and (max-width: 800px){
	.c-projet{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.c-projet--reversed{
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
	.c-projet__img{
		height: 25rem;
		-webkit-box-flex: 1;
		    -ms-flex: auto;
		        flex: auto;
	}
	.c-projet__txt{
		max-width: none;
		padding: 2.5rem 5rem 3.5rem 5rem;
	}
	.c-projet__tasks{
		margin: 1.5rem 0;
	}
	.c-projet__task{
		margin: 0.5rem 1.5rem 0.5rem 0;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
	}
	.c-projet__btn{
		position: relative;
		bottom: auto;
		margin-top: 1rem;
	}
}
@media all and (max-width: 610px){
	.c-projet__h3{
		bottom: 1.5rem;
		left: 0;
	}
	.c-projet__h3--reversed{
		left: auto;
		right: 0;
	}
	.c-projet__txt{
		padding: 2.5rem 1.75rem 3.5rem 1.75rem;
	}
}
@media all and (max-width: 460px){
	.c-projet__task{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.c-projet__h3{
		font-size: 2.1rem;
	}
	.c-projet__date{
		font-size: 1.2rem;
	}
}

/* =========== LOGO BANNER =========== */

.c-endp{
	background: #0A3E3E;
	color: #AECECB;
	position: relative;
	z-index: 1;
	padding: 6rem 10rem 6rem 0;
	overflow: hidden;
}
.c-endp--h{
	padding: 8rem 5% 8rem 46rem;
}
.c-endp__fili{
	position: absolute;
	left: 0;
	bottom: 0;
	height: 46rem;
	width: 46rem;
}
.c-endp__h2{
	font-size: 1.8rem;
	color: #fff;
	max-width: 30rem;
	margin-bottom: 2.5rem;
}
.c-endp__content{
	position: relative;
	width: auto;
	z-index: 4;
	max-width: 54rem;
}
.c-header__rings--br{
	right: 0;
	bottom: 0;
	-webkit-transform: translate(50%, 50%) scale(1.5);
	    -ms-transform: translate(50%, 50%) scale(1.5);
	        transform: translate(50%, 50%) scale(1.5);
}
.c-header__rings--br .c-header__ring{
	border-bottom-color: #083535;
	border-top-color: #083535;
}
.c-header__rings--br .c-header__ring:nth-child(2){
	border-bottom-color: #073030;
	border-top-color: #073030;
}
.c-header__rings--br .c-header__ring:nth-child(3){
	border-bottom-color: #062D2D;
	border-top-color: #062D2D;
}
.c-endp__btns{
	float: right;
	gap: 2rem;
	margin-top: 3rem;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

@media all and (max-width: 1675px){
	.c-endp__fili{
		left: -20rem;
	}
	.c-endp--h{
		padding: 8rem 5% 8rem 18rem;
	}
}
@media all and (max-width: 1100px){
	.c-endp__fili{
		display: none;
	}
	.c-endp--h{
		padding: 8rem 5%;
	}
}
@media all and (max-width: 375px){
	.c-endp__h2{
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}
}

/*=========== CONTACT -c- =========== */
.c-contact{
	background: #0A3E3E;
	margin-top: 4rem;
	position: relative;
}
.c-contact.c-contact--100vh{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	width: 100%;
	margin-top: 2rem;
	z-index: 0;
}
@media all and (max-width: 760px){
	.c-contact--100vh .c-c-bubbles{
		display: none;
	}
}

.c-contact__h2{
	color: #fff;
	font-size: 1.5rem;
}
.c-contact__item{
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	margin-top: 1.5rem;
	font-weight: 700;
	opacity: 0;
}
.c-contact__item.is-revealed{
	-webkit-animation-delay: 0.3s;
	        animation-delay: 0.3s;
}
.c-contact__item.is-revealed:last-child{
	-webkit-animation-delay: 0.6s;
	        animation-delay: 0.6s;
}
.c-contact__a{
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.c-contact__a:hover{
	color: #FF9B56;
}
.c-contact__icon{
	width: 2rem;
	margin-right: 1.25rem;
}
.c-form-pt{
	padding: 4rem;
	max-width: 60rem;
	margin: 0 auto;
	background: #116466;
	top: -4rem;
	z-index: 4;
	position: relative;
	-webkit-box-shadow: 0.1rem -0.1rem 0.2rem rgba(0,0,0,0.05);
	        box-shadow: 0.1rem -0.1rem 0.2rem rgba(0,0,0,0.05);
}
.c-form{
	margin-top: 2.5rem;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.c-form__label, .c-form__textarea{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	min-width: 17rem;
	margin: 0 2.5rem 1.25rem 0;
	color: #AECECB;
}
.c-form__inputs{
	margin-right: 4rem;
}
.c-form__input{
	margin-top: 0.5rem;
	display: block;
	width: 100%;
	padding: 0.75rem 1.25rem;
	font-size: 1.1rem;
	color: #072526;
	background: #F7FFFE;
}
.c-form__label:nth-child(2n){
	margin-right: 0;
}
.c-form__textarea{
	max-width: none;
	min-height: 20rem;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
}
.c-form__input--txt{
	display: block;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	resize: none;
}
.c-form__btn{
	padding: 0 2.5rem;
	margin: 1.5rem 0;
}
.c-form__end{
	right: 4rem;
	bottom: 4rem;
	margin-top: 2.5rem;
	width: 100%;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.c-c-bubbles{
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	overflow: hidden;
}
.o-c-bubble:nth-child(1){
	top: 50%;
	left: 25%;
	background: #0E4849;
	-webkit-animation-duration: 20s;
	        animation-duration: 20s;
	animation-direction: reverse;
}
.o-c-bubble:nth-child(2){
	top: 15%;
	right: -5%;
	background: #0F4F51;
	-webkit-animation-duration: 30s;
	        animation-duration: 30s;
}
.o-c-bubble:nth-child(3){
	bottom: 15%;
	right: 10%;
	background: #0E4849;
	-webkit-animation-duration: 15s;
	        animation-duration: 15s;
}
.o-c-bubble:nth-child(4){
	bottom: 15%;
	left: 10%;
	background: #0C4546;
	-webkit-animation-duration: 40s;
	        animation-duration: 40s;
	animation-direction: reverse;
}
.o-c-bubble:nth-child(5){
	bottom: 25%;
	left: 0;
	background: #0F4F51;
	-webkit-animation-duration: 50s;
	        animation-duration: 50s;
}
.o-c-bubble:nth-child(6){
	bottom: 15%;
	left: 50%;
	background: #0F4F51;
	-webkit-animation-duration: 50s;
	        animation-duration: 50s;
}
.o-c-bubble:nth-child(7){
	bottom: 0;
	left: 45%;
	background: #0E4849;
	-webkit-animation-duration: 35s;
	        animation-duration: 35s;
	animation-direction: reverse;
}
@media all and (max-width: 970px){
	.c-form-pt{
		top: 0;
		max-width: none;
	}
	.c-contact{
		margin-top: 0;
	}
}
@media all and (max-width: 730px){
	.c-form__label{
		margin-right: 0;
		min-width: 100%;
	}
}
@media all and (max-width: 630px){
	.c-form-pt{
		padding: 3rem 1.5rem;
	}
}
@media all and (max-width: 400px){
	.c-contact__a{
		font-size: 1.1rem;
	}
	.c-contact__icon{
		width: 1.5rem;
		margin-right: 0.75rem;
	}
}
@media all and (max-width: 335px){
	.g-recaptcha{
		position: relative;
		left: -1rem;
	}
}

/* =========== MENTIONS LEGALES + CGV =========== */

.o-gsec{
	padding: 4rem 2rem;
	background: #ECF2F2;
}
.c-alterbks{
	padding: 0 2rem;
	max-width: 80rem;
	margin: 0 auto;
	position: relative;
}
.c-alterbk{
	margin: 2rem 0 6rem 0;
	position: relative;
	right: 2rem;
	z-index: 1;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}
.c-p--cgv{
	max-width: 55rem;
}
.c-alterbk:last-child{
	margin-bottom: 2rem;
}
.c-alterbk__h3{
	font-size: 1.5rem;
	margin: 1.5rem 0;
}
.c-alterbk--reversed{
	text-align: right;
	left: 2rem;
	right: auto;
}
.c-alterbk__img{
	overflow: hidden;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	min-height: 20rem;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.c-alterbk__band{
	width: 1rem;
	min-width: 1rem;
	min-height: 20rem;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	background-color: #116466;
}
.c-alterbk__txt{
	max-width: 55%;
	min-width: 30rem;
	padding: 3rem 4rem;
	background: #fff;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
}
.c-alterbk__txt--large{
	max-width: 100%;
	text-align: left;
}
.c-alterbk--reversed .c-alterbk__bar{
	right: 7rem;
	left: auto;
}
.c-number{
	font-size: 2rem;
	color: #3e4e50;
}

@media all and (max-width: 1225px){
	.c-alterbk__txt{
		min-width: 20rem;
	}
}
@media all and (max-width: 950px){
	.c-alterbk{
		left: auto;
		right: auto;
	}
	.c-alterbk__txt{
		padding: 2rem 3rem;
	}
}
@media all and (max-width: 850px){
	.c-alterbk{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		margin: 1rem 0 4rem 0;
	}
	.c-alterbk:last-child{
		margin-bottom: 1rem;
	}
	.c-alterbk--reversed{
		text-align: left;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
	.c-alterbk__bar{
		top: -1.5rem;
		height: 4rem;
	}
	.c-alterbk__txt{
		max-width: 100%;
		min-width: auto;
	}
	.c-alterbk__img{
		height: 20rem;
	}
	.c-alterbk__band{
		width: 50%;
		height: 1rem;
		min-height: 0;
	}
}
@media all and (max-width: 475px){
	.c-alterbks{
		padding: 0;
	}
	.c-alterbk__txt{
		padding: 1rem 2rem 3rem 2rem;
	}
}
@media all and (max-width: 400px){
	.o-gsec{
		padding: 3rem 0;
		background: #ECF2F2;
	}
}

.c-alterbk__list-item{
	list-style-type: none;
	margin: 0.75rem 0;
	width: 100%;
}
.c-alterbk__ul{
	margin: 1.5rem 0;
}
.c-alterbk__li{
	margin: 1rem 0 1rem 1.5rem;
	line-height: 1.4;
	padding-left: 1rem;
}
.c-alterbk__list-item:first-child{
	font-weight: 700;
	color: #3e4e50;
	margin: 1.5rem 0 0 0;
}
