/*
Theme Name: Mohican Technologies
Author: PUShAUNE
Author URI: https://www.pushaune.com
Version: 1.0.0
License: http://creativecommons.org/licenses/by-nc-nd/3.0/
*/

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;padding: 0;vertical-align: baseline;} body {background: #fff;line-height: 1;}ol, ul {list-style: none;}table {border-collapse: separate;border-spacing: 0;}caption, th, td {font-weight: normal;text-align: left;}blockquote:before, blockquote:after, q:before, q:after {content: "";}blockquote, q {quotes: "" "";}a img {border: 0;}article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;} a{text-decoration: none;}figure{margin: 0;}

button {
  appearance: none;
  background: transparent;
  /* Other styles */
}

/* = Here it goes!
----------------------------------------------- */
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-Light.woff2') format('woff2'),
         url('fonts/Aestetico-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-LightIt.woff2') format('woff2'),
         url('fonts/Aestetico-LightIt.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
    unicode-range: U+000-5FF;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-SemiBold.woff2') format('woff2'),
         url('fonts/Aestetico-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-SemiBoldIt.woff2') format('woff2'),
         url('fonts/Aestetico-SemiBoldIt.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
    unicode-range: U+000-5FF;
}
/*  Variables */
:root{
	--main_column: 75rem;
	--gutter: 1.875rem;
	--main_color: #36CAFF;
	--secondary_color: #008ABA;
	--main_red: #FF3C38;
	--main_black: #ffffff;
	--transition: all 0.4s ease;
	/* font size */
	--5px: 0.3125rem;
	--8px: 0.5rem;
	--10px: 0.62rem;
	--12px: 0.75rem;
	--14px: 0.875rem;
	--15px: 0.9375rem;
	--16px: 1rem;
	--18px: 1.125rem;
	--20px: 1.25rem;
	--22px: 1.375rem;
	--24px: 1.5rem;
	--28px: 1.75rem;
	--30px: 1.875rem;
	--32px: 2rem;
	--34px: 2.125rem;
	--36px: 2.25rem;
	--38px: 2.375rem;
	--40px: 2.5rem;
	--44px: 2.75rem;
	--50px: 3.125rem;
	--52px: 3.25rem;
	--58px: 3.625rem;
	--60px: 3.75rem;
	--72px: 4.5rem;
	--80px: 5rem;
	--88px: 5.5rem;
	--92px: 5.75rem;
	--94px: 6rem;
	--100px: 6.25rem;
	--130px: 8.125rem;
	--150px: 9.375rem;
	--170px: 10.625rem;
	--200px: 12.5rem;
	--250px: 15.625rem;
	--350px: 21.875rem;
	--450px: 28.125rem;
}
html{
	scroll-behavior: smooth;
}
#technologies{
	scroll-margin-top : 180px;
}
html, body{
  height: 100%;
  width: 100%;
}
*,
*:after,
*:before{
	box-sizing: border-box;
}
::selection {
    background: var(--main_color);
    color:#fff;
}
img,
video{
	max-width: 100%;
	height: auto;
}
.text iframe, .text embed { aspect-ratio: 16/9; width: 100%; }
.show_menu_mobile{
	display: none;
}
a{
    color: inherit;
}
svg{
    color: inherit;
    display: block;
    fill: currentColor;
}
em, i{
    font-style: italic;
}
b, strong{
    font-weight: 600;
}
hr.clear{
	height: 1px;
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	width: 100%;
	border: none;
	background: none;
}
/* Infobulles GMaps */
.gm-style-iw h2{
    font-weight: bold;
    margin-bottom: 15px;
}
.gm-style-iw > div{
    width: auto !important;
}
.gm-style-iw p{
    margin-bottom: 5px;
}
.gm-style img{
    max-width: inherit;
}

/* Vidéo responsive */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
    clear: both;
}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Accessibilité  */
a.evitement,
a#evitement,
a#contenu_evitement,
a.contenu_evitement{
   display: inline-block;
   color: #555;
   background: #fff;
   padding: .5em;
   position: absolute;
   left: -99999rem;
   z-index: 100;
}
a.evitement:focus,
a#evitement:focus,
a#contenu_evitement:focus,
a.contenu_evitement:focus{
   left: 0;
}

/* = Grille
----------------------------------------------- */
.center{
	max-width: var(--main_column);
	margin: auto;
	display: block;
}
.container{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
.container.reverse{
	flex-direction: row-reverse;
}
.container.missing::after {
  content: "";
  flex: auto;
}
.container.missing > *:last-child {
	margin-left: var(--gutter);
}
.container > .all_width {
	margin-left: 0;
}
.container.align_bottom{
	align-items: flex-end;
}
.container.align_top{
	align-items: flex-start;
}
.container.align_center{
	align-items: center;
}
.all_width{ width: 100%; }
.demi{ width: calc(50% - calc(var(--gutter)/2) ); }
.tiers{ width: calc(calc(100%/3) - calc(var(--gutter)*2/3 )); }
.quart{ width: calc(25% - calc(var(--gutter)*3/4) ); }
.cinquieme{ width: calc(calc(100%/5) - calc(var(--gutter)*3/4) ); }
.sixieme{ width: calc(calc(100%/6) - calc(var(--gutter)*3/4) ); }
.trois-quart{ width: calc(75% - calc(
	calc(var(--gutter)/2 - 
		calc(var(--gutter)/6))
	) ); }
.deux-tiers{ width: calc(calc(100%*calc(2/3)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.cinq_douzieme{ width: calc(calc(100%*calc(5/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.sept_douzieme{ width: calc(calc(100%*calc(7/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }

/* Valeures absolues */
.all_width.abs{ width: var(--main_column); }
.demi.abs{ width: calc(calc(var(--main_column)/2) - calc(var(--gutter)/2) ); }
.tiers.abs{ width: calc(calc(var(--main_column)/3) - calc(var(--gutter)*2/3 )); }
.quart.abs{ width: calc(calc(var(--main_column)/4) - calc(var(--gutter)*3/4) ); }
.cinquieme.abs{ width: calc(calc(var(--main_column)/5) - calc(var(--gutter)*3/4) ); }
.sixieme.abs{ width: calc(calc(var(--main_column)/6) - calc(var(--gutter)*3/4) ); }
.trois-quart.abs{ width: calc(var(--main_column)*calc(3/4) - calc(
	calc(var(--gutter)/2 - 
		calc(var(--gutter)/6))
	) ); }
.deux-tiers.abs{ width: calc(calc(var(--main_column)*calc(2/3)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.cinq_douzieme.abs{ width: calc(calc(var(--main_column)*calc(5/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.sept_douzieme.abs{ width: calc(calc(var(--main_column)*calc(7/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }

/* Sans marges */
.all_width.sans{ width: 100%; }
.demi.sans{ width: 50%; }
.tiers.sans{ width: calc(100%/3); }
.quart.sans{ width: 25%; }
.cinquieme.sans{ width: calc(100%/5); }
.sixieme.sans{ width: calc(100%/6); }
.trois-quart.sans{ width: 75%; }
.deux-tiers.sans{ width: calc(100%*calc(2/3)); }
.cinq_douzieme.sans{ width: calc(100%*calc(5/12)) }
.sept_douzieme.sans{ width: calc(100%*calc(7/12)); }

/* float */
.container.float{
	display: block;
	justify-content: flex-start;
}
.container.float .all_width,
.container.float .demi,
.container.float .tiers,
.container.float .quart,
.container.float .sixieme,
.container.float .trois-quart,
.container.float .deux-tiers,
.container.float .cinq_douzieme,
.container.float .sept_douzieme{
	margin-right: var(--gutter);
	float: left;
}
.container.float .demi:nth-child(2n),
.container.float .tiers:nth-child(3n),
.container.float .quart:nth-child(4n),
.container.float .quart + .trois-quart,
.container.float .trois-quart + .quart,
.container.float .tiers + .deux-tiers,
.container.float .deux-tiers + .tiers{
	margin-right: 0px !important;
}
.container.float .demi:nth-child(2n+1),
.container.float .tiers:nth-child(3n+1),
.container.float .quart:nth-child(4n+1){
	clear: both;
}
/* Padding and margin */
.padding_right{ padding-right: calc(var(--main_column)/12); }
.padding_left{ padding-left: calc(var(--main_column)/12); }
.margin_right{ margin-right: calc(var(--main_column)/12); }
.margin_left{ margin-left: calc(var(--main_column)/12); }
.padding_right_double{ padding-right: calc(var(--main_column)/6); }
.padding_left_double{ padding-left: calc(var(--main_column)/6); }
.margin_right_double{ margin-right: calc(var(--main_column)/6); }
.margin_left_double{ margin-left: calc(var(--main_column)/6); }


/* Sticky */
.sticky{
	position: sticky;
	top: 180px;
	z-index: 6;
}
.container > .demi:has(.sticky) {
  position: sticky;
  top: 180px;
  align-self: flex-start;
}

.container > .demi:has(.sticky) .sticky {
  position: static;
}

/* Adding margin to center */
.center.margin_right{ 
	margin-right: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/12));
	width: auto;
}
.center.margin_left{ 
	margin-left: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/12));
	width: auto;
}
.center.margin_right_double{ 
	margin-right: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/6));
	width: auto;
}
.center.margin_left_double{ 
	margin-left: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/6));
	width: auto;
}


/* = Lightbox
----------------------------------------------- */
#lightbox{
	position: fixed;
	background-color: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	top: 0;
	left: 0;
	z-index: 2000000;
	height: 100vh;
	width: 100vw;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease;
}
#lightbox.show{
	opacity: 1;
	visibility: visible;
}
#lightbox img{
	display: block;
	margin: auto;
	max-width: 90%;
	max-height: 90%;
}


/* = Galerie
----------------------------------------------- */
.grid{
	margin-top: var(--30px);
	margin-bottom: var(--30px);
}
.grid-col{
   width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
}
/* 2 columns by default, hide columns 2 & 3 */
.grid-col:nth-child(n+3) {
  display: none;
}
@media (min-width: 768px) {
  .grid-col:nth-child(3) {
    display: block;
  }
}
.grid-item{
	margin-bottom: var(--30px);
	display: block;
	transition: var(--transition);
}
.grid-item:hover{
	opacity: 0.5;
}

/* = Slider page builder
----------------------------------------------- */
.mohican-slider{
	position: relative;
	overflow: hidden;
	width: 100%;
}
.mohican-slider-track{
	display: grid;
}
.mohican-slider-slide{
	grid-area: 1 / 1;
	opacity: 0;
	pointer-events: none;
	position: relative;
	transition: opacity 0.8s ease;
	z-index: 1;
}
.mohican-slider-slide:first-child{
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}
.mohican-slider.is-ready .mohican-slider-slide{
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}
.mohican-slider.is-ready .mohican-slider-slide.is-active{
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}
.mohican-slider-slide img{
	display: block;
	height: auto;
	width: 100%;
}

/* = Banner & image cover
----------------------------------------------- */
.banner,
.bloc.banner{
	position: relative;
	overflow: hidden;
	padding: 150px 0;
	color: #fff;
}
.banner > img,
.banner > video{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	object-fit: cover;
	object-position: center center;
	top: 0;
}
.banner .center{
	position: relative;
	z-index: 5;
	color: #fff;
}
.banner .center > *:last-child{
	margin-bottom: 0;
}
.banner.droite .center{
	text-align: right;
	justify-content: flex-end;
}
.banner.centre .center{
	text-align: center;
	justify-content: center;
}
.image_cover img{
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}


/* = Typo
----------------------------------------------- */
body{
    color: var(--main_black);
    background-color: #06283E;
    font-family: aestetico, sans-serif;
    font-size: var(--16px);
    font-weight: 300;
}
p{
    line-height: 1.6em;
    margin-bottom: 1.4em;
}
h1{
	font-size: var(--40px);
    font-weight: 300;
    margin-bottom: var(--20px);
    line-height: 1.2em;
    color: var(--main_color);
}
h1 strong{
	font-weight: 600;
	color: var(--main_color);
}
h2{
	font-size: var(--32px);
    font-weight: 300;
    margin-bottom: var(--20px);
    line-height: 1.2em;
}
h2 strong{
	font-weight: 600;
	color: var(--main_color);
}
.text h3{
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: var(--5px);
}
.text p ~  h2,
.text ul ~ h2,
.text ol ~ h2{
	margin-top: 45px;
}
.text li{
  line-height: 1.4em;
  font-size: 15px;
}
.text ul,
.text ol{
  margin-bottom: 1.2em;
}
.text p ~ ul,
.text p ~ ol{
	margin-top: -1.2em;
}
.text ul li:before{
  content: "■ ";
}
.text ol{
  counter-reset: repas;
}
.text ol li{
  counter-increment: repas;
}
.text ol li:before{
  content: counter(repas);
  font-weight: bold;
  margin-right: 8px;
}
.text p.wp-caption-text{
	margin-top: 5px;
	font-style: italic;
	line-height: 1.2em;
	font-size: 14px;
	color: #646464;
	margin-bottom: 60px;
	text-align: left;
}
.text p a{
	text-decoration: underline;
	color: var(--main_color);
	transition: var(--transition);
}
.text p a:hover{
	background: var(--main_color);
	color: #fff;
	text-decoration: none;
}
.list-icons .single-icon{
	display: inline-block;
	margin-right: var(--20px);
	color: var(--main_color);
}


/* = Formulaires
----------------------------------------------- */
.btn,
input[type=submit],
.text p a.btn{
	display: inline-block;
	cursor: pointer;
	border: none;
	text-align: center;
	text-transform: uppercase;
	font-size: var(--14px);
	font-weight: 600;
	background-color: var(--main_color);
	color: #fff;
	height: 56px;
	border-radius: 28px;
	padding: 20px 30px;
	transition: var(--transition);
	line-height: 1em;
	color: var(--main_black);
	text-decoration: none;
}
.btn:hover,
input[type=submit]:hover,
.text p a.btn:hover{
	background-color: var(--secondary_color);
}
.btn .icon,
p .icon,
.single-icon .icon,
h3 .icon,
.item-single .icon{
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
	margin-top: -3px;
	width: var(--24px);
	height: var(--24px);
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="number"],
textarea{
	display: block;
	background: transparent;
	border: 1px solid var(--main_black);
	color: var(--main_black);
	padding: 15px 13px 15px 13px;
	width: 100%;
    font-family: 'aestetico', sans-serif;
	font-size: var(--14px);
	border-radius: 5px;
	-webkit-appearance: none;
	height: inherit;
    transition: all 0.4s ease;
	transition: var(--transition);
}
textarea{
	resize: vertical;
}
input[type="text"]:hover,
textarea:hover,
input[type="tel"]:hover,
input[type="password"]:hover,
input[type="email"]:hover,
input[type="date"]:hover,
input[type="search"]:hover,
input[type="number"]:hover{
	border: 1px solid var(--main_color);
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="number"]:focus{
	border: 1px solid var(--main_color);
}

/* Contact form 7 */
form.wpcf7-form{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	position: relative;
}
.wpcf7-form-control-wrap{
	display: block;
	margin-bottom: 10px;
	width: 100%;
}
.wpcf7-form-control-wrap[data-name='Nom'],
.wpcf7-form-control-wrap[data-name='Societe'],
.wpcf7-form-control-wrap[data-name='Prenom'],
.wpcf7-form-control-wrap[data-name='Telephone'],
.wpcf7-form-control-wrap[data-name='Age'],
.wpcf7-form-control-wrap[data-name='Nationalite'],
.wpcf7-form-control-wrap[data-name='Email']{
	width: calc(calc(100%/2) - 5px);
}
.wpcf7-form-control-wrap.quizz{
	display: inline-block;
	width: auto;
}
body .wpcf7 form.invalid .wpcf7-response-output,
body .wpcf7 form.unaccepted .wpcf7-response-output{
	margin: 20px 0 0 0;
	padding: 10px;
	width: 100%;
}
div.wpcf7 .ajax-loader{
	position: absolute;
	bottom: 0;
	right: 0;
}

.wpcf7-form-control-wrap[data-name='capital-quiz']{
	display: inline-block;
	width: auto;
}
.wpcf7-form-control-wrap[data-name='capital-quiz'] label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: 400;
	font-size: 14px;
}
.wpcf7-form-control-wrap[data-name='capital-quiz'] label input[type="text"]{
	width: 70px;
	margin-left: 5px;
}


/* = Page builder
----------------------------------------------- */
#content{
	padding-top: var(--150px);
}
#content.builder > .container > *{
	margin-bottom: var(--gutter);
}
#content.builder img{
	border-radius: var(--20px);
}
#content.builder figure{
	margin-bottom: var(--gutter);
}
#content.builder figure figcaption{
	font-size: var(--14px);
	font-style: italic;
}
.bck-white{
	border-radius: var(--20px);
	padding: var(--30px);
	background: linear-gradient(140deg,rgba(28, 111, 144, 1) 0%, rgba(8, 33, 62, 1) 100%);
	margin-bottom: var(--60px);
}
#content.builder > .container.bck-white > .demi,
#content.builder > .container.bck-white > .tiers,
#content.builder > .container.bck-white > .quart{
	margin-bottom: 0;
}
#content.builder > .container.bck-white .demi > *:last-child,
#content.builder > .container.bck-white .tiers > *:last-child,
#content.builder > .container.bck-white .quart > *:last-child{
	margin-bottom: 0;
}
/* Tulle */
#content.builder .tulle{
	border-radius: var(--20px);
	background: linear-gradient(140deg,rgba(28, 111, 144, 1) 0%, rgba(8, 33, 62, 1) 100%);
	margin-bottom: var(--60px);
}
#content.builder .tulle > img{
	border-radius: var(--20px) var(--20px) 0 0;
	display: block;
	margin-bottom: var(--15px);
}

.tulle > *:not(img){
	margin-right: var(--30px);
	margin-left: var(--30px);
}
.tulle h3{
	font-weight: 700;
	color: var(--main_color);
	margin-bottom: var(--10px);
}
/* Items */
.item-single{
	border-radius: var(--20px);
	background: linear-gradient(140deg,rgba(28, 111, 144, 1) 0%, rgba(8, 33, 62, 1) 100%);
	margin-bottom: var(--10px);
	padding: var(--20px) var(--20px) var(--20px) var(--50px);
	border: 1px solid var(--main_color);
	position: relative;
	transition: var(--transition);
}
.item-single:hover{
	background: linear-gradient(140deg,rgba(54, 202, 255, 1) 0%, rgba(8, 33, 62, 1) 100%);
}
.item-single .icon{
	position: absolute;
	top: var(--22px);
	left: var(--18px);
	fill: var(--main_color);
	transition: var(--transition);
}
.item-single:hover .icon{
	fill: var(--main_black);
}
.item-single > *:last-child{
	margin-bottom: 0;
}


/* = Accueil
----------------------------------------------- */
#content.accueil{
	padding-top: 0;
}
.home-hero{
	min-height: 720px;
	padding: calc(var(--150px) + var(--80px)) 0 var(--100px);
	position: relative;
	overflow: hidden;
}
.home-hero::before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: min(58vw, 860px);
	height: 100%;
	background: url(images/bck-menu.png) top right / contain no-repeat;
	opacity: 0.42;
	pointer-events: none;
}
.home-hero .center{
	position: relative;
	z-index: 2;
}
.home-kicker{
	color: var(--main_color);
	font-size: var(--14px);
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: var(--16px);
	text-transform: uppercase;
}
.home-kicker-white{
	color: #fff;
	font-size: var(--14px);
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: var(--16px);
	text-transform: uppercase;
}
.home-hero h1{
	font-size: var(--60px);
	max-width: 860px;
}
.home-intro{
	font-size: var(--20px);
	max-width: 780px;
}
.home-hero-panel{
	border: 1px solid rgba(54, 202, 255, 0.6);
	border-radius: var(--20px);
	background: linear-gradient(140deg,rgba(28, 111, 144, 0.82) 0%, rgba(8, 33, 62, 0.9) 100%);
	padding: var(--30px);
}
.home-panel-title{
	color: var(--main_color);
	font-size: var(--14px);
	font-weight: 600;
	margin-bottom: var(--20px);
	text-transform: uppercase;
}
.home-hero-panel li{
	border-top: 1px solid rgba(255,255,255,0.18);
	padding: var(--20px) 0;
}
.home-hero-panel li:last-child{
	padding-bottom: 0;
}
.home-hero-panel span{
	display: block;
	font-size: var(--14px);
	margin-bottom: var(--8px);
	opacity: 0.7;
}
.home-hero-panel strong{
	display: block;
	font-size: var(--22px);
	line-height: 1.25em;
}
.home-entities{
	padding-bottom: var(--100px);
}
.home-section-head{
	max-width: 720px;
	margin-bottom: var(--50px);
}
.home-entity-card{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	--entity-color: var(--main_color);
	--entity-dark: #06283E;
	--entity-contrast: var(--main_black);
	--entity-border: rgba(54, 202, 255, 0.6);
	--entity-gradient-start: rgba(28, 111, 144, 1);
	--entity-gradient-end: rgba(8, 33, 62, 1);
	min-height: 520px;
	border: 1px solid var(--entity-border);
	border-radius: var(--20px);
	background: linear-gradient(140deg, var(--entity-gradient-start) 0%, var(--entity-gradient-end) 100%);
	padding: var(--30px);
	transition: var(--transition);
}
.home-entity-card-biomedical{
	--entity-color: var(--main_red);
	--entity-dark: #5E0B00;
	--entity-border: rgba(255, 60, 56, 0.68);
	--entity-gradient-start: rgba(94, 11, 0, 0.98);
	--entity-gradient-end: rgba(255, 60, 56, 0.24);
}
.home-entity-card-microengineering{
	--entity-color: var(--main_color);
	--entity-dark: #06283E;
	--entity-border: rgba(54, 202, 255, 0.6);
	--entity-gradient-start: rgba(28, 111, 144, 1);
	--entity-gradient-end: rgba(8, 33, 62, 1);
}
.home-entity-card:hover{
	border-color: var(--main_black);
	transform: translateY(-6px);
}
.home-entity-logo{
	display: flex;
	align-items: center;
	min-height: var(--80px);
	margin-bottom: var(--40px);
}
.home-entity-logo img{
	display: block;
	max-width: 290px;
	width: 100%;
}
.home-entity-logo svg{
	display: block;
	max-width: 290px;
	width: 100%;
	height: auto;
}
.home-entity-card .cls-1{
	fill: var(--entity-contrast);
}
.home-entity-card .cls-2{
	fill: var(--entity-color);
	transition: var(--transition);
}
.home-entity-card h2{
	color: var(--entity-color);
}
.home-card-link{
	align-self: flex-start;
	border: 1px solid var(--entity-color);
	border-radius: var(--28px);
	color: var(--main_black);
	display: inline-block;
	font-size: var(--14px);
	font-weight: 600;
	margin-top: var(--20px);
	padding: var(--18px) var(--30px);
	text-transform: uppercase;
	transition: var(--transition);
}
.home-card-link:hover,
.home-card-link:focus{
	background: var(--entity-color);
	color: var(--entity-dark);
}


/* = Header
----------------------------------------------- */
#header{
	position: fixed;
	background: #06283E;
	padding: var(--40px) 0 var(--30px) 0;
	width: 100%;
	transition: var(--transition);
	z-index: 50;
}
#logo{
	width: calc(calc(100%/6) - calc(var(--gutter)*3/4) );
}
#footer .cls-1,
#logo .cls-1 {
	fill: var(--main_black);
}
#footer .cls-2,
#logo .cls-2 {
	fill: var(--main_red);
	transition: var(--transition);
}
#menu_mobile > ul > li{
	display: inline-block;
	margin-left: var(--24px);
	text-transform: uppercase;
	font-size: var(--14px);
	font-weight: 600;
}
#menu_mobile > ul > li a:hover,
#menu_mobile > ul > li a:focus{
	opacity: 0.7;
}
#menu_mobile li.current-menu-item > a:not([href*="#"]),
#menu_mobile li.current-post-ancestor > a:not([href*="#"]),
#menu_mobile li.current-menu-parent > a:not([href*="#"]),
#menu_mobile li.current-category-ancestor > a:not([href*="#"]),
#menu_mobile li.current-menu-ancestor > a:not([href*="#"]),
#menu_mobile li.current-page-ancestor > a:not([href*="#"]) {
	color: var(--main_color);
}
#menu_mobile li.bouton a{
	display: inline-block;
	background-color: var(--main_color);
	color: #fff;
	height: var(--40px);
	border-radius: var(--20px);
	padding: var(--14px) var(--44px) var(--14px) var(--20px);
	transition: var(--transition);
}
#menu_mobile li.bouton a:hover,
#menu_mobile li.bouton a:focus{
	background-color: var(--secondary_color);
	opacity: 1;
}
#menu_mobile li.current-menu-item.bouton a,
#menu_mobile li.current-menu-item.bouton a:hover{
	background-color: var(--secondary_color);
	color: #fff;
}
#menu_mobile li.bouton a:after{
	content: '';
	display: inline-block;
	width: var(--24px);
	height: var(--24px);
	background-size: var(--24px) var(--24px);
	background-image: url(images/chat-1-line.svg);
	position: absolute;
	transform: translate(6px, -6px);
}


/* = Footer
----------------------------------------------- */
#footer{
	position: relative;
	padding: var(--50px) 0;
}
#footer::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 476px;
    background: url(images/bck-footer.png) bottom center / 3000px 591px no-repeat;
    pointer-events: none;
    z-index: -1;
    margin-bottom: -5px;
}
#content.no-footer-bg ~ #footer::after{
    content: none;
}
#footer h3{
	font-weight: 600;
	font-size: var(--14px);
	text-transform: uppercase;
	margin-bottom: var(--20px);
}
#content.no-footer-bg ~ #footer h3{
	color: var(--main_color);
}
#footer p{
	margin-bottom: 0;
}
#footer a{
	transition: var(--transition);
}
#footer a:hover,
#footer a:focus{
	color: var(--main_color);
}
#content.no-footer-bg ~ #footer a:hover,
#content.no-footer-bg ~ #footer a:focus{
	color: var(--main_color);
}


/* = Contact
----------------------------------------------- */
.push_tabulation .button{
	cursor: pointer;
}
.push_tabulation .button.show{
	cursor: default;
}
.push_tabulation .tab-container{
	display: none;
}
.push_tabulation .tab-container.show{
	display: flex;
}
.contact-tabs .button{
	border-radius: var(--20px);
	background: linear-gradient(140deg,rgba(28, 111, 144, 1) 0%, rgba(8, 33, 62, 1) 100%);
	margin-bottom: var(--50px);
	padding: var(--20px);
	border: 1px solid var(--main_color);
	position: relative;
	transition: var(--transition);
	text-align: center;
	font-weight: 700;
}
.contact-tabs .button svg{
	width: var(--80px);
	height: var(--80px);
	display: block;
	margin: 0 auto var(--20px);
	fill: var(--main_color);
}
.contact-tabs .button:hover{
	background: linear-gradient(140deg,rgba(54, 202, 255, 1) 0%, rgba(8, 33, 62, 1) 100%);
	color: #06283E;
}
.contact-tabs .button:hover svg,
.contact-tabs .button.show svg{
	fill: #06283E;
}
.contact-tabs .button.show{
	background: var(--main_color);
	color: #06283E;
}



/* #Media Queries
================================================== */
 
/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 1200px ) {
	.center{
		width: 100%;
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}
	.bck-white{
		width: cacl(100% - var(--40px));
		padding-left: var(--gutter);
		padding-right: var(--gutter);
		margin-right: var(--20px);
		margin-left: var(--20px);
	}
	#logo{
		width: var(--170px);
	}
	.home-hero h1{
		font-size: var(--50px);
	}
	.home-entity-logo img{
		max-width: 250px;
	}
}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	.quart,
	.trois-quart{
		width: calc(50% - 15px);
	}
	.quart:nth-child(2n){
		margin-right: 0px;
	}
	.quart:nth-child(2n+1){
		clear: both;
	}
}
 
/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {	

	/* Icon burger menu */
	.show_menu_mobile{
		align-items: center;
		position: fixed;
		left: 20px;
		bottom: 20px;
		height: 75px;
		width: 75px;
		border-radius: 50%;
		background: var(--main_color);
		z-index: 100;
		border: 2px solid #fff;
		display: flex;
	}
	.show_menu_mobile .icon{
		margin: auto;
		display: block;
		fill: #fff;
		width: 35px;
	}
	.show_menu_mobile .icon .lines{
		height: 4px;
		background: #fff;
		width: 100%;
		position: relative;
		display: block;
		transition: var(--transition);
	}
	.show_menu_mobile .icon .lines:after,
	.show_menu_mobile .icon .lines:before{
		position: absolute;
		height: 4px;
		background: #fff;
		width: 100%;
		content: "";
		display: block;
		transform-origin: center center;
		transition: var(--transition);
	}
	.show_menu_mobile .icon .lines:after{
		bottom: 0;
		margin-bottom: -10px;
	}
	.show_menu_mobile .icon .lines:before{
		top: 0;
		margin-top: -10px;
	}
	.show_menu_mobile .icon.close .lines{
		background: var(--main_color);
	}
	.show_menu_mobile .icon.close .lines:after{
		transform: rotate(-45deg);
		margin-bottom: 0px;
		margin-top: 30px;
	}
	.show_menu_mobile .icon.close .lines:before{
		transform: rotate(45deg);
		margin-top: 0px;
		margin-bottom: 30px;
	}

	/* Menu */
	header#header nav#menu_mobile{
		display: flex;
		align-items: center;
		width: 100%;
		float: none;
		position: fixed;
		left: 0;
	    top: 0;
	    bottom: 0;
	    right: 0;
	    background: #fff;
		padding: 0;
		font-size: var(--16px);
		margin-left: -100%;
		z-index: 100;
		transition: var(--transition);
	}
	header#header nav#menu_mobile.show{
    	margin-left: -0;
	}
	header#header nav#menu_mobile ul{
		margin: auto;
	}
	header#header nav#menu_mobile ul li{
		display: block;
		text-align: center;
		padding: 0;
		margin: 20px 0;
		float: none;
	}
	/* Header */
	.admin-bar header#header {
	    top: 0px;
	}
	header#header{
		position: relative;
		height: auto;
		display: block;
		z-index: 50;
	}
	.home-hero{
		min-height: 0;
		padding: var(--60px) 0 var(--70px);
	}
	.home-hero::before{
		width: 100%;
		opacity: 0.22;
	}
	.home-hero h1{
		font-size: var(--38px);
	}
	.home-intro{
		font-size: var(--18px);
	}
	.home-hero-panel{
		padding: var(--24px);
	}
	.home-entities{
		padding-bottom: var(--60px);
	}
	.home-section-head{
		margin-bottom: var(--30px);
	}
	.home-entity-card{
		min-height: 0;
		padding: var(--24px);
		transform: none;
	}
	.home-entity-card:hover{
		transform: none;
	}
	.home-entity-logo{
		margin-bottom: var(--30px);
	}
	/* Grille */
	.demi,
	.tiers,
	.quart,
	.trois-quart,
	.deux-tiers,
	.cinq_douzieme,
	.sept_douzieme{
		float: none;
		width: 100%;
		margin-right: 0px;
		margin-bottom: 30px;
	} 
	.container.reverse{
		flex-direction: row;
	}
	.container > .demi:has(.sticky){
		position: static;
	}
	#footer .cls-2{
		fill: var(--main_black);
	}
	#footer .cls-1{
		fill: var(--main_color);
	}
	#logo-footer{
		width: var(--170px);
	}
	#footer{
		padding-bottom: var(--100px);
	}
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {}
 
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {}
