@font-face {
    font-family: Avenir;
    src: url("font/AvenirLTStd-Medium.otf") format("opentype");
}

@font-face {
    font-family: Avenir;
	font-weight: bold;
    src: url("font/AvenirLTStd-Black.otf") format("opentype");
}

:root {
	--primary-color: #C20C12;
	--secondary-color: #729FCC;
	--background-color: #ffffff;
	--light-grey: #ececec;
	--light-grey-2: #c6c6c6;
	--text-color: #151515;
	--button-radius: 9px;
  }

html{
	
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: 'Avenir', Arial, Helvetica, sans-serif;
  
}

body{overflow-x: hidden;}

a {
  color: inherit;
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5{
	font-family: 'Avenir', Arial, Helvetica, sans-serif;
	font-weight: bold;
  	padding: 0 0 0.5em 0; margin: 0; 
	
}

h6{
	font-family: 'Avenir', Arial, Helvetica, sans-serif;
	font-weight: 300;
  	padding: 0 0 1em 0; margin: 0; 
	font-size: 24px;
	display: block;
}

p, li, ul, ol{font-size: 20px; line-height: 1.4em; margin: 0;}

p, li, ul, ol{font-size: 16px; }

#Masthead .nav li a, #Masthead .nav li a{font-size: 14px;}

@media(min-width: 1400px){
	p, li, ul, ol{font-size: 20px; }
	#Masthead .nav li a, #Masthead .nav li a{font-size: 18px;}
}

@media(min-width: 1600px){
	#Masthead .nav li a, #Masthead .nav li a{font-size: 20px;}
}

#pageWrapper{
  min-height: 100vh; 
  width: 100%;
  
}

body #Masthead{
  width: 100%; 
  position: fixed; 
  top: 0; left: 0; 
  min-height: 100px;
  z-index: 10;
  transition-duration: 0.25s;
}

body.solid_menu #Masthead{background: white; height: 100px; min-height: 100px; }

#Masthead .head_grid{
  width: 100%; 
  display: flex;
  justify-content:  space-between;
  align-items: center;
  padding: 45px 0;
}

#Masthead .head_grid .logo_grid{
  display: grid; 
  grid-template-columns: 300px 1fr;
}

@media(max-width: 1200px){
	#Masthead .head_grid .logo_grid{
	  display: grid; 
	  grid-template-columns: 220px 1fr;
	}
	
	#Masthead .head_grid{

	}
}


#Masthead .head_grid .logo{
  width: 180px; 
  height: 50px;
  background: url(images/brand/cropped-logo-complet-noir-couleur.png) no-repeat;
  background-size: 99%!important; 
  background-position: center!important;
  background-repeat: no-repeat!important;
}

#Masthead .nav{
  padding: 0; margin: 0; text-indent: 0;
  display: flex; 
  justify-content: space-between; 
  align-items: center;
	transform: translateY(2px);
}

#Masthead .nav li{
  list-style: none; 
  display: inline-block; 
  margin-right: 60px;
  position: relative;
}

#Masthead .nav > li::after{
  content: "";
  position: absolute; 
  top: 0; right: -30px;
  height: 100%; 
  border-right: 2px solid var(--primary-color);
}

#Masthead .nav > li:last-child::after{display: none;}

#Masthead .nav li a{
  text-transform: uppercase; 
  position: relative;
}

#Masthead .nav > li > a::after{
  content: "";
  position: absolute; 
  bottom: -2px; 
  left: 0; 
  width: 0%; 
  border-top: 2px solid var(--text-color);
  transition-duration: 0.25s;
}

#Masthead .nav li .sub-menu li a{font-size: 14px;}

#Masthead .nav > li > a::after{
  content: "";
  position: absolute; 
  bottom: -2px; 
  left: 0; 
  width: 0%; 
  border-top: 2px solid var(--text-color);
  transition-duration: 0.25s;
}

#Masthead .nav li .sub-menu{
	display: none;
	position: absolute; 
	top: 1em; 
	left: 50%; 
	transform: translateX(-50%);
	width: 318px; 
	border: 2px solid white;
	background: white;
	border-radius: var(--button-radius);
	z-index: 2;
	box-shadow: 5px 5px 20px rgba(25,25,25,0.5);
	padding: 0 25px;
}

#Masthead .nav li .sub-menu li{
	display: block; 
	text-align: center;
	padding: 25px 0;
	border-bottom: 2px solid var(--light-grey-2);
	margin-right: 0;
}

#Masthead .nav li .sub-menu li:last-child{border-bottom: 0px none;}

#Masthead .nav li .sub-menu li a{color: var(--secondar-color); line-height: 1;}



#Masthead .nav li a:hover::after{
  width: 100%;
}

@media(max-width: 1300px){
	#Masthead .nav li a{font-size: 14px;}
}

#Masthead .nav li.menu-item-has-children a{
	position: relative;
}

#Masthead .nav li.menu-item-has-children > a::before{
	content: "";
	position: absolute; 
	top: 50%; right: -20px; 
	width: 15px; height: 8px; 
	transform: translateY(-50%);
	background: url(images/buttons/tick-down-red.svg) no-repeat;
	background-size: 95%; 
	background-position: center;
}

#Masthead .second_nav{
  padding: 0; margin: 0; text-indent: 0;
  display: flex; 
  justify-content: space-between; 
  align-items: center;
}

#Masthead .second_nav li{
  list-style: none; 
  display: inline-block; 
  padding-left: 20px;
  position: relative;
}

#Masthead .second_nav li a{
  text-transform: uppercase; 
  color: white;
  position: relative;
}

#Masthead .second_nav li a:hover{
  color: var(--secondary-color);
}



li.button a, a.button{
  background: var(--secondary-color);
	color: white;
  padding: 7px 30px;
  border: 2px solid var(--secondary-color);
  transition-duration: 0.25s;
  border-radius: var(--button-radius);
	font-size: 14px;
	display: inline-block;
}

a.button:hover{
	background: transparent; 
	color: var(--secondary-color);
}

li.button a:hover{
  background: transparent;
	color: var(--secondary-color);
}

#Masthead li.button a{padding: 6px 30px; display: inline-block;}

li.button.button_2 a, a.button.button_2{
  background: var(--primary-color);
   padding: 7px 30px;
  border: 2px solid #FFF;
  border-radius: var(--button-radius);
}

li.button.button_2:hover a, a.button.button_2:hover{
  background: var(--text-color);
  
}

a.button.button_4{
	padding-right: 60px;
	background: var(--secondary-color);
	border: 2px solid var(--secondary-color);
	color: white;
	transition-duration: 0.25s;
	position: relative;
	border-radius: var(--button-radius);
	display: inline-block;
}

a.button.button_4::after{
	content: "";
	position: absolute; 
	top: 50%; right: 25px; 
	transform: translateY(-55%) translateX(0);
	width: 30px; height: 20px; 
	background: url(images/buttons/arrow-right-white.svg) no-repeat; 
	background-size: cover; background-position: center;
	transition-duration: 0.25s;
	border-radius: var(--button-radius);
}

a.button.button_4:hover::after{
	transform: translateY(-55%) translateX(15px);
	filter:invert(1);
}

a.button.button_4:hover{
	color: var(--secondary-color);
	background: transparent;
}

a.button.button_5{
	padding-right: 60px;
	background: var(--primary-color);
	border: 2px solid var(--primary-color);
	color: white;
	transition-duration: 0.25s;
	position: relative;
	border-radius: var(--button-radius);
}

a.button.button_5::after{
	content: "";
	position: absolute; 
	top: 50%; right: 25px; 
	transform: translateY(-55%) translateX(0);
	width: 30px; height: 20px; 
	background: url(images/buttons/arrow-right-white.svg) no-repeat; 
	background-size: cover; background-position: center;
	transition-duration: 0.25s;
}

a.button.button_5:hover::after{
	transform: translateY(-55%) translateX(15px);
	filter:invert(1);
}

a.button.button_5:hover{
	color: var(--secondary-color);
	background: transparent;
}

.button.button_6{
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
	display: inline-block;
    background: transparent; 
    transition-duration: 0.25s;
	border-radius: var(--button-radius);
}

.button.button_6:hover{
    color: white;
    background: var(--primary-color); 
}

.button.button_7{
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
    background: transparent; 
    transition-duration: 0.25s;
	border-radius: var(--button-radius);
	display: inline-block;
}

.button.button_7:hover{
    color: white;
    background: var(--secondary-color); 
}


a.red_button{
	background: var(--primary-color);
	border: 2px solid var(--primary-color);
	color: white; 
	padding: 7px 40px;
	display: inline-block;
	transition-duration: 0.25s;
	border-radius: var(--button-radius); 
	font-size: 18px;
	transform: translateY(25px)
  }
  
  a.red_button:hover{
	background: transparent; 
	color: var(--primary-color);
  }

.td--red {
    background: var(--primary-color);
    color: #fff;
}
.table--qualiopi {
	padding: 0!important;
}
.table--qualiopi table {
	border-spacing:0;
}
.table--qualiopi td {
	padding: 10px;
}
.qualiopi-grid p, .qualiopi-grid a, .table--qualiopi td, .table--qualiopi p {
	font-size: 14px;
}
.td--results {
	text-align: center;
}
.td--light-grey {
	background: var(--light-grey);
	border: solid 1px #000;
}
.formations--prefooter {
	padding: 40px 0;
}  

@media(max-width: 1200px){
	li.button a, a.button, .button.button_4, li.button.button_2 a, a.button.button_2 {
		padding: 7px 12px;
	}
	
	#Masthead .second_nav li{padding-left: 30px;}

}



a.button.blue_button{
	background: var(--secondary-color);
	color: white; 
	border: 2px solid var(--secondary-color);
	transition-duration: 0.25s;
	display: inline-block;
  }

  a.button.blue_button:hover{
	background: transparent; 
	color: var(--secondary-color);
  }

.webwrapper{
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
}

.webwrapper_1100{
	width: calc(100% - 40px);
	margin: 0 auto;
	display: block;
}

@media(min-width: 1180px){
	.webwrapper_1100{
		width: 1100px;
	}
}

.grid{
	display: grid; 
	grid-gap: 4em;
	align-items: top;
}

.grid_1_1{grid-template-columns: 1fr 1fr;}
.grid_1_1_1{grid-template-columns: 1fr 1fr 1fr;}
.grid_1_2{grid-template-columns: 1fr 2fr;}
.grid_2_1{grid-template-columns: 2fr 1fr;}


#pre_footer{
	position: relative;
}

#pre_footer .grid{
	align-items: center;
	grid-gap: 0;
}

#pre_footer .grid > div{height: 100%; position: relative; display: flex; align-items: center;}

#pre_footer .grid > div:nth-child(1){
	background: var(--primary-color);
	padding: 0;
}

#pre_footer .grid > div:nth-child(2){
	background: white;
}

#pre_footer .grid > div:nth-child(3){
	background: var(--primary-color);

}

#pre_footer .footer_logo_wrapper{
	width: 100%; color: white;
	margin: 0 auto;
	padding: 40px;
}

#pre_footer .footer_logo_wrapper p{color: white; font-size: 14px;}

#pre_footer a.logo{
	width: 200px; height: 75px; 
	display: inline-block;
	background: url(images/brand/cropped-logo-complet-blanc.svg) no-repeat; 
	background-size: contain; 
	background-position: center;
	margin: 0 auto;
}

#pre_footer a.qualiopi{
	width: 200px; height: 100px; 
	display: inline-block; 
	background: url(images/brand/qualiopi.jpg) no-repeat; 
	background-size: contain; 
	background-position: center;
	margin: 0 auto;
}

#pre_footer .textwrapper{
	padding: 40px;
}

@media(min-width: 940px){
	#pre_footer .grid{
		grid-template-columns: 3fr 1fr 3fr;
		align-items: center;
	}
	#pre_footer .qualiopi-grid {
		flex-direction: column;
		justify-content: space-evenly;
		padding: 20px;
	}
	#pre_footer .qualiopi-grid p {
		text-align: center;
	}	
}

footer{
	background: var(--text-color);
	color: white;
}

footer a{font-size: 18px; color: #999;}

footer strong{color: #DDD;}

footer .grid{padding: 40px 0 80px 0;}

footer ul.menu{
	padding: 0.5em 0 0 0; margin: 0; text-indent: 0;
}

footer ul.menu li{
	list-style: none; 
	padding: 0.1em 0;
}

footer a{position: relative;}

footer a::after{
	content: "";
	position: absolute; 
	bottom: 0; left: 0; 
	width: 0%; 
	border-bottom: 1px solid white;
	transition-duration: 0.25s;
}

footer a:hover::after{
	width: 100%;
}

footer .footer_bottom{
	padding-bottom: 40px;
}

@media(min-width: 940px){
	.footer_bottom{
		display: flex; 
		justify-content: space-between;
	}
}

footer .footer_bottom p, footer .footer_bottom a{font-size: 18px; color: #DDD;}

body #mobile_menu{
	position: fixed; 
	top: 0; left: 0; 
	transform: translateX(100%);
	width: 100%; height: 100vh;
	background: var(--text-color);
	transition-duration: 1s;
	z-index: 11;
}

body.show_menu #mobile_menu{
	transform: translateX(0%);
}

#mobile_menu{
	padding: 50px 0;
	
}

#mobile_menu .menu_head{
	display: flex; 
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 100px);
	margin: 0 auto;
}

#mobile_menu a.logo{
	display: inline-block; 
	width: 218px; 
	height: 61px; 
	background: url(images/brand/mobile_menu_logo_white_red.svg) no-repeat; 
	background-size: contain; 
	background-position: center;
}

#mobile_menu a.close{
	display: inline-block; 
	width: 70px; 
	height: 70px; 
	background: url(images/buttons/mobile-menu-close-x-white.svg) no-repeat; 
	background-size: contain; 
	background-position: center;
	transition-duration: 0.25s;
}

#mobile_menu a.close:hover{
	transform: scale(0.9);
}

#mobile_menu ul.nav{
	padding: 130px 0 40px 0;
	margin: 0; 
	text-indent: 0;
}

#mobile_menu ul.nav li{
	display: block; 
	text-align: center; 
	list-style: none;
	padding: 1em 0;
}

#mobile_menu ul.nav li a{
	color: white; text-decoration: none;
	font-size: 34px;
}

#mobile_menu ul.nav li .sub-menu{
	display: none;
	width: 100%; 
	padding: 0; margin: 0; 
	text-indent: 0;
	background: var(--secondary-color);
}

#mobile_menu ul.nav li .sub-menu li{
	width: calc(100% - 100px);
	margin: 0 auto;
	border-bottom: 1px solid white;
}

#mobile_menu ul.nav li .sub-menu li:last-child{
	border-bottom: 0px none;
}

#mobile_menu .menu_2_body ul.second_nav{
	padding: 0; margin: 0; text-indent: 0; 
	text-align: center;
	display: block;


}

#mobile_menu .social{
	padding: 30px 0;
	text-align: center; 
	color: white;
}

#mobile_menu .menu_2_body ul.second_nav li{
	list-style: none; 
	display: inline-block; margin: 0 5px;
}

#mobile_menu .menu_2_body ul.second_nav li.button a{
	color: white;
}

#mobile_menu .menu_2_body ul.second_nav li.button.button_2 a{
	border: 2px solid var(--primary-color);
}

#mobile_menu .social_icon.linkedin{
	display: inline-block; 
	width: 30px; height: 30px;
	line-height: 1em; margin: 0 5px; padding: 0; 
	background: url(images/buttons/icon-linkedin-logo.svg) no-repeat; 
	background-size: contain; 
	background-position: center;
	transform: translateY(9px);
}

@media(min-width: 1100px){
	#mobile_menu{display: none;}
	
}

body a.mobile_burger{
	display: block;
	width: 80px; height: 80px; 
	position: absolute; 
	top: 50%; 
	right: 0; 
	transform: translateY(-50%) scale(0.8);
	background: url(images/buttons/mobile-menu-burger-red.svg) no-repeat;
	background-size: 100%; 
	background-position: center;
	display: none;
	
}



body.red_masthead a.mobile_burger{
	background: url(images/buttons/mobile-menu-burger-white.svg) no-repeat;
	background-size: 100%; 
	background-position: center;
}

@media(max-width: 1100px){
	#Masthead{background: white;}
	#Masthead .second_nav li {
		padding-left: 20px;
	}
	#Masthead .nav, #Masthead .second_nav{display: none;}
	body a.mobile_burger{display: block;}
	.grid{grid-gap: 2em;}
}

@media(max-width: 940px){

	#mobile_menu ul.nav{padding-top: 60px;}
	
}

@media(max-width: 640px){
	#mobile_menu a.close{
		width: 30px; height: 30px;
	}

	#mobile_menu a.logo{
		width: 174px; height: 49px;
	}

	.grid_1_1, .grid_1_1_1{
		grid-template-columns: 1fr;
	}

	footer .grid{padding: 80px 0; grid-gap: 1em;}

	#Masthead .head_grid .logo{
		width: 174px; height: 49px;
	}

	#mobile_menu .menu_2_body ul.second_nav li.button{
		display: block; margin: 0 auto 2em auto;
		width: calc(100% - 100px);
	}

	#mobile_menu .menu_2_body ul.second_nav li.button a{width: calc(100%); display: block; }
	
	#mobile_menu ul.nav li a{
		font-size: 18px;
	}
	
		.webwrapper{width: calc(100% - 40px);}
}

@media(max-height: 1300px){
	#Masthead{
		height: 106px;
		min-height: initial;
		position: fixed;
	}

	#Masthead .head_grid{padding: 20px;}

	body.red_masthead a.mobile_burger{
		background: url(images/buttons/mobile-menu-burger-red.svg) no-repeat;
		background-size: 100%;
		background-position: center;
	}
}


.modal_bg{
	position: fixed; 
	top: 0; left: 0; 
	width: 100%; 
	height: 100vh; 
	background: rgba(0,0,0,0.3);
	z-index: 20;
	display: none;
}

.modal_card{
	width: calc(100% - 40px);
	max-width: 900px; 
	height: calc(100vh - 80px);
	position: fixed; 
	top: 50%; left: 50%; 
	transform: translateX(-50%) translateY(-50%);
	background: var(--primary-color); 
	border: 5px solid white;
	z-index: 21;
	display: none;
	border-radius: 15px;
}

.modal_card img{width: 100%; }

.modal_card .textwrapper{text-align: center; color: white;}

.modal_card a.close_card{
	position: absolute; 
	top: 20px; right: 20px; 
	width: 30px; height: 30px; 
	background: url(images/buttons/mobile-menu-close-x-white.svg) no-repeat; 
	background-size: 99%; background-position: center;
}

.modal_card .grid{height: 100%;}

.modal_card a.linkedin{
	width: 30px; height: 30px; 
	border-radius: 50%; 
	display: inline-block; 
	background: white;
	position: relative;
}

.modal_card a.linkedin::after{
	content: "";
	position: absolute; 
	top: 0; left: 0; width: 100%; height: 100%; 
	background: url(images/buttons/icon-linkedin-logo-dark.svg) no-repeat; 
	background-size: 70%; background-position: center;
}

.modal_card .scroll_wrapper{
	position: relative;
	width: 100%; 
	height: 100%; 
	max-height: calc(100vh - 80px);
	overflow: hidden;
	text-align: center;
}

.modal_card .scroll_wrapper .scroll_content{
	width: calc(100% + 10px);
	height: 100%;
	overflow-y: scroll; 
}

@media(max-width: 720px){
	.modal_card .scroll_wrapper{
		height: calc(50vh - 40px);
	}
}


.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
	
	width: 100%; 
}

.gform_wrapper input[type=text], .gform_wrapper input[type=email]{
	border: 0px none; padding: 10px!important; 
	border-bottom: 1px solid #999;
	font-size: 14px!important; 
	width: 100%!important;
}

.gform_wrapper textarea{
	border: 0px none; padding: 10px!important; 
	border-bottom: 1px solid #999;
	font-size: 14px!important; 
	width: 100%!important;
}

.gform_wrapper input[type=submit]{
	width: initial!important; 
    background: var(--primary-color);
    padding: 11px 30px;
    border: 2px solid var(--primary-color);
	color: white;
	border-radius: 5px;
}

@media(max-width: 840px){
	.grid.grid_1_1{grid-template-columns: 1fr;}
}

#deck_6 .grid > div .box strong{font-size: 1.2em; padding-bottom: 0.5em; display: block;}


.padding_top_1{padding-top: 5%;}
.padding_top_2{padding-top: 10%;}
.padding_top_3{padding-top: 15%;}
.padding_top_4{padding-top: 20%;}
.padding_top_5{padding-top: 25%;}
.padding_top_6{padding-top: 30%;}
.padding_top_7{padding-top: 35%;}
.padding_top_8{padding-top: 40%;}
.padding_top_9{padding-top: 9vh;}

.legal_text h1, .legal_text h2, .legal_text h3, .legal_text h4, .legal_text h5, .legal_text p{
	padding: 0.5em 0;
}

.ytp-chrome-top, .ytp-title-channel-logo{display: none!important;}

.footer_logo{
	position: relative;
	display: inline-block;
	width: 240px;
	height: 80px;
	background: url(https://co-devenir.com/wp-content/uploads/2023/09/codev_logo_white.png) no-repeat;
	background-size: 99% auto;
	margin-top: 80px;
	background-position: center;
}

@media(max-width: 840px){
	.footer_logo{
		width: 180px; 
		height: 60px;
	}
}