/*
Theme Name: CFPRO
Description: Theme custom pour CFPRO
Author: Bourrasque
Author URI: http://bourrasque.ca/
Version: 0.1.3
*/

/* *********** RESET CSS ***********************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: top;
	box-sizing: border-box;
	outline: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	/*border-collapse: collapse;*/
	border-spacing: 0;
}

/* ************* default wordpress ************** */
.alignleft {display: inline;	float: left;	margin-right: 1.5em;}
.alignright {	display: inline;	float: right;	margin-left: 1.5em;}
.aligncenter {	clear: both;	display: block;	margin-left: auto;	margin-right: auto;}

/*img.alignleft,
img.alignright {
	float: none;
	margin: 0;
}*/

img,
video {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

embed,
iframe,
object {
	margin-bottom: 1.5em;
	max-width: 100%;
}

hr {	background-color: var(--main-bordure)!important;	border: 0;	height: 1px;	margin-bottom: 1em!important;}
p:not(:last-child), ul:not(:last-child) {	margin-bottom: 1em;}
a {	text-decoration: none;}

/* *************** Thème ******************** */
:root {
  --main-title: #1f2124;
  --main-text: #4b545c;
  --main-bg-clear: #f4f6f7;
  --main-bg: #e9ebed;
  --main-link: #016572;
  --main-link-hover: #d62e33;
  --main-bordure: #e6e8ea;
  --main-secondaire-gray: #6a737c;
}


body {
	font-size: clamp(15px, 1.1vw, 19px);
	line-height: 1.65em;
	font-family: "Source Sans 3", system-ui, sans-serif;
  font-optical-sizing: auto;
  color: var(--main-text);
  
  
  background-color: var(--main-bg);
}

.body-wrapper {background-color: #fff; max-width: 1440px; margin: 0 auto;}

strong, b {font-weight: 700;}

h1 { font-size: clamp(30px, 6.5vw, 54px); line-height: 1.15em; font-weight: 800;	position: relative; letter-spacing: -0.01em; font-family: Archivo, sans-serif; color: var(--main-title);}
h2 { font-size: clamp(26px, 4vw, 40px); line-height: 1.15em; font-weight: 800;	position: relative; letter-spacing: -0.01em; font-family: Archivo, sans-serif; color: var(--main-title);}
h3 { font-size: clamp(18px, 3vw, 26px); 	line-height: 1.2em; font-weight: 700; font-family: Archivo, sans-serif; color: var(--main-title);}
h4 { font-size: 1.15em; line-height: 1.15em; font-family: Archivo, sans-serif; color: var(--main-title);}

.page>.container ul, .elementor-widget-text-editor ul, .single>.container ul  {list-style-type: disc; padding-left: 20px;}
.page>.container ol, .elementor-widget-text-editor ol, .single>.container ol  {padding-left: 20px;}
.page>.container ul li, .elementor-widget-text-editor ul li, .single>.container ul li {/*margin-bottom: 10px;*/}
.page>.container p+h3, .page>.container p+h4,.page>.container ul+h3, .page>.container ul+h4, .elementor-widget-text-editor p+h3, .elementor-widget-text-editor p+h4,.elementor-widget-text-editor ul+h3, .elementor-widget-text-editor ul+h4,.elementor-widget-text-editor ol+h3, .elementor-widget-text-editor ol+h4,.page>.container ol+h3, .page>.container ol+h4, .single>.container p+h3, .single>.container p+h4,.single>.container ul+h3, .single>.container ul+h4, .single>.container ol+h3, .single>.container ol+h4 {margin-top: 30px;}
ol + ul {margin-top: 1em;}

p>a:hover {
	text-decoration: underline;
}

a {	color: var(--main-link);}
a:hover {	color: var(--main-link-hover);}
i {	vertical-align: middle;}

.container {	max-width: calc(100% - min(240px, 20vw));	margin: 0 auto;}
.container.no-margin {margin-top: 0!important; margin-bottom: 0!important;}
.container-content {margin-top: 80px; margin-bottom: 80px;}
#header-title-wrapper + .container-single {margin-top: 80px;}
.container-single + #footer {margin-top: 80px; }


.dark h1, .dark h2, .dark h3, .dark h4, .dark p, .dark div.wpcf7-validation-errors, .dark div.wpcf7-acceptance-missing, .dark a, .dark li {
	color: #fff;
}

input {
	-webkit-appearance:     none;
    -moz-appearance:        none;
    -ms-appearance:         none;
    -o-appearance:          none;
    appearance:             none;
}

/* general design */
.table-bloc {overflow-x: auto; }
.elementor-widget-text-editor table, .container-single table, .table-bloc table {width: 100%; border: 1px solid var(--main-bordure); border-radius: 23px; }
.elementor-widget-text-editor table td, .container-single table td, .table-bloc td {border-bottom: 1px solid var(--main-bordure); padding: 10px 16px;}
.elementor-widget-text-editor table thead, .container-single table thead {background-color: #024a55; color: #fff; font-weight: bold; text-transform: uppercase; font-size: 13px; font-family: Archivo, sans-serif; letter-spacing: 0.1em;}
.elementor-widget-text-editor table thead tr, .container-single table thead tr { border-radius: 23px;}
.elementor-widget-text-editor tbody, .container-single tbody {font-size: 15px; }
.elementor-widget-text-editor tbody tr:nth-child(even), .container-single tbody tr:nth-child(even) {background-color: #f7f9f9;}
.elementor-widget-text-editor thead td:first-child, .container-single thead td:first-child {border-radius: 23px 0 0 0;}
.elementor-widget-text-editor thead td:last-child, .container-single thead td:last-child {border-radius: 0 23px 0 0;}
.elementor-widget-text-editor tbody tr:last-child td:first-child, .container-single tbody tr:last-child td:first-child {border-radius: 0 0 0 23px;}
.elementor-widget-text-editor tbody tr:last-child td:last-child, .container-single tbody tr:last-child td:last-child {border-radius: 0 0 23px 0;}

.flex-top-auto {margin-top: auto; margin-bottom: 35px!important;}

.gradient-bottom {background: rgba(16, 27, 33, 0); background: linear-gradient(0deg,rgba(16, 27, 33, 1) 0%, rgba(16, 27, 33, 1) 100%);}
.top-auto-flex {margin-top: auto;}
.hover-opacity {transition: opacity 0.35s;}
.hover-opacity:hover {opacity: 0.92!important;}

.title-bar h1:after, .title-bar h2:after {content: ""; display: block; margin-top: 10px; margin-bottom: 5px; width: 64px; height: 4px; background-color: var(--main-link-hover); }
.title-bar.bar-blue h1:after, .title-bar.bar-blue h2:after {background-color: var(--main-link);}
.bar-center h2:after {margin-left: auto; margin-right: auto;}

.galerie-img-hover img { transition: all 0.35s;}
.galerie-img-hover img:hover { filter: brightness(0.9) !important;}

.list-checkbox ul {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 30px; list-style: none; padding: 0;}
.list-checkbox ul li {padding-left: 30px;}
.list-checkbox ul li:before {content: "\f00c"; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-left: calc( 30px * -1 );  width: 30px; font-size: 15px; color: var(--main-link);}
.list-checkbox-no-col ul {display: block;}

/* *********** HEADER *************** */
#header {z-index: 3; position: relative;}
.header-desktop {position: relative; width: 100%;}
.top-bar {display: flex; flex-direction: row; justify-content: space-between; align-items: center; background-color: var(--main-very-dark-blue); padding: 10px 48px 0px;}
.top-bar-left, .top-bar-right, .header-menu-wrapper {display: flex; flex-direction: row; align-items: center;}
.top-bar-right>*:not(:last-child) {margin-right: 20px;}
.menu-bar {display: flex; flex-direction: row; padding: 14px 48px 20px; background-color: #fff; align-items: center; justify-content: space-between;}

.home .header-desktop {z-index: 2;}



.header-search-btn {position: relative; margin: 0 20px; display: flex; align-items: center;}
.header-search-btn>i {cursor: pointer; transition: all 0.35s; width: 38px; height: 38px; background-color: transparent; border-radius: 50%; border: 1px solid var(--main-bordure); display: flex; justify-content: center; align-items: center; font-size: 15px; color: var(--main-link);}
.header-search-btn>i:hover {border-color: var(--main-link);}
.header-search-wrapper {position: absolute; top: 100%; right: 0; width: 280px; height: 45px;  border: solid 1px var(--main-bordure); border-radius: 999px; background-clip: padding-box; margin-top: 10px; display: none; background-color: #fff;}
.searchform-header{ z-index: 1; height: 100%; padding: 8px 8px 8px 20px;}
.searchform-header>div {display: flex; flex-direction: row; height: 100%; align-items: center;}
.header-search-input {background-color: transparent; border: none!important; box-shadow: none!important; outline: none!important; border-radius: 0!important; padding: 10px 12px!important; font-size: 14px!important; flex: 1 1 auto;}
.searchform-header ::placeholder {font-style: normal ;color: var(--main-secondaire-gray);}
.header-search-submit {color: #fff!important; background: var(--main-link)!important; border-radius: 50%!important; width: 34px; height: 34px; padding: 0!important; color: #fff; transition: all 0.35s; border: none; cursor: pointer; font-size: 16px; font-weight: normal; flex: 0 0 auto;}
.header-search-submit:hover {background-color: #013d47!important; }
.searchform-header .fa-search { font-size: 14px; color: var(--main-secondaire-gray);}

.header-logo {	width: 18%; max-width: 240px;}
.menu-mobile .header-logo {margin-right: auto;}



.menu-principal a {font-size: 15px; font-weight: 600; font-family: Archivo, sans-serif; color: }
.menu-principal ul.menu>li.current-menu-item>a, .menu-principal ul.menu>li.current-menu-parent>a, .menu-principal ul.menu>li:hover>a { color: var(--main-link); border-bottom: 3px solid var(--main-link-hover); padding-bottom: 4px; }

.menu-principal {height: 100%; display: flex;	flex-direction: row; flex: 1 1 auto;}
.menu-principal ul {	display: flex;	flex-direction: row;	justify-content: center;	height: 100%; gap: min(30px, 3vw);}
.menu-principal, .menu-principal ul li {	position: relative;}

.menu-principal>ul>li {}
.menu-principal ul li a {color: #2b3138;}
.menu-principal>div {	width: 100%;}
.menu-principal ul.menu>li>a { position: relative; height: 100%;}



/* submenu */
.menu-principal ul.menu .sub-menu {visibility: hidden; opacity: 0; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); height: auto; min-width: 280px; padding-top: 10px; z-index: 99;}
.menu-principal ul.menu .submenu-wrapper {padding: 15px; flex-direction: column; box-shadow: rgba(0,0,0,0.14) 0px 18px 40px; border-radius: 18px; background-color: #fff; border: 1px solid var(--main-bordure); }
.menu-principal ul.menu li:hover>a + .sub-menu {visibility: visible; opacity: 1;  }
.menu-principal ul.menu .sub-menu a { display: block; line-height: 1.1em; color: #2b3138;  font-size: 14px; padding: 11px 16px; border-radius: 8px;}
.menu-principal ul.menu .sub-menu a:hover, .menu-principal ul.menu .sub-menu .current-menu-item a {background-color: var(--main-bordure); color: var(--main-link);}

/* menu secondaire */
.menu-secondaire a {color: var(--main-secondaire-gray); transition: all 0.35s;}
.menu-secondaire a:hover {text-decoration: underline;}
.menu-secondaire {display: flex; flex-direction: row; justify-content: flex-end;}
.menu-secondaire .menu {display: flex; flex-direction: row; gap: 20px; font-size: 13px; line-height: 1.5em;}
.menu-secondaire li.main-color a {color: var(--main-link);}


/* menu mobile */
.menu-mobile { display: none;	position: relative; 	background-color: var(--main-middle-green);	width: 100%;	/*display: flex;*/	-webkit-flex-direction: row;	flex-direction: row;	justify-content: flex-start;    align-items: center; padding: 0 20px;}
.menu-mobile-block {display: none;	position: absolute;	left: 0;	top: 100%;	width: 100%;	z-index: 9; border-bottom: 6px solid var(--main-middle-green); background-size: contain; background-position: center top; background: var(--main-dark-blue);}
.mobile-menu-header {display: flex; justify-content: center;}

.menu-mobile a.link-menu-icon{	color: #000;	font-size: 2.5em;	padding: 15px;	display: block;}
.header-mobile-search { flex: 1 1 auto; text-align: right;}
.header-mobile-link {/*width: 60px;*/ margin-left: auto;}
.btn-mobile-menu.open a {	background-color: #fff;}
.btn-mobile-menu.open a i {	color: var(--main-light-blue);}

#menu-mobile ul {margin-bottom: 0;}
#menu-mobile .sub-menu {display: none;}
#menu-mobile .menu-item-has-children, #menu-mobile .page_item_has_children {display: flex; flex-wrap: wrap;}
#menu-mobile .menu-item-has-children>a, #menu-mobile .page_item_has_children>a {order: 1; flex: 1 1 calc(100% - 60px);}
#menu-mobile .menu-item-has-children>.submenu-btn, #menu-mobile .page_item_has_children>.submenu-btn {order: 2; width: 60px; flex: 1 1 auto; display: flex;  align-items: center; justify-content: center; padding: 15px; cursor: pointer; color: #fff; font-size: 1.8em;}
#menu-mobile .menu-item-has-children>ul, #menu-mobile .page_item_has_children>ul {order: 3; width: 100%;}

.menu-mobile-block ul ul {background-color: rgba(255,255,255,0.1); }
.menu-mobile-block li a {	color: #fff; display: block; font-size: 1.8em;	line-height: 1.2em;	padding: 20px min(20px, 2%);}


.mobile-social { z-index: 1; display: flex; flex-direction: row; align-items: center; gap: 15px; margin: 15px 0;}
.mobile-social a { display: inline-block;}
.mobile-social .social-medias-wrapper {justify-content: flex-end;}
.mobile-social a i {width: 35px; height: 35px; font-size: 30px; box-shadow: 2px 2px 3px rgba(230,230,230,0.25);}


/* *** title page **** */
#header-title-wrapper {background-color: var(--main-title); position: relative;}
#header-title-wrapper:before {content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(100deg, rgba(26, 27, 29, 0.92) 0%, rgba(26, 27, 29, 0.68) 44%, rgba(26, 27, 29, 0.35) 100%); z-index: 1;}
#header-title-wrapper:after {content: ""; position: absolute; width: 46%; height: 100%; top: 0; right: 0; background: linear-gradient(255deg, rgba(1, 101, 114, 0.55) 0%, rgba(26, 27, 29, 0) 78%); z-index: 1;}
#header-title-wrapper .container {z-index: 2; position: relative;}
.header-title {padding: 62px 0 68px; max-width: 980px;}
.header-title h1 {color: #fff; }
.header-title h1:after {content: ""; display: block; width: 72px; height: 4px; background: var(--main-link-hover); margin-top: 22px; }
/* fil ariane */
.fildariane {display: flex; flex-direction: row;}
.fildariane a {position: relative; display: flex; color: rgba(255,255,255,0.78);  font-weight: 400; letter-spacing: 1px; flex-direction: row;  justify-content: flex-start;  align-items: center; font-size: 14px; }
.fildariane a .ariane-title {display: inline;}
.fildariane a:not(:last-child):after {content: " / ";  margin-left: 5px; margin-right: 8px;}
.fildariane a:is([href]):hover .ariane-title, .current-ariane {color: #fff;}

.header-entete-img {position: absolute; top: 0; left: 0; z-index: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;    overflow: hidden;}
.header-entete-img {object-fit: cover; object-position: center 5%; filter: brightness(0.62) saturate(0.9);}

/* *************** home ******************* */
.banner-activites-slider-wrapper {position: relative;}
.banner-slider-img-bg {position: absolute; inset: 0px;  }
.banner-slider-img-bg img {width: 100%;  height: 100%!important; object-fit: cover; filter: brightness(0.7);}
.banner-slider-img-overlay { position: absolute; inset: 0px; background: linear-gradient(100deg, rgba(26, 27, 29, 0.9) 0%, rgba(26, 27, 29, 0.72) 46%, rgba(1, 101, 114, 0.5) 100%);}

.banner-slider-content-wrapper {display: flex; flex-direction: row; padding: 75px 120px;}
.banner-slider-content {max-width: min(720px, 70%); flex: 1 0 auto;}
.banner-slider-bloc-title h2 {color: #fff; margin-bottom: 20px; font-size: 2.75em;}
.banner-slider-bloc-text {color: rgba(255,255,255,0.9); font-size: 19px; max-width: 620px; margin-bottom: 20px;}
.banner-subtitle {font-family: Archivo, sans-serif;  font-weight: 600; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: rgb(159, 216, 206); margin: 0px 0px 28px;}
.banner-slider-bloc-img {flex: 1 1 auto; text-align: center;}
.banner-slider-bloc-img img {max-width: 340px!important; border-radius: 12px!important;   box-shadow: rgba(0, 0, 0, 0.45) 0px 26px 50px!important;}
.banner-link a {display: inline-block;  background: var(--main-link-hover); color: #fff; font-family: Archivo, sans-serif;  font-weight: 700; font-size: 16px;  padding: 16px 34px;  border-radius: 999px; line-height: 1em; transition: all 0.35s;}
.banner-link a:hover {background: #ac2126;}
    

/* slider nav */
.banner-slider-nav {position: absolute; height: 100%; width: 100%; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; pointer-events: none;}
.banner-slider-nav .prev, .banner-slider-nav .next { top: 50%; transform: translateY(-50%); position: absolute; cursor: pointer; transition: all 0.35s; color: #fff; width: 48px; height: 48px; display: flex; justify-content: center; align-items: center; border: 1px solid rgba(255,255,255,0.45); backgrond-color: rgba(255,255,255,0.08); pointer-events: all;}
.banner-slider-nav .prev:hover, .banner-slider-nav .next:hover {background-color: rgba(255,255,255,0.2);}
.banner-slider-nav .prev[aria-disabled="true"], .banner-slider-nav .next[aria-disabled="true"]  {opacity: 0.5; cursor: not-allowed;}
.banner-slider-nav .prev { left: 30px!important; }
.banner-slider-nav .next { right: 30px!important;  }

.tns-outer {position: relative;}
.tns-controls {position: absolute; top: 50%; transform: translateY(-50%); width: 100%}
.tns-controls button[data-controls=prev], .tns-controls button[data-controls=next] {top: 50%; transform: translateY(-50%); position: absolute; cursor: pointer; transition: all 0.35s; background-color: transparent!important; padding: 0!important; border: none; font-size: 20px; color: #fff;}
.tns-controls button[data-controls=prev][disabled], .tns-controls button[data-controls=next][disabled] {opacity: 0.5; cursor: not-allowed;}
.tns-controls button[data-controls=prev] {left: 10px!important;  }
.tns-controls button[data-controls=next] {right: 10px!important;  }
.sb_youtube #tns1 > .tns-item {padding-right: 35px!important}

.tns-nav { position: absolute; bottom: 30px; text-align: left; z-index: 1; padding: 0 120px;}
.tns-nav button {padding: 0!important; background-color: rgba(255, 255, 255, 0.35)!important; width: 34px; height: 4px; border-radius: 0!important; border: none!important; margin: 0 5px; transition: all 0.35s;}
.tns-nav button.tns-nav-active, .tns-nav button:hover {background-color: #fff!important;}


.home-sae { background: linear-gradient(96deg, rgb(240, 160, 23) 0%, rgb(234, 118, 20) 34%, rgb(227, 91, 18) 100%); clip-path: polygon(0px 0px, 100% 0px, 100% 84%, 0px 100%);}
.home-sae-bg-left {background-image: repeating-conic-gradient(from 45deg, rgba(255, 255, 255, 0.9) 0deg, rgba(255, 255, 255, 0.9) 12deg, transparent 12deg, transparent 90deg); background-size: 54px 54px; opacity: 0.22;}
.home-sae-bg-right {opacity: 0.16; background: repeating-linear-gradient(135deg, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 3px, transparent 3px, transparent 26px);}

.slider-elementor .elementor-swiper-button {border: 1px solid rgb(207, 213, 216); width: 45px; height: 45px; display: flex; justify-content: center; align-items: center;}
.slider-elementor .elementor-swiper-button:hover {border-color: var(--main-link); }
.slider-elementor .elementor-swiper-button.elementor-swiper-button-prev { left: -70px!important; }
.slider-elementor .elementor-swiper-button.elementor-swiper-button-prev { left: -70px!important; }
.slider-elementor .elementor-swiper-button.elementor-swiper-button-next { right: -70px!important; }


/* ************** list news **************** */
.list-news-wrapper {margin-top: 80px;}
.archives-category-btn {display: flex; flex-direction: row; gap: 12px;}
.archives-category-btn li a {display: inline-block; border: 1px solid var(--main-bordure);  background: #f4f6f7; color: var(--main-text); font-family: Archivo, sans-serif;  font-weight: 600; font-size: 15px;  padding: 12px 24px;  border-radius: 999px; line-height: 1em; transition: all 0.35s;}
.archives-category-btn li.current-cat a, .blog .archives-category-btn li:first-child a, .archives-category-btn a:hover {background: var(--main-link-hover); color: #fff;}

.list-news {display: flex; gap: 25px; flex-direction: column; margin-top: 35px;}
.list-news:last-child {margin-bottom: 80px;}
.list-article-block {border: 1px solid var(--main-bordure);}
.list-news .list-article-block {display: flex; flex-direction: row; border-radius: 23px; overflow: hidden;}

.list-news .list-article-block>div {	}
.list-news .list-article-date, { font-style: italic; font-size: 15px; color: var(--main-secondaire-gray); margin-bottom: 10px;	}
.list-news .list-article-title { margin-bottom: 10px;	}
.list-news .list-article-excerpt {font-size: 17px; line-height: 1.6; margin: 0px 0px 18px;}
.list-news .list-article-link {	}
.list-news .list-article-link a{display: inline-block;  background: var(--main-link-hover); color: #fff; font-family: Archivo, sans-serif;  font-weight: 700; font-size: 15px;  padding: 14px 26px;  border-radius: 999px; line-height: 1em; transition: all 0.35s;}
.list-news .list-article-link a:after {content: "\f30b"; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-left: 12px; }
.list-news .list-article-link a:hover {background: #ac2126;}
.list-news .list-article-img {flex: 1 1 360px;}
.list-news .list-article-img img {object-fit: cover; height: 100%; max-width: unset; }
.list-news .list-article-content {padding: 30px;}

/* pagination */
ul.page-numbers  {text-align: center; margin-top: 50px; margin-bottom: 80px;}
ul.page-numbers li {	display: inline-block;}
ul.page-numbers li:not(:last-child) {	margin-right: 8px;}

ul.page-numbers li a, ul.page-numbers li span {	display: flex; justify-content: center; align-items: center;	width: 44px; height: 44px; border: 1px solid var(--main-bordure); border-radius: 999px;	-webkit-transition: 0.2s; /* Safari */ 	transition: 0.2s;  	font-weight: bold;}
.search-results ul.page-numbers li a, .search-results ul.page-numbers li span {color: var(--main-dark-blue);}
ul.page-numbers li span.current, ul.page-numbers li a:hover {	color: #fff;	background-color: var(--main-link);}

/* list news short */
.list-news-short-wrapper {position: relative;}
.list-news-short {display: flex; flex-direction: row; gap: 30px 2%;}
.list-news-short .list-article-img img {width: 100%;}
.list-news-short .list-article-content {padding: 20px;}
.list-news-short .list-article-date {font-family: ui-monospace, Menlo, monospace;  font-size: 11px;  color: rgb(138, 148, 156); margin: 0px 0px 10px;    letter-spacing: 0.06em; }
.list-news-short .list-article-title {font-size: 20px; line-height: 1.3; margin: 0px 0px 12px;}
.list-news-short .list-article-excerpt {font-size: 16px; line-height: 1.6; margin: 0px 0px 18px;}
.list-news-short .list-article-link a {display: inline-block; font-family: Archivo, sans-serif; font-weight: 700; font-size: 14px; color: var(--main-link-hover); border-bottom: 2px solid var(--main-link-hover); padding-bottom: 3px; transition: all 0.35s;}
.list-news-short .list-article-link a:hover {color: var(--main-link); border-color: var(--main-link);}


/* ********************* single ******************** */
.single-img-head-wrapper {margin-bottom: 50px; text-align: center;}
.single-img-head { position: relative; display: inline-block;}
.single-meta {font-size: 16px; font-style: italic; color: var(--main-secondaire-gray);}
.content-wrapper-text {max-width: 900px;}
.single-img-head img {border-radius: 23px;}
.caption-thumb, .wp-caption-text {color: #fff; font-size: 12px; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: absolute; bottom: 3px; right: 7px;}
.wp-caption {position: relative;}
.caption-thumb + .single-meta {margin-top: 15px;}

/* *********** list formation ***************** */
.cpt-filter {display: flex; flex-direction: row; gap: 12px; flex-wrap: wrap; margin-bottom: 30px;}
.cpt-filter .filter {font-size: 15px; line-height: 1.1em; padding: 12px 24px; cursor: pointer; color: #4b545c;	background-color: #f4f6f7;	font-weight: 600;	transition: all 0.35s; border: 1px solid #e2e6e9; border-radius: 999px; font-family: Archivo, sans-serif;}
.cpt-filter .filter:hover, .filter.mixitup-control-active {background-color: #d62e33; border-color: #d62e33; color: #fff;}
.list-cpt .filter_item img {border-radius: 23px; object-fit: cover; width: 290px; height: 390px; object-fit: cover; transition: all 0.35s;}
.list-cpt { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;}

.list-cpt-bloc {position: relative;}
.list-cpt-bloc a > .list-cpt-bloc-title {position: absolute; top: 0; left: 0; padding: 20px; background: linear-gradient(rgba(8, 26, 32, 0.82) 0%, rgba(8, 26, 32, 0.62) 60%, rgba(8, 26, 32, 0) 100%); border-radius: 23px 23px 0 0;}
.list-cpt-bloc-title h4 {font-size: 14px; font-family: Archivo, sans-serif; line-height: 1.3em; letter-spacing: 0.045em; color: #fff; text-transform: uppercase;}
.list-cpt-hover {opacity: 0; visibility: hidden; transition: all 0.35s; position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 20px; display: flex; flex-direction: column; background: var(--main-title); display: flex; flex-direction: column; gap: 12px; color: #fff; border-radius: 23px;}
.list-cpt-bloc:hover .list-cpt-hover {opacity: 1; visibility: visible;}
.list-cpt-excerpt-title {color: #6fd0c4; font-size: 11px; font-family: Archivo, sans-serif; line-height: 1.3em; letter-spacing: 0.12em; text-transform: uppercase;}
.list-cpt-excerpt {font-size: 15px; line-height: 1.6em;}
.list-cpt-link {display: inline-block; font-family: Archivo, sans-serif;  font-weight: 600; font-size: 15px;  padding: 12px 24px;  border-radius: 999px; line-height: 1em; transition: all 0.35s; color: #fff; background-color: var(--main-link-hover); margin: 0 auto; text-align: center;}


/* ************* single formation *************** */
.single-formation #header-title-wrapper {height: 340px;}
.single-formation #header-title-wrapper .header-entete-img {object-position: center 0%;}
.table-formation table tbody tr:last-child td {border-top: 2px solid var(--main-link); background-color: #eef4f4;}
.single-formation .elementor-icon-wrapper {display: flex; justify-content: center; align-items: center;}


/* ************* form ******************** */
.wpcf7 form {	border-radius: 0;}

.wpcf7-form {	width: 100%;	margin: 0 auto; }

.form-row {	display: flex;	flex-direction: row;	justify-content: space-between; gap: 5%;}
.form-row:not(:last-child) {margin-bottom: 14px;}
.form-col {flex: 1 1 50%;}

.wpcf7-form .form-row>p {width: 100%;}
.wpcf7-form .wpcf7-form-control-wrap {width: 100%; display: block;}

.form-col>div {position: relative;}

.wpcf7-form label {display: none;}
.wpcf7-form  .row-label label {display: block; margin-bottom: 5px;}
.wpcf7-form span.wpcf7-form-control-wrap {display: block;}
.wpcf7-form input[type=text], .wpcf7-form input[type=tel], .wpcf7-form input[type=url], .wpcf7-form input[type=email], .wpcf7-form textarea, .wpcf7-form select {
	padding: 12px 14px;
	border: 1px solid var(--main-bordure);
	width: 100%;
	font-size: 15px;
	line-height: 1em;
	box-sizing: border-box;
	-webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 10px!important;
  outline: none;
  font-family: "Source Sans 3", sans-serif;
  border-radius: 10px;
}

.wpcf7-form select {-webkit-appearance: auto; -moz-appearance: auto;}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  font-style: italic;
  opacity: 1; /* Firefox */
  font-family: "Source Sans 3", sans-serif;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  font-style: italic;
  font-family: "Source Sans 3", sans-serif;
}
::-ms-input-placeholder { /* Microsoft Edge */
  font-style: italic;
  font-family: "Source Sans 3", sans-serif;
}

/* custom checkbox styling for contact form 7 checkbox */
span.wpcf7-list-item {	display: inline-block;	margin: 0;}
.wpcf7 .wpcf7-list-item {	display: block;	margin-bottom: 10px;}
.wpcf7-list-item label {	position: relative;	cursor: pointer;	display: inline-block;}
.wpcf7-list-item input[type=checkbox] {	/*position: relative;*/	position: absolute;	visibility: hidden;	width: 30px;	height: 30px;	top: 0;	left: 0;}
.wpcf7-list-item input[type=checkbox] + span {/* border: 3px solid red; */}
.wpcf7-list-item input[type=checkbox] + span:before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 0;
	height: 30px;
	width: 30px;
	top: 0px;
	left: 0px;
	border: 1px solid #000;
	background-color: #fff;
}

.wpcf7-list-item input[type=checkbox] + span:after {
	display: block;
	position: absolute;
	content: "\2713";
	height: 30px;
	width: 30px;
	top: 0px;
	left: 0px;
	visibility: hidden;
	font-size: 18px;
	text-align: center;
	line-height: 30px;
	border: 1px solid #000;
	background-color: #fff;
	color: #000;
}

.wpcf7-list-item input[type=checkbox]:checked + span:before {	background: transparent;}
.wpcf7-list-item input[type=checkbox]:checked + span:after {	visibility: visible;}

.wpcf7-list-item-label {
	margin-left: 40px;
	display: inline-block;
}

/* radio */
.wpcf7 .wpcf7-list-item {  display: block;}
.wpcf7-form .wpcf7-list-item {}
.wpcf7-form .wpcf7-list-item label {  position: relative;  cursor: pointer;}
.wpcf7-form .wpcf7-list-item input[type=radio] + .wpcf7-list-item-label {		margin-left: 25px;}
.wpcf7-form .wpcf7-list-item input[type=radio] {	position: absolute; 	visibility: hidden;}
.wpcf7-form .wpcf7-list-item input[type=radio] + span {/*   border: 3px solid red;  */}
.wpcf7-form .wpcf7-list-item input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 18px;
  width: 18px;
  top: 3px;
  left:0;
  border: 2px solid #000;
  background-color: #fff;
}

.wpcf7-form .wpcf7-list-item input[type=radio] + span:after {
    display: block;
    position: absolute;
    content: '';
    border-radius: 100%;
    height: 8px;
    width: 8px;
    top: 8px;
    left: 5px;
    visibility: hidden;

}

.wpcf7-form .wpcf7-list-item input[type=radio]:checked + span:before {
    background: transparent;
    background-color: #fff;
}

.wpcf7-form .wpcf7-list-item input[type=radio]:checked + span:after {
   background: #000;
   visibility: visible;
}

.row-submit {text-align: center;}
.row-submit input[type=submit], .row-submit button {
	padding: 13px 24px!important;
	/*margin: 0 auto;*/
	width: 100%;
	font-weight: 700!important;
	color: #fff;
	font-size: 15px;
	font-family: Archivo, sans-serif;
	background-color: var(--main-link-hover);
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	border-radius: 999px!important;
	-webkit-appearance: none;
  	-moz-appearance: none;
	transition: all 0.25s;
	position: relative;
}

.btn-play>a {position: relative;}
input[type=submit]:hover, .row-submit button:hover {	background-color: #b8232a;}

div.wpcf7-response-output {	font-weight: bold;	color: #000;}
.dark div.wpcf7-response-output {	color: #fff;}
span.wpcf7-not-valid-tip {	text-align: center;	border-top: 1px solid #ccc;	font-size: 0.8em;}


/* ************** search ************************ */
.list-search-block:not(:last-child) {margin-bottom: 35px;}
.list-search-title {display: flex; flex-direction: row; align-items: center;}
.list-search-title>*:not(:last-child) {margin-right: 10px;}
.list-search-title h4 {margin-bottom: 0;}

/* ************** footer *************** */
#footer {background: var(--main-title); position: relative; padding-top: 70px; padding-bottom: 30px; color: rgba(255,255,255,0.78);}
.footer-content a {color: rgba(255,255,255,0.78);}
#footer a:hover {color: rgba(255,255,255,1);}
#footer h4 {color: #fff;}

.list-links-wrapper {display: flex; flex-direction: column; gap: 11px; font-size: 15px; line-height: 1.3em;}

.copyright-wrapper {position: relative; overflow: visible; margin-top: 20px; padding-top: 25px; padding-bottom: 25px;}
.copyright-wrapper:before {content: ""; position: absolute; left: 0; top: -1px; width: 100%; height: 1px; background-color: rgba(255,255,255,0.1); z-index: 10;}
.footer-text-wrapper {display: flex; flex-direction: row; justify-content: space-between; font-size: 14px}
#social-footer {flex: 0 0 auto;}
#footer .copyright {flex: 0 0 auto; margin: 22px 0px 0px;  font-size: 13px; color: rgba(255, 255, 255, 0.5);}
.menu-footer .menu ul {display: flex; flex-direction: row; gap: 20px;}
#footer .menu-footer .menu a:hover {color: rgba(255, 255, 255, 1);}
#footer .menu-footer a {color: rgba(255,255,255,0.78)}
#footer .footer-text a {color: #8fd8ce;}


/* bourrasque files */
.files-wrapper .brsqfa-dtree {margin-bottom: 80px!important;}
.brsqfa-dtree {border-radius: 23px; border: 1px solid var(--main-bordure);}
.brsqfa-dtree .table-header {background-color: #024a55; border-radius: 23px 23px 0 0; font-size: 13px; font-family: Archivo, sans-serif; font-weight: 700; letter-spacing: 0.1em; line-height: 1em; padding: 10px 0;}
.pdf-icon-file {flex: 0 0 34px; width: 34px; height: 42px; border: 2px solid rgb(214, 46, 51); border-radius: 4px; display: flex; align-items: center; justify-content: center; font-family: Archivo, sans-serif; font-weight: 700; font-size: 10px; color: rgb(214, 46, 51);}
.brsqfa-dtree .row-desc, .brsqfa-dtree .row-date {display: none!important;}
.brsqfa-dtree .line .row {font-size: 16px; font-family: Archivo, sans-serif; font-weight: 700;}
.brsqfa-dtree .line .row.row-name {flex: 1 1 auto;}
.brsqfa-dtree ul > li.file > a {display: flex; flex-direction: row; align-items: center; padding: 0 12px;}
.brsqfa-dtree .line .row.row-link {flex: 0 0 auto; width: auto; padding: 16px 22px;}
.brsqfa-dtree .line .row.row-link span {display: inline-flex; align-items: center; background: var(--main-link-hover); color: #fff; font-size: 14px;
    padding: 12px 22px; border-radius: 999px; line-height: 1em;}
.brsqfa-dtree .line:last-child {border-radius: 0 0 23px 23px;}
.brsqfa-dtree ul > li.file:nth-child(even) {background-color: #f7f9f9;}
.brsqfa-dtree ul > li.file:hover { background-color: #cce8ff; }



/* embed pdf */
.embed-pdf, .elementor-widget-csscc_pdf_embed {width: 100%; height: max(90vh, 1000px);}
.embed-pdf object {width: 100%; height: max(90vh, 1000px);}
.pdf-mobile {display: none; text-align: center;}
.pdf-mobile.show {display: block;}
.pdf-desktop.hide {display: none;}
.pdf-mobile canvas {max-width: 100%;}
.pdf-mobile.is_loading {}
.pdf-mobile .loading {padding: 50px 0;}
.pdf-mobile .loading div {border-top: 8px solid var(--main-dark-blue);border-radius: 50%;	width: 60px;	height: 60px;	animation: spin 2s linear infinite; margin: 0 auto;}
.joboffer-link-pdf {display: inline-block; margin-bottom: 15px; font-size: 1.2em; text-decoration: underline;}


/* Loading spinner */
.ajax_loading {position: absolute; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: 3; display: flex; justify-content: center; align-items: center;}
.ajax_loading:before{ content: ''; border: 6px solid rgba(0, 0, 0, 0.15); border-radius: 50%;width: 38px; height: 38px; border-top-color: rgba(0, 0, 0, 0.5); animation: spinner-rotate calc(2s) linear infinite;}
@keyframes spinner-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
