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

body, html {font-family: 'futura-pt', sans-serif; font-size: 15px; line-height: 19px; font-weight: 300; } 

#toTopBtn { 
	position: fixed; display: none; bottom: 60px; right: 20px; width: 40px; height: 40px; line-height: 40px; text-align: center; 
	-webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; background-color: #000; 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: #f3970f; }
#toTopBtn:hover i { transform: rotate(360deg); }

.tooltip:hover 	{ opacity: 1!important; -webkit-transition: .3s all ease; -o-transition: .3s all ease; transition: .3s all ease; }
.tooltip > .tooltip-inner { font-family: 'futura-pt', sans-serif; text-align: left!important; -webkit-border-radius: 5px!important; -moz-border-radius: 5px!important; border-radius: 5px!important; border: none; line-height: 18px!important }

.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;
}

button, input, optgroup, select, textarea {  font-family: 'futura-pt', sans-serif; font-size: 1em!important; }

input:focus, textarea:focus, .input-group-prepend:focus , .input-group-prepend:focus {
	background: none!important; 
	-webkit-box-shadow: none!important;
    box-shadow: none!important; 
	border: solid 1px rgba(255,255,255,0.5)!important; }
}

.form-control:focus, .form-control + .input-group-text:focus, .form-control:focus, .form-control + .input-group-text:focus {
	border: solid 1px rgba(255,255,255,0.5)!important;
}

.form-control:focus + .input-group-text, .form-control:focus + .input-group-text {
	background: none!important;
	border-left: solid 1px rgba(255,255,255,0.5)!important; 
}

.input-group-prepend .input-group-text, .input-group-prepend .input-group-text {
	background: none!important;
	border-left: solid 1px rgba(255,255,255,0.5)!important;
}
 
 
/******************************** NAV *******************************************/

.navbar {
	padding-top: 0.1rem; padding-bottom: 0.2rem; 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: 'futura-pt', sans-serif; font-weight: 300;
}

.lang_picker a { text-decoration: none; }

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

/* LB */
.navbar.navbar-transparent .link-bar { position: absolute; right: 10px; top: 0!important; }
.navbar .link-bar { position: absolute; right: 10px!important; right: 10px; top: 40px!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: 70px; margin-right: 0; background: url(../images/logo_cem_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_cem_horiz.png); }
.navbar.navbar-transparent .container.dark .navbar-brand  { background-image: url(../images/logo_cem_white.png); }
.navbar.navbar-transparent .navbar-brand  { height: 185px; background-image: url(../images/logo_cem.png); margin-left: -180px; }

.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: inline-block; position: absolute; left: -250px; }
 
.navbar input.search_input::placeholder { color: #404040!important; opacity: 1!important; font-family: 'futura-pt', 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: 35px; }
.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.5)!important; }
.navbar.navbar-transparent #btnSearch span { background: rgba(255, 255, 255, 0.5)!important; }

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

.navbar a { vertical-align: middle; }
.navbar b, .navbar strong { font-weight: 300!important; } 

.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 { display: inline-block; margin: 0; font-size: 1em!important; letter-spacing: 1px!important; font-weight: 300; color: #404040!important; -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(150, 150, 150, 0.1)!important; border-radius: 0.1875rem!important; }

.navbar .container.dark .nav-link { 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, .navbar .container.dark .nav-item:hover .nav-link { color: #fff; }
.navbar.navbar-transparent .nav-link { font-size: 1em!important; }
.navbar.navbar-transparent .container.dark .nav-link { 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; 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: 'futura-pt', sans-serif; font-weight: normal; text-transform: uppercase; font-size: 1em; padding: 8px 12px; -webkit-border-radius: 5px!important; -moz-border-radius: 5px!important; border-radius: 5px!important; }
.btn:hover { background-color: #ccc; color: #fff; }

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

.btn-sm { font-size: 0.8em; 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;
}

.rounded	{ -webkit-border-radius: 5px!important; -moz-border-radius: 5px!important; border-radius: 5px!important; }

.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; }

.bg-black { background-color: #000!important; }

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

.opacity-0 { opacity:0!important; }
.opacity-1 { opacity:0.2!important; }
.opacity-2 { opacity:0.4!important; }
.opacity-3 { opacity:0.6!important; }
.opacity-4 { opacity:0.8!important; }
.opacity-5 { opacity:1!important; }

.blur-1 { filter: blur(0.5px)!important; }
.blur-2 { filter: blur(1.5px)!important; }
.blur-3 { filter: blur(3.5px)!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, .rellax-banner { 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; }
.rellax-bubble { position: absolute; pointer-events: none; z-index: 21; background-size: contain; background-position: top center; }

.waves { 
	position: absolute; pointer-events: none; width: 100%; height: 411px; top: 0; z-index: 21!important; 
	background: url(../images/vagues.png) no-repeat; background-size: contain!important; background-position: top center!important;
}
.bubble-g	{ 
	position: absolute; pointer-events: none; width: 134px!important; height: 148px!important; top: 30%!important; right: 3%!important; z-index: 25!important; 
	background: url(../images/bubble_green_sm.png) no-repeat; background-size: contain!important; background-position: top center!important;
}
.bubble-o	{ 
	position: absolute; pointer-events: none; width: 156px!important; height: 155px!important; top: 8%!important; right: 8%!important; z-index: 25!important; 
	background: url(../images/bubble_orange_sm.png) no-repeat; background-size: contain!important; background-position: top center!important;
}
.bubble-r	{ 
	position: absolute; pointer-events: none; width: 84px!important; height: 84px!important; top: 27%!important; right: 15%!important; z-index: 25!important; 
	background: url(../images/bubble_red_sm.png) no-repeat; background-size: contain!important; background-position: top center!important;
}

.bubble2-g	{ top: 25%!important; right: auto!important; left: 3%; }
.bubble2-o	{ top: 8%!important; right: auto!important; left: 8%; }
.bubble2-r	{ top: 27%!important; right: auto!important; left: 15%; }

.bubble3-g	{ top: auto!important; bottom: 10%!important; right: 3%; background-size: 60%!important; background-position: top center!important; }
.bubble3-o	{ top: auto!important; bottom: 10%!important; right: 8%; background-size: 80%!important; background-position: top center!important; }
.bubble3-r	{ top: auto!important; bottom: 10%!important; right: 15%; background-size: 100%!important; background-position: top center!important; }
.bubble3-w	{ top: auto!important; bottom: 0!important; right: 9%; background-size: 50%!important; background-position: top center!important; }

.bubble4-g	{ top: 10%!important; left: auto!important; right: 2%!important; background-size: 30%!important; }
.bubble4-o	{ top: 5%!important; left: auto!important; right: 10%!important; background-size: 50%!important; }
.bubble4-r	{ top: 14%!important; left: auto!important; right: 6%!important; background-size: 70%!important; }

.rellax-banner { text-align: center!important; text-align: center; }
.rellax-banner img { display: inline-block; }

.cem-groupe { position: absolute; pointer-events: none; text-align: center;  width: 100%; bottom: 0; z-index: 10!important; }
.cem-groupe img { width: 100%; max-width: 1762px; }

.mask		{ position: absolute; pointer-events: none; width: 100%; height: 350px; z-index: 20!important; }
.mask-white { background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%); }
.mask-black { background: linear-gradient(0deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0,95) 65%); }

.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: 1280px; 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; 
	'futura-pt', sans-serif!important; font-weight: 300; text-align: left; font-size: 21px; line-height: 26px; color: #000;
}

.bloc-cta	{ 
	position: absolute; width: 500px; height: auto; z-index: 19!important; bottom: 8%; left: 50%; transform: translateX(-50%)!important; 
	-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-bg	 { position: absolute; width: 100%; height: 100%; z-index: -1; top: 0; left: 0; background-color: rgba(255,255,255,0.9); transform: rotate(2deg)!important;}
.bloc-cta .bloc-text { width: 100%; padding: 20px 30px; color: #000!important;  }
.bloc-cta .bloc-text div { font-weight: 300!important; }

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

.bloc-intro { 
	width: 104%; text-align: left; z-index: 20!important; margin: -2% -2% 0 -2%!important; 
	border-top: solid 15px rgba(221,193,145,0.5); border-bottom: solid 15px rgba(221,193,145,0.5); position: relative; background: rgba(254,239,216,1) url(../images/stries.png) no-repeat bottom right;
	transform: rotate(-1.3deg); -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; display: inline-block; margin: 0 auto; padding: 0 20px; color: #404040; font-family: 'futura-pt', sans-serif; font-weight: 300; }

.bloc-intro .intro-visu, #article .adherent { width: 95%; max-width: 400px; max-height: 400px; height: 100%; position: relative; padding-right: 10%; }
.bloc-intro .intro-visu .visu-cadre,  #article .adherent .visu-cadre { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-origin: center; transform: rotate(-10deg); }


/****************** BLOC 3/4 BULLES ******************************/

.bloc-bubbles { 
	width: 104%; text-align: left; z-index: 19!important; margin: 2% -2% 2% -2%!important; position: relative; background: #ededed; 
	transform: rotate(1.3deg); -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; 
}

.bubble-lg { 
	height: 270px; background-color: transparent; background-size: contain!important; background-position: bottom center!important; background-repeat: no-repeat; 
	position: relative; transform: rotate(-4deg);
}
 
.bubble-lg .bubble-content { position: absolute; width: 100%; bottom: 30px; -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;}
.bubble-lg .picto img { display: inline-block; width: 55%; -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; }

a:hover .bubble-lg .picto img { width: 60%; }
a:hover .bubble-lg .bubble-content { bottom: 20px; }

.bubble-green	{ background-image: url(../images/bubble_green.png); }
.bubble-orange	{ background-image: url(../images/bubble_orange.png); }
.bubble-red		{ background-image: url(../images/bubble_red.png); }


/****************** BLOC ACTUS ******************************/

.bloc-actus { 
	width: 104%; text-align: left; z-index: 15!important; margin: -2% -2% 0 -2%!important; min-height: 500px;  
	position: relative; background: #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; 
}

@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: #fff; 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; color: #f3970d;
}
.swiper-button-next:after,.swiper-button-prev:after { 
	font-size: 1.5em!important; transform: rotate(0); color: #f3970d;
	-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(243,151,13); }
.swiper-button-next:hover:after,.swiper-button-prev:hover:after { transform: rotate(360deg); color: #fff; }

.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; }
.bandeau_titre div { display: inline-block; vertical-align: middle; font-family: 'futura-pt', sans-serif;  }
.bandeau_titre b, .bandeau_titre strong { font-family: 'futura-pt-bold', sans-serif!important; font-weight: 700!important; }

.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; }
	
/****************** ACTUS ******************************/
.fil-adherent .swiper-container	{ max-width: 480px!important; margin: 0 auto!important; overflow: hidden!important; }
.fil-actus .swiper-container	{ max-width: 960px!important; margin: 0 auto!important; overflow: hidden!important; }
.bloc-fil 						{ margin: 25px auto; padding: 20px; background: #fff; max-width: 960px!important; }
.actu_item 						{ display: inline-block; padding: 10px 20px; }
.actu_item 	a					{ text-decoration: none; color: inherit; }
.actu_photo						{ width: 95%; height: 225px; background-repeat: no-repeat; background-position: center; background-size: cover; }
.actu_categorie, .actu_date 	{ font-size: 0.9em; letter-spacing: 1.6px; font-weight: 400;}
h2.actu_titre 					{ font-size: 1.3em; letter-spacing: 1.2px; font-weight: 300;  }
.actu_texte, .actu_texte *		{ font-size: 0.9em!important; line-height: 1.3em!important; }
.swiper-button-next3 			{ right: 0!important; top: 27%!important; }
.swiper-button-prev3			{ left: 0!important; top: 27%!important; }
.actu_more a					{ color: #000; font-weight: 600; letter-spacing: 1.3px; }
.actu_more a:hover				{ text-decoration: underline; }


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

.small	{ font-size: 0.8em; line-height: 1.1em; font-weight: 300; }
.summary { font-size: 0.9em; line-height: 1.2em; }
.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'; }
  
  
.contact-content 		{ position: relative; }
.contact-content .bloc 	{ display: inline-block; width: 100%; margin: 0; padding: 20px 30px; background: rgba(26, 26, 26, 1); color: #fff; }

.bloc-coord .bloc { max-width: 450px; }
.bloc-nl .bloc { max-width: 780px; color: #fff;}

.bloc-nl input, .bloc-nl textarea, .bloc-nl .input-group-append span, .bloc-nl .input-group-prepend  span { 
	border: 0 none!important; border-bottom: solid 1px #666!important;
	-webkit-border-radius: 0!important; -moz-border-radius: 0!important; border-radius: 0!important;
	border-bottom-left-radius: 5px 5px!important; border-bottom-right-radius: 5px 5px!important;
}

.bloc-nl .input-group-prepend  span { border-bottom-right-radius: 0!important; }
.bloc-nl input, .bloc-nl textarea { border-bottom-left-radius: 0!important; }

.bloc-nl .input-group-append *, .bloc-nl input::placeholder, .bloc-nl textarea::placeholder { color: #aaa!important; opacity: 1!important; } 

.form-check .form-check-sign::before, .form-check .form-check-sign::after { border: 1px solid #666; }
.form-check .form-check-sign::after { background-color: #fff; }
 
.select2-container--bootstrap4 *:focus { box-shadow: none!important;  }
.select2-container--bootstrap4 .select2-selection { text-align: left!important; background-color: transparent!important; border: solid 1px #ddd!important; border-left: none!important; -webkit-border-radius: 0 30px 30px 0!important; -moz-border-radius: 0 30px 30px 0!important; border-radius: 0 30px 30px 0!important; }
.select2-container--bootstrap4 .select2-selection__rendered { color: #fff!important; }
.select2-container--bootstrap4 .select2-dropdown { font-family:  'futura-pt', sans-serif!important; font-size: 1em; border-color: #fff; -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1); -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1); box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1); z-index: 1051!important; }
.select2-container--bootstrap4 .select2-selection__clear { position: absolute!important; top: 12px!important; right: 22px!important; z-index: 998!important; background-color: transparent!important; border: none!important; color: #fff!important; font-size: 1.2em!important; line-height: 0.3em!important; text-align: center!important; padding-right: 3px!important; float: none!important;  margin: 0!important; }
.select2-container--bootstrap4 .select2-selection__clear:hover { background-color:#eee; }
.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow { height: 30px; width: 30px; top: 0!important; right: 5px!important; }
.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b { border-color: #fff transparent transparent transparent!important; }
.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #fff transparent!important; border-width: 0 4px 4px 4px !important; }
.select2-container--bootstrap4 .select2-selection__placeholder { font-size: 1em!important; color: #fff!important; padding-left: 6px!important; }
.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected="true"] { color: #212529; background-color: #f2f2f2; }
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected="true"] { color: #fff!important; background-color: #0071B9!important; }


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

.footer2 { z-index: 25!important; width: 100%; height: auto; padding: 0; background: rgba(26, 26, 26, 1); font-family: 'futura-pt', sans-serif; }
.footer2 .container	{ width: 100%; max-width: 1280px; margin: 0 auto; }
.footer2 .copyright { font-size: 1em; color: #fff; }
.footer2 .copyright img { max-width: 120px; }
.footer2 li { line-height: 1.4em; font-size: 1em; margin: 0 10px; }
.footer2 li a { text-transform: none!important; color: #fff; }
.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 { position: relative; }
#article h1.bandeau_titre { font-family: Arial!important; font-size: 36px; min-height: 80px; padding: 0 0 0 80px; background-image: url(../images/bubbles.png); background-repeat: no-repeat; background-position: left center; background-size: contain; }
.bandeau_titre b, .bandeau_titre strong { font-family: 'futura-pt', sans-serif!important; font-weight: 700!important; }

#article .page-header-mini { position: relative!important; z-index: 20!important; min-height: 320px!important; height: 100%!important; }
#article .container { margin-top: 280px!important; min-height: 800px; max-width: 1280px!important; }

#article.contact-main .page-header-mini { min-height: 1024px!important; width: 100%!important; position: absolute!important; z-index: 20!important; }
#article.contact-main h1.bandeau_titre { position: absolute; z-index: 25; width: 100%; top: 150px; color: #fff; background-color: transparent; text-shadow: 0 0 5px #000; }
#article.contact-main .container { margin-top: 200px!important; min-height: auto!important; }
#article.contact-main .card-contact { z-index: 25!important; }

#article .bloc-header { 
	width: 102%; max-width: 102%; height: 300px; text-align: left; z-index: 21!important; margin: -1% -1% 0 -1%!important; padding: 0; top: 30px; overflow: hidden;
	border-top: none; border-bottom: solid 15px rgba(221,193,145,1)!important; position: absolute!important; background: none; transform: rotate(-1.3deg); 
}


#actus 						{  width: 100%; max-width: 100%; margin: 0 aut; }
#actus .grid-item			{ 
	width: 48.5%; padding: 15px; height: auto; float: left; margin-right: 0; 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); width: 100%; height: auto; 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 .grid-item.item_adh			{ 
	margin-right: 1.5%!important;
}

#article .bloc-visu { width: 100%; }

#actus.annuaire .grid-item	{ width: 31.5%; }
#categories .filter_categ	{ border: none; background: none; }

#noDatas { 
	padding: 30px; font-family: 'futura-pt', sans-serif; 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/bubble_red.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; }


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

.calend .evt-std { width: 20px!important; height: 20px!important; font-size: 14px!important; line-height: 18px!important; text-align: center; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
.calend a.evt-std:hover, .calend a.evt-std:focus { text-decoration: none; }

.text-std { color: #f3970f!important; }

.event { background-color: #fff!important; -webkit-box-shadow: none!important; box-shadow: none!important; }

.calend .evt-std			{ border-color: #f3970f!important; } 
.calend .evt-std::before 	{ content: "E"; color: #f3970f!important; }
#cal-slide-content 					{ text-align: left; background: #f6f6f6!important; }
#cal-slide-content a.event-item 	{ font-size: 13px; line-height: 25px!important; color: #444!important; font-family: 'futura-pt', sans-serif!important; }
#cal-day-tick .icon-chevron-down 	{ font-family: "Nucleo Outline"; font-size: 15px; }
#cal-day-tick .icon-chevron-down:before { content: "\ea39" }

.cal-row-head [class*="cal-cell"]:first-child, .cal-row-head [class*="cal-cell"] { font-weight: normal!important; font-size: 14px!important; }
.cal-month-day { height: 60px!important; }
.cal-month-box [class*="cal-cell"] { min-height: 60px!important; }


@media screen and (max-width: 1420px) {
	.navbar .navbar-brand  { width: 200px; height: 60px; }
	#article .container { max-width: 80%;  }
	
	#article h1.bandeau_titre {   }
}


@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  {  }

	.waves { height: 300px; top: 0; }
	.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 { }
	.container { max-width: 100%!important; }
	#article .container { min-height: 600px; }
	#actus .grid-item	{ 	width: 48.5%; }
	
}


@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 { transform: uppercase!important; font-size: 14px!important; color: #fff!important; padding: 5px 10px!important; }
	.navbar .nav-item.actif .nav-link, .navbar .nav-item:hover .nav-link, .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; }
	
	
	.waves { height: 280px!important; top: 0!important; }
	.bubble-g, .bubble-o, .bubble-r { display: none; }
	
	.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 { }
	.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; }

	
	/****************** 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: 'futura-pt', 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%; 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 ) {
	.page-header { min-height: 700px; }
	.bandeau_titre { width: 100%; font-size: 16px; }
	.page-header-mini, .bloc-header { display: none; }
	.bloc-fils .bandeau_titre { font-size: 18px; padding: 10px 15px; margin-top: 15px!important;  }
	.bloc-intro .intro-visu, #article .adherent { width: 100%; max-height: 150px; position: relative; padding-right: 10%; }
	.bloc-intro .intro-visu .visu-cadre,  #article .adherent .visu-cadre { border: solid 15px #fff; transform-origin: center; transform: rotate(-10deg); filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)); }
	
	.waves, .mask { display: none; }
	
	#main-nav:after { z-index: -1!important; background-color: rgba(0, 0, 0, 0.85)!important; }
	
	.navbar .navbar-brand  { width: 130px; height: 45px;}

	.modal .modal-dialog { margin: -10px!important; }
	.modal .modal-body { padding: 5px 20px!important; }
	
	#article { margin-top: 0!important; }
	#article .container { margin-top: 10px!important; min-height: auto!important; }
	#article .bandeau_titre { width: 100%; font-size: 16px; margin: 0!important;  }
	
	#actus .grid-item	{ 	width: 100%; }
	
}