@font-face {
	font-family: "Avant Garde";
	src: url('libs/AVGARDN_2.TTF');
}
@font-face {
	font-family: "Avant Garde";
	font-weight: bold;
	src: url('libs/AVGARDD_2.TTF');
}
@font-face {
	font-family: "Avant Garde";
	font-style: italic;
	src: url('libs/AVGARDDO_2.TTF');
}
body {
	font-size:18px;
	font-weight:300;
  overflow-x:hidden;
  color: #262626;
	font-family: "Avant Garde";
}
body a {
	color:inherit;
	text-decoration: none!important;
}
body a:hover,
body a:visited,
body a:focus {
	color:inherit;
	text-decoration: none!important;
}
p {
  letter-spacing: 1px;
  line-height: 25px;
}
img.fit-contain {
	object-fit: contain;
	width:100%;
	height:100%;
}
img.fit-contain-simple {
	object-fit: contain;
	max-width:100%;
}
img.fit-cover {
	object-fit: cover;
	width:100%;
	height:100%;
}
img.max-h-500 {
	max-height:500px;
}
img.max-h-800 {
	max-height:800px;
}
a.btn {
	padding:10px 15px;
	border: 2px solid #fff;
	border-radius:1px;
	color:#fff;
}
.medium-margin {
	margin-top:6em;
	margin-bottom:6em;
}
.large-margin {
	margin-top:11em;
	margin-bottom:8em;
}
.medium-padding {
	padding-top:6em;
	padding-bottom:6em;
}
.box-max-450 {
	max-width:450px;
	margin:0 auto;
}
.box-max-650 {
	max-width:650px;
	margin:0 auto;
}
.box-max-800 {
	max-width:800px;
	margin:0 auto;
}
.blue-bg-cut {
	background: rgb(255,255,255);
	background: -webkit-linear-gradient(rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(41,48,114,1) 10%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
	background: -o-linear-gradient(rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(41,48,114,1) 10%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
	background: linear-gradient(rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(41,48,114,1) 10%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
	color:#fff;
}

.blue-bg {
	background-color:#293072;
	color:#fff;
}
.blue-bg h2:after {
    background-color: #fff;
}
.blue-bg-cut h2:after {
    background-color: #fff;
}
.square {
  position: relative;
}
.square:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.square > a {
  position: absolute;
  width: 100%;
  height: 100%;
	overflow:hidden;
}
.square > a img {
	transition:all .2s ease;
}
.square > a:hover img {
  transform: scale(1.2);
}
#slider {
	margin-top: 0;
	width:100%;
}
body.home #slider .rev_slider_wrapper {
	margin-top: 0 !important;
}
body.home #slider,
body.home #slider .rev_slider_wrapper {
	background-color: #d3e7f7;
}

#container {
	min-height:100vh;
}
header.header {
	z-index:4;
	transition: all .25s ease;
	position: -webkit-sticky;
	position:sticky;
  width:100%;
  top: 0;
  background-color: rgba(255,255,255,1);
}
body.home header.header {
	position: fixed;
	left: 0;
	right: 0;
	background-color: transparent;
}
body.home header.header:not(.sticky) {
	box-shadow: none;
}
body.home header.header.sticky {
	background-color: rgba(255,255,255,1);
	box-shadow: 0 0 10px 0 rgb(0 0 0 / 30%);
}
header.header.sticky {
	background-color:rgba(255,255,255,1);
	box-shadow: 0 0 10px 0 rgb(0 0 0 / 30%);
}
#inner-header > a.header-logo {
	width:334px;
	max-width:calc( 100% - 60px);
}
#inner-header > a.header-logo img {
	max-height:100%;
	width:100%;
	max-width:100%;
	padding:5px 10px;
}
#menu-menu-fr {
	margin:0;
	display:flex;
	align-items:center;
	justify-content: center;
	height:100%;
}
#menu-menu-fr > li > a {
	font-size:1.1em;
	padding:0 2em;
	text-transform: uppercase;
	color:#293072;
	font-weight:450;
	letter-spacing:2px;
}
a.mega-menu-link {
	letter-spacing: 2px!important;
	font-weight:650!important;
}
#mega-menu-main-nav li a img {
	margin-right:20px;
}

ul.mega-sub-menu {
	box-shadow: 0 0 20px rgb(0 0 0 / 30%)!important;
}
#mega-menu-wrap-main-nav #mega-menu-main-nav > li.mega-menu-megamenu > ul.mega-sub-menu {
	left: -334px!important;
	width: 100vw!important;
}
#mega-menu-wrap-main-nav #mega-menu-main-nav li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
	max-width: 1200px!important;
  margin: 0 auto!important;
	float:none!important;
}
#description {
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
	background: rgba(41,48,114,1);
	color:#fff;
}
#description .img-left,
#description .img-right {
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:1;
}
#description .img-right {
	background: rgb(41,48,114);
background: linear-gradient(90deg, rgba(41,48,114,1) 0%, rgba(41,48,114,1) 5%, rgba(255,255,255,0) 100%);
}
#description .img-left {
	background: rgb(41,48,114);
background: linear-gradient(260deg, rgba(41,48,114,1) 0%, rgba(41,48,114,1) 5%, rgba(255,255,255,0) 100%);
}
.astm-search-menu {
	float:right!important;
	height:100px;
	width:100px;
	display:flex;
	align-items:center;
	justify-content:center;
	transition: all .25s ease;
}
header.header.sticky .astm-search-menu {
	background-color:#009bde;
}
header.header.sticky .is-menu path.search-icon-path {
    fill: #ffffff!important;
}
h2 {
	font-size: 3.5rem;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom:2rem;
	letter-spacing:2px;
}
h2 span {
	display:block;
	color:#009bde;
}
h2 span.right {
	text-align:right;
}
h2 span.center {
	text-align:center;
}
h2:after {
    content: '';
    display: block;
    height: .6rem;
    width: 3.1rem;
    margin-top: 1.8rem;
    margin-left: auto;
    margin-right: auto;
    background-color: #009BDE;
}
h2.search-result {
	margin-top:2rem;
	font-size:1.5rem;
}
h2.search-result span {
	font-size:3rem;
}
#quality {
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}
#quality .col {
	min-height:580px;
}
#quality .quality-img {
	background-image:url('/wp-content/uploads/2021/03/IMG_3973-scaled.jpg');
	background-size:cover;
	background-position: center;
}
#quality .quality-box {
	max-width:450px;
	height:100%;
}
#quality .quality-box h2 {
	margin-right: -350px;
	width:800px;
}
#quality button {
	align-self: start;
	outline:none!important;
	border:none!important;
	background-color: #009bde;
	padding:15px 20px;
	color:#fff;
	text-transform: lowercase;
}

#serious {
	max-width:1100px;
	margin:0 auto;
	color:#fff;
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}
#serious .col {
	min-height:580px;
}
.serious-box {
	min-width:650px;
	max-width:100%;
	min-height:300px;
}
#serious .quality-box h2 {
	margin-right: -350px;
	width:800px;
}
#serious a {
	display:inline-block;
	align-self: start;
	outline:none!important;
	border:none!important;
	background-color: #009bde;
	padding:15px 20px;
	color:#fff;
	text-transform: lowercase;
	transition: all .25s ease;
}
#serious a:hover {
	background-color: #fff;
	color: #009bde;
}
.serious-text {
	background-color:#293072;
	color:#fff;
	background-image: url('/wp-content/uploads/2021/04/DSCN0241_.png');
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

#get-in-touch {
	min-height:350px;
	background-image:url('/wp-content/uploads/2021/03/bg-b.png');
	color:#fff;
}
#get-in-touch h3 {
	font-size:2rem;
}
#get-in-touch a.btn {
	font-size:1.5rem;
	position:relative;
	display:inline-block;
}
#get-in-touch a.btn:hover {
	color:inherit!important;
}
#get-in-touch a.btn::after,
#get-in-touch a.btn::before {
    position: absolute;
    content: "";
    width: 0%;
    height: 0%;
    visibility: hidden;
}
#get-in-touch a.btn::after {
    bottom: -3px;
    right: -2px;
    border-left: 3px solid #1B2053;
    border-bottom: 3px solid #1B2053;
    transition: width .1s ease .1s, height .1s ease, visibility 0s .2s;
}
#get-in-touch a.btn::before {
    top: -3px;
    left: -2px;
    border-top: 3px solid #1B2053;
    border-right: 3px solid #1B2053;
    transition: width .1s ease .3s, height .1s ease .2s, visibility 0s .4s;
}
#get-in-touch a.btn:hover {
    animation: pulse 1s ease-out .4s;
}

#get-in-touch a.btn:hover::after,
#get-in-touch a.btn:hover::before {
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    visibility: visible;
    transition: width .1s ease .2s, height .1s ease .3s, visibility 0s .2s;
}

#get-in-touch a.btn:hover::after {
    transition: width .1s ease .2s, height .1s ease .3s, visibility 0s .2s;
}

#get-in-touch a.btn:hover::before {
    transition: width .1s ease, height .1s ease .1s;
}
#activities a.activity-item {
	width:100%;
	background-color:#ffffff;
	color:#293072;
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
	z-index:0;
	height:300px;
}
#activities a.activity-item .activity-item-img-container {
	height:230px;
}
#activities a.activity-item img.activity-item-img {
	object-fit:cover;
	width:100%;
	height:100%
}
#activities a.activity-item .activity-item-title {
	height:80px;
}
#activities a.activity-item .activity-item-bg {
	height:100%;
	width:100%;
	top:0;
	left:0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
	transition: all .25s ease;
	opacity:0;
	z-index:-1;
}
#activities a.activity-item.bg-show .activity-item-bg {
	opacity:1;
}
#activities a.activity-item.bg-inactive .activity-item-bg {
	opacity:0!important;
}
#activities a.activity-item.bg-active .activity-item-bg {
	opacity:1!important;
}
#activities a.activity-item:hover {
	box-shadow: 0px 14px 28px rgb(0 0 0 / 25%), 0px 10px 10px rgb(0 0 0 / 30%);
}
#activities a.activity-item h3 {
	font-size:1.3rem;
	font-weight:700;
	margin:0!important;
}
#activities a.activity-item button.arrow {
	bottom:0;
	right:0;
	height:55px;
	width:55px;
	background-color:#009bde;
	border:none;
	color:#fff;
	font-size:1.5rem;
	transition: all .25s ease;
}
#activities a.activity-item:hover button.arrow {
	height:65px;
	width:65px;
}
#activities .activities-description h3 {
	font-weight:300;
	color: #293072;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: #a7abd1!important;
}


header#subheader {
	width:100%;
	height:400px;
}
header#subheader .picture {
	background-position:bottom;
	background-size:100% auto;
	height:100%;
	background-repeat:no-repeat;
}
header#subheader .subheader-inner {
	height:100%;
	width:40%;
	background-color:#fff;
}
header#subheader h1 {
	padding:1rem 2rem;
	font-size:3.5rem;
	color:#293072!important;
	font-weight: 900;
	text-transform: uppercase;
}
header#subheader h1:after {
    content: '';
    display: block;
    height: .6rem;
    width: 3.1rem;
    margin-top: 0.8rem;
    margin-left: auto;
		margin-bottom:0.4rem;
    background-color: #F0B823;
}



header#subheader.contact {
	background-position:bottom;
	background-size:100% auto;
	background-repeat:no-repeat;
	background-size: cover;
}
#contact {
	margin-top:-150px;
	margin-bottom:5rem;
	background-image:url('../images/bg-blue.png');
	background-size:95% 95%;
	background-repeat: no-repeat;
}

.form-text {
	padding:100px 0 150px 0;
		color:#fff;
}
.form-text > div {
	max-width:370px;
	margin:0 auto;
}

.form {
	margin-top:10%;
	width:55%;
	background-color:#fff;
	color:#262626;
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}



.form form .form-group {
  margin:1em;
  position:relative;
}

.form textarea,
.form input,
.form select {
    background-color:transparent;
    border:none;
    border-bottom: 1px solid #000;
    margin:5px 0;
    transition:all .25s ease;
    outline:none;
}
.form input,
.form select {
    height:28px;
    width:100%;
}
.form textarea {
  resize: none;
  width:100%;
}
.form input[type=submit] {
  background-color:#293072;
  border-color:#000;
  color:#fff;
  width:100%;
  height:40px;
  border:none!important;
  transition: all .25s ease;
}
.form input[type=submit]:hover {
	box-shadow: 0 20px 50px 0 rgb(56 26 0 / 15%);
	background-color:#009bde;
}

.form form .form-group h6 {
  font-size:1em;
  position:absolute;
  top:20px;
  transition:all .25s ease;
  z-index:2;
	font-weight: 400;
}
.form form .form-group.select h6 {
  top:0;
  font-size:0.9em;
}
.form form .form-group h6.full {
  top:0;
  font-size:0.9em;
}
.form form .form-group label:focus-within h6 {
  top:0;
  font-size:0.9em;
  color:#000;
}

input:focus,
input:active,
textarea:focus,
select:focus {
  border-color:#000;
  background-color:transparent!important;
  color:inherit!important;
}

.form form label {
  width:100%;
}

.form form .form-group:nth-last-child(-n+4) {
  grid-column: 1 / span 2;
}

#inner-footer {
	max-width:1200px!important;
}

footer {
	background-color: #293072;
	background-image: -webkit-linear-gradient(332deg, #293072 0%, #181d4e 100%);
	background-image: -o-linear-gradient(332deg, #293072 0%, #181d4e 100%);
	background-image: linear-gradient(62deg, #293072 0%, #181d4e 100%);

	color:#fff;
	font-size: .875em;
	font-weight:400;
}
footer #footer-bottom a {
	font-size: .8em;
}
footer a:hover {
	color:#009bde!important;
}
footer a:visited,
footer a:focus {
	color:inherit;
}
@media screen and (max-width: 992px) {
	#inner-footer > .row {
		max-width:500px;
		margin:0 auto;
	}
	.menu-links {
		text-align:center;
		padding-top: 2rem;
	}
}

@media screen and (max-width: 992px) {
	#description.blue-bg-cut {
		background: -webkit-linear-gradient(rgba(41,48,114,1) 0%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
		background: -o-linear-gradient(rgba(41,48,114,1) 0%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
		background: linear-gradient(rgba(41,48,114,1) 0%, rgba(41,48,114,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
		margin-top:0;
		padding-top:5rem;
	}
}
@media screen and (max-width: 500px) {
	h2 {
		font-size: 2rem;
	}
	.serious-text h2 {
		font-size: 1.5rem;
	}
	.serious-box {
		min-width:auto!important;
	}
}

.is-search-form.is-form-style {
  text-align:center;
}
.is-search-form.is-form-style label {
  max-width:100%!important;
  width:400px!important;
}
.is-form-style input.is-search-input {
  background-color: transparent!important;
  border: none!important;
  border-bottom: 1px solid #009BDE!important;
  color: #009BDE;
  font-size: 2em;
}
.is-form-style .is-search-submit span.is-search-icon {
  background-color:transparent!important;
  border:none!important;
}
.is-form-style .is-search-submit span.is-search-icon:hover {
  background-color:transparent!important;
}
.is-form-style .is-search-submit path {
    fill: #009BDE!important;
}

.picture-banner {
	margin-top: -100px!important;
	padding-top: 90px!important;
  min-height: 400px;
  background-size: cover;
	background-image:url('/wp-content/uploads/2021/03/DJI_0675-scaled.jpg');
}
.page-404 main {
	margin-top:-60px;
}
.page-404 main > article {
	margin-top:-100px;
	background-color:#1A1F52;
	border:none!important;
	color:#fff;
}
.page-404 main > article h2 {
	font-size:2rem;
}
.page-404 .icons-container img {
	margin:15px;
}
.page-404 .back-home {
	color:#009BDE;
	text-decoration:underline!important;
	transition:color .25s ease;
	display:inline-block;
	margin-top:30px;
}
.page-404 .back-home:hover {
	color:#fff!important;
}

h1.mentions,
h1.cgu {
	font-size: 3.5rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 2rem;
  letter-spacing: 2px;
}

#mentions,
#cgu {
	margin: 5rem auto;
	max-width:900px;
}

#mentions h2,
#cgu h2 {
	font-size:2rem;
}
#mentions h2:after,
#cgu h2:after {
    margin-left: 0;
}

a.search-result-single button {
	font-size:2rem;
	background-color:transparent;
	border:none;
	outline:none;
	margin-left:1rem;
	color:#009bde;
}
a.search-result-single:hover h3 {
	color:#009bde;
}

@media screen and (max-width: 768px) and (min-width: 500px)  {
	h2 {
		font-size: 2.5rem!important;
	}
	.serious-text h2 {
		font-size: 2rem;
	}
	.serious-box {
		min-width:auto!important;
	}
}
@media screen and (max-width: 1000px) {
	#contact {
		flex-direction:column;
		background:rgba(41,48,114,1);
	}
	.form {
		width:100%!important;
	}
	#contact h2,
	#contact h2 span,
	#description h2,
	#description h2 span {
		text-align:center;
	}
}

@media only screen and (max-width: 1050px) {
	#mega-menu-wrap-main-nav #mega-menu-main-nav > li.mega-menu-item > a.mega-menu-link {
	    font-size: 18px!important;
	}
	#mega-menu-wrap-main-nav #mega-menu-main-nav > li.mega-menu-item > a.mega-menu-link img {
		display:none;
	}
	header.header .astm-search-menu {
		background-color:#009bde!important;
		color:#fff!important;
		height: 50px;
    width: 50px;
	}
}
