::-webkit-scrollbar-track 	{ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); background-color: #2297b9; }
::-webkit-scrollbar 		{ width: 8px; background-color: #2297b9; }
::-webkit-scrollbar-thumb	{ background-color: #222; border: 1px solid #444; border-radius: 8px; }

body, html {font-family: open-sans, Arial, Helvetica, sans-serif; font-weight: 400; } 

#toTopBtn { 
	position: fixed; display: none; bottom: 80px; right: 20px; width: 40px; height: 40px; line-height: 40px; text-align: center; border: solid 1px #fff;
	-webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; background-color: #2297b9; transform-origin: 50% 50%; z-index: 999;
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; 
}
#toTopBtn i { 
	font-size: 1em!important; color: #fff!important; transform: rotate(0); position: relative; 
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; 
}
#toTopBtn:hover { background-color: rgb(50,50,50); }
#toTopBtn:hover i { transform: rotate(360deg); }


.img-aliasing { 
    image-rendering: optimizeSpeed;             /* STOP SMOOTHING, GIVE ME SPEED  */
    image-rendering: -moz-crisp-edges;          /* Firefox                        */
    image-rendering: -o-crisp-edges;            /* Opera                          */
    image-rendering: -webkit-optimize-contrast; /* Chrome (and eventually Safari) */
    image-rendering: pixelated; /* Chrome */
    image-rendering: optimize-contrast;         /* CSS3 Proposed                  */
    -ms-interpolation-mode: nearest-neighbor;   /* IE8+                           */
}

/* BOUNCE EFFECT */
.bounceAnimate {
    -webkit-animation-duration: 0.5s!important; animation-duration: 0.5s!important;
	-webkit-animation-fill-mode: both!important; animation-fill-mode: both!important;
	-webkit-animation-timing-function: ease-in-out!important; animation-timing-function: ease-in-out!important;
	-webkit-animation-name: bounceInUp!important; animation-name: bounceInUp!important; 
}
 
.bounceAnimate.in {
	-webkit-transition-duration: 0.3s!important; -o-transition-duration: 0.3s!important; transition-duration: 0.3s!important;
	-webkit-animation-duration: 0.3s!important; animation-duration: 0.3s!important;
	-webkit-animation-name: bounceInDown!important; animation-name: bounceInDown!important;
}

@-webkit-keyframes bounceInUp { 
    0% { opacity: 0; -webkit-transform: translateY(200px); } 
    20% { opacity: 1; -webkit-transform: translateY(-50px); } 
    40% { -webkit-transform: translateY(30px); } 
    60% { -webkit-transform: translateY(-15px); } 
    80% { -webkit-transform: translateY(10px); } 
    100% { -webkit-transform: translateY(0); } 
} 

@keyframes bounceInUp { 
	0% { opacity: 0; transform: translateY(200px); } 
    20% { opacity: 1; transform: translateY(-50px); } 
    40% { transform: translateY(30px); } 
    60% { transform: translateY(-15px); } 
    80% { transform: translateY(10px); } 
    100% { transform: translateY(0); } 
} 

@-webkit-keyframes bounceInDown {
	0% { opacity: 1; transform: translateY(0px); }
	50% { opacity: 1; transform: translateY(10px); }
	100% { opacity: 0; transform: translateY(-100px); }
}
 
@keyframes bounceInDown {
	0% { opacity: 1; -webkit-transform: translateY(0px); }
	50% { opacity: 1; -webkit-transform: translateY(10px); }
	100% { opacity: 0; -webkit-transform: translateY(-100px); }
}

@-webkit-keyframes Floating {
    from 	{ -webkit-transform: translateX(10px); }
    65% 	{ -webkit-transform: translateX(-10px); }
    to 		{ -webkit-transform: translateX(10px); }
}

@-moz-keyframes Floating {
    from 	{ -moz-transform: translateX(10px); }
    65% 	{ -moz-transform: translateX(-10px); }
    to 		{ -moz-transform: translateX(10px); }
}

.floating {
	transform-origin: center left!important;
    -webkit-animation-duration: 8s; -moz-animation-duration: 8s;
	-webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: ease-in-out;
    -moz-animation-iteration-count: infinite; -moz-animation-timing-function: ease-in-out;
    -webkit-animation-name: Floating; -moz-animation-name: Floating;
}


@-webkit-keyframes Floating2 {
    from 	{ -webkit-transform: translateY(10px); }
    65% 	{ -webkit-transform: translateY(-10px); }
    to 		{ -webkit-transform: translateY(10px); }
}

@-moz-keyframes Floating2 {
    from 	{ -moz-transform: translateY(10px); }
    65% 	{ -moz-transform: translateY(-10px); }
    to 		{ -moz-transform: translateY(10px); }
}

.floating2 {
	transform-origin: center left!important;
    -webkit-animation-duration: 6s; -moz-animation-duration: 6s;
	-webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: ease-in-out;
    -moz-animation-iteration-count: infinite; -moz-animation-timing-function: ease-in-out;
    -webkit-animation-name: Floating2; -moz-animation-name: Floating2;
}

.floatinga { -webkit-animation-duration: 8s!important; -moz-animation-duration: 8s!important; }
.floatingb { -webkit-animation-duration: 9s!important; -moz-animation-duration: 9s!important; }
.floatingc { -webkit-animation-duration: 6s!important; -moz-animation-duration: 6s!important; }
.floatingd { -webkit-animation-duration: 7s!important; -moz-animation-duration: 7s!important; }


/* LOADER */
.loader 				{ display: none; position: fixed; z-index: 99999; height: 100px; width: 100px; overflow: visible; margin: auto; top: 0; left: 0; bottom: 0; right: 0; border-radius: 100%; }
#loader1:before 	{ content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); }
#loader1:after 		{ z-index: 99999; animation: spin 1s infinite; content: ""; position: absolute; background: url(../images/puce_bl_sm.png) no-repeat center top; top: -10px; left: -10px; width: 100%; height: 100%; border-radius: 100%; border: 10px solid #ccc; border-top-color: #f9b123; }

@keyframes spin{
  0%	{ -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); }
  100%{ -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); }
}

.clearfix:after 		{ content: "."; visibility: hidden; display: block; height: 0; clear: both; }

video { max-width: 960px !important; width: 100% !important; height: auto !important; }																					   

.vcenter-item {
    display: flex!important;
    align-items: center!important;
}

/******************************** NAV *******************************************/

.navbar {
	padding-top: 0.50rem; padding-bottom: 0.625rem; min-height: 53px; margin-bottom: 20px; -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15); font-family: open-sans, Arial, Helvetica, sans-serif; font-weight: 300; 
}

.lang_picker a { text-decoration: none; }

.navbar.navbar-transparent { padding-top: 15px; }

/* LB */
.navbar.navbar-transparent .link-bar { position: absolute; right: 10px; top: 0!important; }
.navbar .link-bar { position: absolute; right: 10px!important; right: 10px; top: 60px!important; }
.navbar .link-bar2 { position: absolute; right: auto; left: 10px; top: 0px!important; text-align: center!important; }  

.navbar .navbar-brand  { padding-top: 0; padding-bottom: 0; width: 300px; height: 80px; margin-right: 0; background: url(../images/logo_vega_horiz.png) no-repeat; background-position: center!important; background-size: contain; -webkit-transition: all 150ms linear; transition: all 150ms linear; }
.navbar .container.dark .navbar-brand { background-image: url(../images/logo_vega_horiz.png); }
.navbar.navbar-transparent .container.dark .navbar-brand  { background-image: url(../images/logo_vega_white.png); }
.navbar.navbar-transparent .navbar-brand  { height: 150px;  background-image: url(../images/logo_vega_rvb.png); }

 
.navbar .logo_bl 	{ display: none; position: absolute; font-size: 0.9em; font-weight: 900; bottom: -60px!important; left: 0; right: 0; letter-spacing: 1px;  }
.navbar .logo_bl span { font-size: 1.5em; font-weight: 900; color: rgba(150, 150, 150, 1)!important; }
.navbar.navbar-transparent .logo_bl { display: block; }
 
.navbar input.search_input::placeholder { color: #404040!important; opacity: 1!important; font-family: open-sans, Arial, Helvetica, sans-serif; font-weight: 300; }
.navbar.navbar-transparent .container.dark input.search_input::placeholder { color: #fcfcfc!important; opacity: 1!important; }
.search_form .input-group.form-group-no-border .form-control {  height: 36px; }
.search_form .input-group.form-group-no-border .input-group-text {  background-color: rgba(255, 255, 255, 1)!important; color: #404040!important; }
.search_form .input-group.form-group-no-border .input-group-text i {  color: #404040!important; }

.navbar.navbar-transparent .container.dark .search_form .input-group.form-group-no-border .input-group-text i { color: #fff!important; }


.navbar input.search_input { background: rgba(255, 255, 255, 1)!important; }
.navbar #btnSearch span { background: rgba(255, 255, 255, 1)!important; }
.navbar.navbar-transparent input.search_input { background: rgba(255, 255, 255, 0.1)!important; }
.navbar.navbar-transparent #btnSearch span { background: rgba(255, 255, 255, 0.1)!important; }


/* NAV */
.navbar.navbar-transparent .navbar-nav { margin-left: auto!important; margin-top: 60px; }
.navbar .navbar-nav { margin-left: auto!important; margin-top: 0; }

.navbar a { vertical-align: middle; }

.dropdown-toggle::after { border: none!important; font: normal normal normal 10px/1 FontAwesome; content: "\f107"!important; vertical-align: 0; color: #404040; }
.navbar .container.dark .dropdown-toggle::after { color: #fff; }

.navbar .nav-item {  display: flex!important; }
.navbar .nav-link div { padding: 0.05rem; display: inline-block; margin: 0; line-height: 1.3em!important; font-size: 1.3em!important; letter-spacing: 0.01em!important; font-weight: 300; color: #404040; -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.navbar .nav-item:hover > .nav-link, .navbar .nav-item.actif > .nav-link { background-color: rgba(255, 154, 99, 0.5)!important; border-radius: 0.1875rem; }
.navbar .nav-item.actif .nav-link div, .navbar .nav-item:hover .nav-link div, .navbar .nav-item:hover .dropdown-toggle::after { color: #fff; }

.navbar .container.dark .nav-link div { color: #404040; }
.navbar .container.dark .nav-item:hover > .nav-link, .navbar .container.dark .nav-item.actif > .nav-link { background-color: rgba(34, 151, 185, 0.5)!important; }
.navbar .container.dark .nav-item.actif .nav-link div, .navbar .container.dark .nav-item:hover .nav-link  div { color: #fff; }
.navbar.navbar-transparent .nav-link div { line-height: 1.5em!important; font-size: 1.5em!important;  }
.navbar.navbar-transparent .container.dark .nav-link div { color: #fcfcfc; }

.navbar .dropdown .dropdown-menu { margin-top: 13px!important; min-width: auto!important; width: auto!important; }
.navbar.navbar-transparent .dropdown .dropdown-menu { margin-top: 23px!important; }
.navbar .dropdown.show .dropdown-menu { padding: 0!important; }
.navbar .dropdown.show .dropdown-menu .dropdown-item { line-height: 0.9em!important; font-size: 0.9em!important; letter-spacing: 0.01em!important; margin: 0!important; padding: 10px 20px!important; }

.navbar .dropdown-item:hover { color: #000; }

.navbar-collapse:after { background: transparent; opacity: 0.5; filter: alpha(opacity=50); }


.btn { font-family: open-sans, Arial, Helvetica, sans-serif; font-weight: normal; text-transform: uppercase; font-size: 1em; padding: 8px 15px; }
.btn:hover { background-color: #999; color: #fff; }

.btn-lg { font-size: 1.4em; padding: 10px 25px; }
.btn-lg.btn-simple { padding: 9px 24px; }

.btn-sm { font-size: 14px; border-radius: 0.1875rem; padding: 5px 15px; }
.btn-sm.btn-simple { padding: 4px 14px; }

.btn-circle	{ 
	width: 32px!important; height: 32px!important; padding: 0!important; line-height: 32px!important; font-size: 1em!important; text-align: center!important; 
	-webkit-border-radius: 50%!important; -moz-border-radius: 50%!important; border-radius: 50%!important; -webkit-transition: all 150ms linear; transition: all 150ms linear;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
}

.rounded	{ -webkit-border-radius: 5px!important; -moz-border-radius: 5px!important; border-radius: 5px!important; -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); }

.right-rounded {
	border-top-right-radius: 40px 40px!important;
	border-bottom-right-radius: 40px 40px!important;
}
.left-rounded {
	border-top-left-radius: 40px 40px!important;
	border-bottom-left-radius: 40px 40px!important;
}
.pill-rounded {
	border-radius: 40px 40px!important; 
}

.shadow	 { -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05)!important; -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05)!important; box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05)!important; }
.shadow-b { filter: drop-shadow(0 0 0.25rem #87c5dd); }
.shadow-o { filter: drop-shadow(0 0 -0.05rem #444); opacity: 0.85px; }

.shadow-strong	 { -webkit-box-shadow: 0px 0px 50px 0px rgba(0,0,0,1)!important; -moz-box-shadow: 0px 0px 50px 0px rgba(0,0,0,1)!important; box-shadow: 0px 0px 50px 0px rgba(0,0,0,1)!important; }
.pe-none { pointer-events: none!important; }

.ls-sm { letter-spacing: normal!important; }
.ls-md { letter-spacing: 1.3px!important; }
.ls-lg { letter-spacing: 1.8px!important; }

.blend-multiply 	{ mix-blend-mode: multiply!important; }
.blend-screen   	{ mix-blend-mode: screen!important; }
.blend-overlay  	{ mix-blend-mode: overlay!important; }
.blend-darken  		{ mix-blend-mode: darken!important; }
.blend-lighten 		{ mix-blend-mode: lighten!important; }
.blend-dodge 		{ mix-blend-mode: color-dodge!important; }
.blend-burn 		{ mix-blend-mode: color-burn!important; }
.blend-hard 		{ mix-blend-mode: hard-light!important; }
.blend-soft 		{ mix-blend-mode: soft-light!important; }
.blend-difference  	{ mix-blend-mode: difference!important; }
.blend-exclusion 	{ mix-blend-mode: exclusion!important; }
.blend-hue 			{ mix-blend-mode: hue!important; }
.blend-saturation  	{ mix-blend-mode: saturation !important; }
.blend-color  		{ mix-blend-mode: color!important; }
.blend-luminosity  	{ mix-blend-mode: luminosity!important; }

/****************** BANDEAU ACCUEIL ******************************/

.page-header { position: relative; }
.page-header:before {  background-color: rgba(0, 0, 0, 0); }
.page-header-image { z-index: 0; width: 100%; height: 100%; background-repeat: no-repeat!important; background-size: contain!important; }
.rellax-header { position: absolute; top: -2%!important; bottom: -2%!important; left: -2%!important; right: -2%!important; z-index: 0!important; width: 104%!important; height: 104%!important; }
.rellax-text { z-index: 6!important;}

.mask-header	{ position: absolute; pointer-events: none; width: 100%; top: 0; height: 100%; z-index: 7!important; background: url(../images/mask_white.png); background-repeat: no-repeat; background-position: center top; background-size: cover;  }
.mask-header-top { bottom: auto; top: 0; background: linear-gradient(0deg, rgba(255,255,255,0) 30%, rgba(255,255,255,0.9) 70%); }

.darkMode .mask-header	{ background-image: url(../images/mask_black.png); }

.visuelMD, .visuelSM { position: absolute; z-index: 0; width: 100%; height: 100%; background-repeat: no-repeat!important; background-size: contain!important; background-position: center bottom!important; }

.bloc-header	{ position: absolute; width: 100%; max-width: 1450px; bottom: 50%; left: 0; right: 0; margin: auto; z-index: 3; text-align: right; padding: 0 30px; }
.bloc-header .bloc-header-text {  display: inline-block; width: 50%; max-width: 550px; }
.bloc-header .h4-description { 
	background: rgb(255,255,255); background: linear-gradient(90deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.80) 50%, rgba(255,255,255,0) 100%); padding: 25px; 
	open-sans, Arial, Helvetica, sans-serif!important; font-weight: 300; text-align: left; font-size: 21px; line-height: 26px; color: #000;
}

.bloc-cta	{ position: absolute; width: 300px; height: 300px; z-index: 3; text-align: center; padding: 0; background-color: rgba(255,255,255,0.9); border: solid 3px #FF9A63; overflow: hidden;  -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.bloc-cta .bloc-picto { width: 100%; height: 35%; background-repeat: no-repeat; background-color: #FF9A63; background-size: auto 80%; background-position: center; }
.bloc-cta .bloc-text { width: 100%; height: 65%; padding: 20px 25px; font-family: open-sans, Arial, Helvetica, sans-serif!important; color: #404040!important;  }
.bloc-cta .bloc-text div { font-weight: 400!important; text-transform: uppercase!important; font-size: 18px!important; line-height: 22px!important; }

.rellax-spirale 		{ z-index: 5!important; opacity: 1; position: absolute; transform-origin: center!important; top: 50%; left: 50%; transform: translate(-50%,-50%);  }
.rellax-spirale img 	{ width: 100%; display: block; }

.pos1 { top: 54%; left: 48%; transform: translate(-48%,-54%);  }
.pos2 { top: 10%; left: 65%; transform: translate(-51%,-16%); }
.pos2b { top: 30%; left: 65%; transform: translate(-51%,-36%); }
.pos3 { bottom: 10%; left: 51%; transform: translate(-51%,10%); }

.spirale1 { width: 700px; height: 700px; }
.spirale2 { width: 475px; height: 475px; }
.spirale3 { width: 500px; height: 500px; }


/****************** INTRO ACCUEIL ******************************/

.bloc-intro { width: 100%; text-align: left; position: relative; background-color: #fff; -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.bloc-intro .intro-content { width: auto; max-width: 1450px; display: inline-block; margin: 0 auto; padding: 20px; color: #404040; font-family: open-sans, Arial, Helvetica, sans-serif; font-weight: 300; letter-spacing: 1.5px; }
.bloc-intro .intro-text { font-size: 16px; line-height: 20px; }

.bloc-intro .intro-visu, #article .bloc-visu { width: 95%; max-width: 400px; max-height: 400px; height: 100%; position: relative; padding-right: 10%; }
.bloc-intro .intro-visu .visu-cadre,  #article .bloc-visu .visu-cadre { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: solid 15px #fff; transform-origin: center; transform: rotate(-10deg); filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)); }

@media screen and (max-width: 991px) {

	.rellax-header, .page-header-image { background-size: cover!important; background-position: center 80px!important; }
	.rellax-header-logo { bottom: 45%; }
	.floating {	-webkit-animation-name: none; -moz-animation-name: none; }
	
	.bloc-header .bloc-header-text { width: 100%; }
	.bloc-header .h4-description { font-size: 18px; line-height: 21px; }
	
	.bloc-intro .intro-text { font-size: 14px; line-height: 18px; }
	
}	

.swiper-container 					{ width: 100%!important; max-width: 100%; }
.swiper-container .swiper-slide		{ overflow: hidden!important; }
.swiper-button-next, .swiper-button-prev { 
	width: 40px!important; height: 40px!important; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background-color: #2297b9; transform-origin: 50% 50%;
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; 
}
.swiper-button-next:after,.swiper-button-prev:after { 
	font-size: 1.5em!important; color: #fff!important; transform: rotate(0);
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;
}
.swiper-button-next 				{ right: 20px!important; }
.swiper-button-prev 				{ left: 20px!important; }
.swiper-button-next:hover, .swiper-button-prev:hover { background-color: rgb(50,50,50); }
.swiper-button-next:hover:after,.swiper-button-prev:hover:after { transform: rotate(360deg); }

.swiper-progress-bar 									{ position: absolute; width: 100%; top: 0; z-index: 999; height: 2px; }
.swiper-progress-bar .slide_progress-bar 				{ position: absolute; height: 2px;	background: rgba(255, 255, 255, 0.2); width: auto; clear: both;	opacity: 0; top: 0px; left: 0; right: 0; }
.swiper-progress-bar .slide_progress-bar:after 			{ position: absolute; top: 0; left: 0; background: #404040; height: 100%; width: 0; content: ""; transition: 0.1s width linear; }
.swiper-progress-bar.active	.slide_progress-bar 		{ opacity: 1;}
.swiper-progress-bar.animate .slide_progress-bar:after 	{ transition: width linear; transition-delay: unset; width: 100%; transition-duration: 5s; }


/****************** MISC ******************************/

.bandeau_titre 		{ height: 36px; line-height: 36px; background: #fff; padding: 0 20px; margin: 20px 0 0 0; font-size: 20px; font-weight: 300; letter-spacing: 2px; width: 50%; }
.bandeau_titre div { display: inline-block; vertical-align: middle; font-family: open-sans, Arial, Helvetica, sans-serif;  }
.bandeau_titre div b { font-weight: 400; }

.bandeau_titre2 { font-size: 21px!important; padding-top: 5px!important; }
.bandeau_titre2 a { text-decoration: none; }
.bandeau_titre2 a:hover * { color: #444!important; letter-spacing: 1px; -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }

.picto_titre { display: inline-block; overflow: hidden!important; width: 32px; height: 40px; vertical-align: middle; }
.picto_titre img { filter: drop-shadow(0px 50px 0 #999); transform: translateY(-50px); }

.picto_titre.white img { filter: drop-shadow(0px 50px 0 #fff); }
.picto_titre.black img { filter: drop-shadow(0px 50px 0 #000); }
.picto_titre.orange img { filter: drop-shadow(0px 50px 0 #FF9A63); }
.picto_titre.blue img { filter: drop-shadow(0px 50px 0 #07a8c6); }

.modal-content .modal-header button { right: 10px; top: 0; }
.modal-content .bandeau_titre { display: inline-block!important; width: auto!important; margin-left: -20px!important; }
	


/****************** FOOTER  ******************************/

/****************** COORD / NEWSLETTER ******************************/

.small	{ font-size: 11px; line-height: 14px; font-weight: 300; }
.summary { font-size: 12px; line-height: 3; }
.summary p.collapse:not(.show) { height: 42px!important; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.summary p.collapsing { min-height: 42px!important; }
.summary a.collapsed  {z-index: 999!important; }
.summary a.collapsed:after  { content: '+ Lire la suite'; }
.summary a:not(.collapsed):after { content: '- Fermer'; }
  
  
.bloc-coord .bandeau_titre 		{  background: rgba(0,0,0,0.5); color: #fff; width:  auto;}
.bloc-nl .bandeau_titre 		{  background: rgba(255,255,255,0.75); color: #404040; width:  auto;}

.contact-content { position: relative; }
.contact-content .bloc { display: inline-block; width: 100%; margin: 0 0 150px 0; padding: 20px 40px; background: rgba(0,0,0,0.5); color: #fff; }

.bloc_contact { background: url(../images/biscarosse.jpg) no-repeat; background-size: cover; background-position: center bottom; }

.bloc-coord .bloc { max-width: 450px; }
.bloc-nl .bloc { max-width: 780px; background: rgba(255,255,255,0.75);  color: #404040;}

.bloc-nl input, .bloc-nl textarea, .bloc-nl .input-group-append span, .bloc-nl .input-group-prepend  span { /*background: rgba(255, 255, 255, 1)!important;*/ border: solid 1px #aaa; border-right: none!important; border-top: none!important; }
.bloc-nl .input-group-append *, .bloc-nl input::placeholder, .bloc-nl textarea::placeholder { color: #404040!important; opacity: 1!important; } 
.bloc-nl .input-group-prepend  span { border-left: solid 1px #000!important; border-left: none!important; }

.form-check .form-check-sign::before, .form-check .form-check-sign::after { border: 1px solid #aaa; }
.form-check .form-check-sign::after { background-color: #fff; } 

/****************** FOOTER  ******************************/

.footer { position: absolute; z-index: 8; width: 100%; left: 0; height: auto; padding: 0; bottom: 30px; background: rgba(34, 151, 185, 0.85); font-family: open-sans, Arial, Helvetica, sans-serif; }
.footer .container	{ width: 100%; max-width: 1450px; margin: 0 auto; }
.footer .copyright { font-size: 14px; color: #fff; }
.footer .copyright img { max-width: 140px; }
.footer li { line-height: 16px; font-size: 15px; color: #fff; margin: 0 10px; }
.footer li a { text-transform: lowercase!important; }
.grecaptcha-badge { z-index: 99999; bottom: 20px!important; visibility: hidden; }

/***********************************************************************************************************/


.modal h3.title { font-weight: 600; text-shadow: 0 0 0 rgba(0,0,0, 0), 0 0 10px rgba(0,0,0, 1); }

#article .page-header-mini { position: relative!important; z-index: 10!important; min-height: 500px!important; height: 100%!important; }
#article.contact-main .page-header-mini { min-height: 1024px!important; }

#article .section { z-index: 999!important; padding-bottom: 0!important; }

#article h1.bandeau_titre {  position: sticky; top: 98px; z-index: 130!important; margin-bottom: -24px!important; min-height: 80px; margin-top: -250px!important; padding: 20px 30px; background-image: url(../images/spirale_blanche.png); background-repeat: no-repeat; background-position: 20px center; background-size: 50% auto; }
#article.contact-main h1.bandeau_titre {  margin-top: -900px!important; }

#article h1.bandeau_titre div { color: #fff!important; font-size: 28px; line-height: 34px; } 
#article .container { margin-top: 0!important; min-height: 800px; max-width: 1450px; }


#actus 						{  width: 100%; max-width: 100%; margin: 0 auto; }
#actus .grid-item			{ 
	width: 23.5%; padding: 15px; height: auto; float: left; margin-bottom: 20px; background-color: #fff; 
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;
}
#actus .grid-item:hover		{ background-color: #def; }
#actus .actu_ctn		{ 
	padding: 10px; background-color: rgb(0,0,0); background-color:  rgb(0,0,0,0.6); position: absolute; left: 0; bottom: 0; width: 100%; height: 90px; opacity: 1;
	-webkit-transition: all 0.3s linear; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;
}
#actus .item_actu:hover	 .actu_ctn	{ opacity: 0;  }

#actus .actu_categ		{ float: left; word-wrap: break-word; color: #78c6fe; font-size: 10px; }
#actus .actu_date		{ float: right; font-size: 12px; }
#actus .actu_titre 		{ font-size: 13px; line-height: 16px; font-weight: 400; text-decoration: none; word-break: break-word; }

#categories .filter_categ	{ border: none; background: none; }

#noDatas { 
	padding: 30px; font-family: 'Comfortaa', cursive!important; font-size: 24px!important; font-weight: 200!important; text-align: center!important; text-transform: uppercase!important; 
	-webkit-border-radius: 35px; -moz-border-radius: 35px; border-radius: 35px;
}


.loader_small 		{ display: inline-block; width: 50px; height: 50px; margin-top: 25px!important; }
#loader:after 		{ position: relative; display: block; animation: spin 1s infinite; content: ""; background: url(../images/spirale_sm.png) no-repeat center; background-size: 35%; width: 50px; height: 50px; border-radius: 50%; border: 3px solid rgba(0,0,0,0.1); border-top-color: #f9b123; }

.section-image:after { background-color: transparent!important; }
.contactus-1 .card-contact {  margin: 0!important; margin-bottom: 50px!important; }
.contactus-1 .bandeau_titre { margin-top: 30px!important; }

.contactus-2 { margin-bottom: 100px!important; }
.contactus-2 .card-contact { margin: 120px 0 120px 150px!important; max-width: 400px!important; z-index: 5!important; }
.contactus-2 .info-horizontal .icon { margin-top: 5px!important; }
.contactus-2 .info-horizontal .icon > i { font-size: 2.2em; max-width: 45px; }

#noDatas { padding: 30px; font-family: open-sans, Arial, Helvetica, sans-serif; font-size: 24px!important; font-weight: 200!important; text-align: center!important; text-transform: uppercase!important; }


@media screen and (max-width: 1420px) {
	.navbar .navbar-brand  { width: 200px; height: 60px; }
	#article .container { max-width: 80%;  }
	
	#article h1.bandeau_titre {  top: 78px; margin-bottom: -24px!important; min-height: 80px; margin-top: -250px!important; padding: 20px 30px; }
}


@media screen and (max-width: 1199px) {
	.navbar .navbar-brand  { width: 183px; height: 50px; }
	.navbar.navbar-transparent .navbar-brand  { height: 100px; }

	.navbar .link-bar { right: 10px; top: 40px!important; }
	.navbar.navbar-transparent .link-bar { top: -10px!important;  }
	.navbar.navbar-transparent .navbar-nav  { margin-top: 30px; }	
	
	.navbar .logo_bl 	{ bottom: -80px; }
	.navbar .logo_bl span { font-size: 1.6em; font-weight: 600; color: rgba(150, 150, 150, 1)!important; }
	.navbar .logo_bl .baseline { font-size: 1.1em; font-weight: 700; color: rgba(150, 150, 150, 1)!important; }
	 
	.navbar .navbar-nav .nav-link:not(.btn) { font-size: 0.6em; margin: 0; padding: 0.1rem 0.6rem; line-height: 1.6rem; }
	.navbar .navbar-nav .nav-item:hover  {  }

	
	.mask-slide, .mask-slide-bk 	{ height: 80px; }
	
	
	.contactus-2 .card-contact { margin: 100px 0 100px 50px!important; max-width: 350px!important; }
	.contactus-2 .description p { font-size: 14px!important; }
	.contactus-2 .description h3 { font-size: 24px!important;}
	
	#article h1.bandeau_titre {  top: 64px; margin-bottom: -24px!important; min-height: 80px; padding: 20px 30px; }
	.container { max-width: 100%!important; }
	#article .container { min-height: 600px; }
	#actus .grid-item	{ 	width: 32%; }
	
}


@media screen and (max-width: 991px) {
	nav li { display: block!important; text-align: center; width: 100%!important; }
	
	.navbar .nav-item {  display: block!important; }

	.navbar .nav-item .nav-link { margin-top: 15px!important; }
	.navbar .nav-item .nav-link div { transform: uppercase!important; font-size: 14px!important; color: #fff!important; padding: 5px 10px!important; }
	.navbar .nav-item.actif .nav-link div, .navbar .nav-item:hover .nav-link div, .navbar .nav-item:hover .dropdown-toggle::after { color: #fff!important; }
	.navbar .nav-item > .dropdown-menu { padding: 0!important; margin: 0!important; }
	.navbar-collapse:after { background: transparent; opacity: 0.5; filter: alpha(opacity=50); }
	.navbar-collapse .nav { margin-top: 100px!important; }

	
	.bloc-header	{ bottom: 40%; }
	.bloc-header .bloc-header-text { width: 50%; max-width: 500px; }
	.bloc-header .h4-description { font-weight: 300; text-align: left; font-size: 15px; line-height: 20px; padding: 20px; -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px; font-size: 14px; line-height: 19px; }
	
	.bandeau_titre 		{ height: auto; line-height: auto; padding: 0 15px; margin: 15px; font-size: 21px; line-height: 25px; width: 60%; }
	.bloc-fils { background-image: none; }
	.bloc-fils .bandeau_titre { margin-top: -27px; }
	.bloc-fils .bloc-actus, .bloc-fils .bloc-li { min-height: auto; }
	.bloc-fils .bloc-actus .bloc-fil, .bloc-fils .bloc-li .bloc-fil{ min-height: 250px; background-color: rgba(128,128,128, 0.1); margin: 10px; }
	
	.fil-li .bloc-fil { margin: -15px 0 20px 20px!important; max-width: 100%!important; }

	#article h1.bandeau_titre {  position: relative; top: auto; margin-bottom: -24px!important; min-height: 80px; margin-top: -250px!important; padding: 20px 30px; background-image: url(../images/spirale_blanche.png); background-repeat: no-repeat; background-position: 20px center; background-size: 50% auto; }

	
	/****************** EQUIPE ******************************/

	.bloc-equipe .swiper-container	 	{ max-width: 100%!important; }
	.swiper-button-next2 				{ right: 0!important; top: 40%!important; }
	.swiper-button-prev2				{ left: 0!important; top: 40%!important; }

	.bloc-equipe .membre_item 			{ display: inline-block; padding: 10px 20px; }
	
	.bloc-compteur { height: 200px; }
	.mask-trame	{ height: 75%; background-size: contain; }
	.compteurs	{ padding: 0!important; }
	.compteurs h4	{ font-size: 16px; line-height: 18px; letter-spacing: 1.5px; font-family: open-sans, Arial, Helvetica, sans-serif; }
	.compteurs h1	{ font-size: 30px; line-height: 34px; }
	
	.footer { height: auto!important; line-height: auto; margin-top: 30px!important; }
	.footer nav { display: block!important; }
	.footer ul, .footer li { margin: 0 5px!important; }
	
	.visuelMD, .visuelSM { width: 100%!important; left: 0!important; bottom: 0!important; z-index: 0!important; background-repeat: no-repeat; background-size: 100%!important; background-position: center!important; }
	.webot_hp 						{ top: 30%; left: 20%; width: 60%; max-width: 600px; }			   
	.webot_kit 						{ bottom: 10%; left: 40%; transform: scale(0.8); }

	.contact-content .bloc { margin: 0; padding: 15px 20px; z-index: 999; }
	.bt_r { margin-left : 0;  }
	.bt_l { margin-right : 0; }

	.bloc-coord .bloc { width: 100%; max-width: 100%; margin: 0; float: none; }
	
	.modal h3.title { font-size: 21px; font-weight: 600; text-shadow: 0 0 5px rgba(0,0,0, 0.5), 0 0 10px rgba(0,0,0, 0.75), 0 0 20px rgba(0,0,0, 1); }
	
	.contactus-2 .card-contact { margin: 30px 0 120px 0!important; max-width: 100%!important; }
	.contactus-2 .card-contact img { max-width: 75%; }
	.contactus-2 .description p { font-size: 16px!important; }
	.contactus-2 .description h3 { font-size: 32px!important;}
	
	.item_equ .hovereffect { width: 320px; min-height: 320px; height: 320px; }
	.item_ref .hovereffect { width: 170px; min-height: 170px; height: 170px; padding: 15px; }

	.bloc-intro .intro-visu, #article .bloc-visu { width: 100%!important; max-width: 100%; max-height: 350px; height: 350px; position: relative; padding-right: 10%; }
	.bloc-intro .intro-visu .visu-cadre,  #article .bloc-visu .visu-cadre { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: solid 15px #fff; transform-origin: center; transform: rotate(-10deg); filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)); }
	
	#actus .grid-item	{ 	width: 48%; }

}	
@media screen and (max-width: 768px ) {
	
	.bandeau_titre { width: 100%; font-size: 16px; }
	.page-header-mini { display: none; }
	
	.bloc-header	{ bottom: 5%; }
	.bloc-header .bloc-header-text {  width: 100%; max-width: 480px; }
	.bloc-fils .bandeau_titre { font-size: 18px; padding: 10px 15px; margin-top: 15px!important;  }
	.bloc-intro .intro-visu, #article .bloc-visu { width: 100%; max-width: 100%; max-height: 350px; height: 350px; position: relative; padding-right: 10%; }
	.bloc-intro .intro-visu .visu-cadre,  #article .bloc-visu .visu-cadre { border: solid 15px #fff; transform-origin: center; transform: rotate(-10deg); filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)); }
	
	
	#main-nav:after { z-index: -1!important; background-color: rgba(0, 0, 0, 0.85)!important; }
	#main-nav ul { margin-top: 60px!important; }
	#main-nav ul li *  { margin-top: 10px!important; padding: 0px!important; }
	
	#btn_contact { padding: 5px!important; font-size: 13px!important; }
	
	.mask-header { display: none; }
	.modal .modal-dialog { margin: -10px!important; }
	.modal .modal-body { padding: 5px 20px!important; }
	
	#article { margin-top: 240px!important; }
	#article .bandeau_titre { width: 100%; font-size: 16px; margin: 0!important; }
	
	#actus .grid-item	{ 	width: 100%; }
	
	footer 			{ position: relative!important; margin: 0!important; bottom: 30px!important; }
	footer li 		{ text-align: right!important; }
	footer ul li * 	{ margin: 15px 0!important; padding: 0!important; }


	#article .container { max-width: 100%!important; padding: 20px!important; }
	#actus .grid-item	{ 	width: 32%; }
	
	.article_texte ul { padding-left: 25px!important; } 
	.article_texte ul li::before { content: url(../images/puce_bl_sm.png)!important; display: inline-block; width: 20px; margin-left: -20px; vertical-align: middle!important; }
	.article_texte ul li ul { padding-left: 25px!important; } 

}