/***** top page *****/
.top_page 									{ position: relative; padding-top: 140px; background: var(--gradient); color: #fff; border-radius: 0 0 var(--radiusXL) var(--radiusXL);}
.top_page .content 							{ padding: 5vw 0 calc(5.5vw + 40px) 0;  display: grid; align-items: center;}
.top_page .txt 								{ position: relative; z-index: 80; margin: 0;}
.top_page .txt :last-child					{ margin-bottom: 0;}
.top_page .titre_main span					{ display: inline;}
.top_page .chapo 							{ margin-top: calc(1.5vw + 10px); font-weight: 400; letter-spacing: 0.4px;}

.top_page_short .content 					{ display: block;}
.top_page_short .txt .titre_main 			{ font-size: clamp(55px, 5vw, 80px);}

.top_page_center .content 					{ display: block;}
.top_page_center .txt 						{ margin: 0 auto; text-align: center;}

@media (max-width:2000px) {
.top_page:not(.top_page_center) .txt		{ margin: 0 0 0 5vw;}
}
@media (max-width:1800px) {
.top_page:not(.top_page_center) .txt		{ margin: 0 0 0 10vw;}
}
@media (max-width:1500px) {
.top_page:not(.top_page_center) .txt 		{ margin: 0 auto;}
}
@media (max-width:1200px) {
.top_page 									{ padding-top: 120px;}
}
@media (max-width:1000px) { 
.top_page 									{ border-radius: 0;}
.top_page .content 							{ padding: 7.5vw 0 calc(7.5vw + 40px) 0;}
.top_page .chapo 							{ margin-top: calc(1.5vw + 15px);}

.top_page_short .txt .titre_main 			{ font-size: clamp(35px, 6vw, 50px);}
}
@media (max-width:700px) { 
.top_page 									{ padding-top: 60px;}
.top_page .content 							{ padding-bottom: calc(7.5vw + 30px);}
.top_page .titre_main br 					{ display: none;}
}



/***** global *****/
.shutters_zone 								{ position: relative;}
.first_section 								{ margin-top: var(--marginT);}
.bloc_txt 									{ position: relative;}
.separate_height 							{ height: 5px; margin-bottom: calc(1.5vw + 15px);}
.separate_line 								{ width: 50px; height: 2px; background: var(--orange); margin-block: calc(1.2vw + 12px);}
.inner_padding 								{ padding: 0 clamp(20px, 3.5vw, 40px);}
.num 										{ position: relative; padding: 0 0 0 36px;}
.num>span:first-child						{ min-width: 24px; height: 24px; padding: 0 4px; font-size: 14px; line-height: 24px; letter-spacing: 0; text-align: center; position: absolute; left: 0; top: 2px; background: var(--orange); color: #fff; border-radius: var(--radiusXS);}
.bloc_faq.grid_sticky .show_hide			{ margin-top: clamp(-20px, -2vw, -10px);}
.video video								{ width: 100%; height: auto; display: block; border-radius: var(--radiusL); position: relative;}

@media (min-width:1001px) { 
.first_section 								{ margin-top: clamp(60px, 8vw, 120px);}
}
@media (max-width:1200px) { 
.inner_padding 								{ padding: 0;}
.bloc_faq.grid_sticky .show_hide			{ margin-top: clamp(15px, 2.5vw, 25px);}
.num>span:first-child						{ top: 1px;}
}
@media (max-width:1000px) { 
.shutters_zone 								{ margin-top: -40px;}
}
@media (max-width:700px) { 
.num 										{ padding: 0 0 0 32px;}
.num>span:first-child						{ min-width: 22px; height: 22px; font-size: 12px; line-height: 22px; top: 1px;}
}
@media (max-width:500px) { 
.num>span:first-child						{ top: 0;}
}



/***** custom has nav shutters *****/
main:has(.nav_shutters) .top_page .content	{ padding-bottom: calc(5vw + 80px);}

@media (min-width:1001px) { 
main:has(.shutters_zone) .first_section 	{ margin-top: clamp(50px, 8vw, 100px);}
}
@media (max-width:1000px) { 
main:has(.nav_shutters) .top_page .content	{ padding-bottom: calc(8vw + 40px);}
main:has(.nav_shutters) .top_page .dl_deco,
main:has(.filters_bloc) .top_page .dl_deco 	{ display: none;}
}



/***** breadcrumb *****/
#page .breadcrumb							{ line-height: 0; letter-spacing: 0; position: relative; padding: 0; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
#page .breadcrumb li 						{ display: inline; font-size: 12px; line-height: 20px; margin-right: 30px; letter-spacing: 0.6px; position: relative;}
#page .breadcrumb li:after					{ width: 1px; height: 9px; position: absolute; right: -16px; top: 2px; background: var(--orange); content: "";}
#page .breadcrumb li:last-child:after 		{ display: none;}
#page .breadcrumb li a  					{ color: #fff; font-family: "SuisseIntl-Regular";}
#page .breadcrumb li a.back					{ padding-left: 20px;}
#page .breadcrumb li a.back:before			{ width: 9px; height: 100%; position: absolute; left: 0; top: 1px; transform: rotate(90deg); background: url("../images/arrow_down.svg") center / contain no-repeat; content: "";}
#page .breadcrumb li a:after				{ display: none;}

@media (min-width:1201px) {
#page .breadcrumb a:hover                 	{ color: var(--orange); filter: none;}
}
@media (max-width:700px) { 
#page .breadcrumb							{ display: none;}
#page .breadcrumb li 						{ font-size: 10px; margin-right: 16px; letter-spacing: 0.4px;}
#page .breadcrumb li:after					{ height: 7px; right: -10px; top: 4px;}
}



/***** shutter nav *****/
.nav_shutters 											{ margin: -30px 0 0 0; position: sticky; top: -40px; z-index: 800; transition: top 300ms ease-in-out;}
.nav_shutters .sous_titre								{ display: none;}
.nav_shutters .container								{ display: inline-block; text-align: center; box-shadow: 0 10px 30px 0 rgba(2,28,29,5%); padding: 8px; border-radius: var(--radiusS); background: #fff; letter-spacing: 0;}
.nav_shutters a:not(:last-child)						{ margin-right: 0;}
.nav_shutters a											{ font-size: clamp(16px, 1.4vw, 18px); line-height: 46px; height: 46px; letter-spacing: 0.2px; display: inline-block; padding: 0 24px 0 24px; border-radius: calc(var(--radiusS) - 4px);}
.nav_shutters:not(:has(a.active)) a:first-child			{ background-color: var(--softblue);}
.nav_shutters a.active 									{ background-color: var(--softblue);}

.scrolling_down .nav_shutters 							{ top: 10px;}

@media (min-width:1201px) {
.nav_shutters a:not(.active):hover                		{ opacity: 0.5;}
.nav_shutters:not(:has(a.active)) a:hover:first-child 	{ opacity: 1;}
}
@media (max-width:1000px) { 
.nav_shutters 											{ position: absolute; left: 10vw; top: 10px; margin: 0 auto; width: 80vw; transition: none;}
.nav_shutters.is_sticky									{ position: fixed; top: -70px; transition: top 300ms ease-in-out;}
.scrolling_down .nav_shutters.is_sticky					{ top: 10px;}
.nav_shutters .container								{ display: block; text-align: left;}
.nav_shutters .sous_titre								{ display: block; height: 40px; line-height: 40px; padding: 0 10px; margin: 0;}
.nav_shutters .open_close 								{ position: absolute; right: 0; top: 0; left: 0; bottom: 0;}
.nav_shutters .open_close:before						{ position: absolute; right: 0; top: 0; width: 40px; height: 40px; background: url("../images/arrow_dwn_b.svg") 50% 52% no-repeat var(--softblue); border-radius: 10px; transform: rotate(180deg); content: "";}
.nav_shutters .open_close.active:before					{ transform: rotate(0deg);}
.nav_shutters a											{ display: block; margin: 6px 0 0 10px; padding: 0 0 0 30px; background: url("../images/arrow_b.svg") -5px 50% no-repeat; height: auto; line-height: 32px; border-radius: 0; font-size: clamp(14px, 2.2vw, 16px);}
.nav_shutters a:last-child								{ margin-bottom: 6px;}
.nav_shutters:not(:has(a.active)) a:first-child			{ background-color: transparent;}
.nav_shutters a.active 									{ color: var(--orange); background-color: transparent;}

.nav_shutters.is_sticky .open_close:before				{ transform: rotate(0deg);}
.nav_shutters.is_sticky .open_close.active:before 		{ transform: rotate(180deg);}
}
@media (max-width:700px) { 
.nav_shutters 											{ left: 8vw; width: 84vw;}
.nav_shutters .container								{ padding: 8px;}
.nav_shutters .sous_titre								{ height: 34px; line-height: 34px; font-size: 18px;}
.nav_shutters .open_close:before						{ width: 36px; height: 36px; right: -1px; top: -1px; border-radius: 8px;}
.nav_shutters a											{ margin: 4px 0 0 10px; padding: 0 0 0 25px; line-height: 30px; background-size: auto 10px;}
}



/***** item sticky *****/
.item_sticky											{ position: sticky; top: 120px; align-self: start; transition: top 300ms ease-in-out;}
.item_sticky picture									{ display: block;}
.item_sticky picture img								{ width: 100%; height: auto; display: block; object-fit: cover; border-radius: var(--radiusM);}



/***** grid sticky *****/
.grid_sticky .container									{ display: grid; grid-template-columns: 1fr 2.5fr; grid-gap: 5vw; align-items: start;}
.grid_sticky.reverse .container							{ grid-template-columns: 2.5fr 1fr;}
.grid_sticky.reverse .content							{ grid-area: 1/1;}
.grid_sticky.reverse .item_sticky						{ grid-area: 1/2;}

@media (max-width:1200px) {
.grid_sticky .container									{ grid-template-columns: 1fr;}
.grid_sticky .item_sticky								{ position: static; width: 45%;}
.grid_sticky .item_sticky picture						{ position: absolute; right: 0; top: 0; width: 40%; margin-top: 0;}
}
@media (max-width:1000px) {
.grid_sticky .item_sticky picture						{ top: 5vw;}
}
@media (max-width:700px) {
.grid_sticky .item_sticky								{ position: static; width: 100%; display: grid;}
.grid_sticky .item_sticky picture						{ position: static; width: 100%; max-width: 400px; margin: 5vw auto var(--marginB) auto; grid-area: 1;}
.grid_sticky .item_sticky :nth-last-child(2) 			{ margin-bottom: 0;}
}



/***** steps *****/
.bloc_steps 								{ position: relative; padding-bottom: 120px;}
.bloc_steps .item 							{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: clamp(80px, 5vw, 110px); position: relative; margin-bottom: -120px;}
.bloc_steps .item .step						{ padding: clamp(20px, 3vw, 40px); position: relative; min-height: 360px; border-radius: var(--radiusM); overflow: hidden;}
.bloc_steps .item .step:before				{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: var(--darkteal); opacity: 0.35; content: "";}
.bloc_steps .item:nth-child(even) .step 	{ grid-area: 1 / 2;}
.bloc_steps .item .dot						{ width: 30px; height: 30px; border: 2px solid var(--darkteal); border-radius: 6px; background: transparent; position: absolute; left: 50%; top: clamp(20px, 4.2vw, 40px); transform: translateX(-50%); z-index: 5;}
.bloc_steps .item .dot:before				{ position: absolute; left: 5px; top: 5px; right: 5px; bottom: 5px; border-radius: 3px; background: var(--orange); transform: scale(0); transition: transform 200ms ease-in 0ms; content: "";}
.bloc_steps .item .line						{ width: 2px; position: absolute; left: 50%; top: calc(clamp(20px, 4.2vw, 40px) + 30px); transform: translateX(-50%); bottom: calc(120px - clamp(20px, 4.2vw, 40px)); background: var(--darkteal); background: linear-gradient(var(--teal) 0 50%, var(--darkteal) 50% 100%); background-size: 100% 200%; background-position: 0 100%;}
.bloc_steps .item .step .num				{ font-size: clamp(16px, 1.6vw, 24px); line-height: 90%; letter-spacing: 0; position: absolute; right: clamp(20px, 3vw, 30px); top: clamp(20px, 3vw, 30px); padding: 0; color: var(--darkteal); transition: all 200ms ease-in 0ms;}
.bloc_steps .item .step .titre_serif		{ font-size: clamp(18px, 1.3vw, 28px); line-height: 140%;}
.bloc_steps .item .step p 					{ margin-bottom: 10px; position: relative;}
.bloc_steps .item .step p a					{ font-family: "SuisseIntl-Regular";}
.bloc_steps .item .step lord-icon			{ width: 36px; height: 36px; display: block; margin-bottom: 15px;}
.bloc_steps .item .step :last-child			{ margin: 0;}
.bloc_steps .item:last-child .line			{ display: none;}

.bloc_steps .item.active .dot				{ border-color: var(--teal); transition: border 200ms ease-in;}
.bloc_steps .item.active .dot:before		{ transform: scale(1);}
.bloc_steps .item.active .step .num			{ color: #fff;}
.bloc_steps .item.active .line				{ background-position: 0 0; transition: background 800ms ease-in 0ms;}

@media (min-width:1201px) {
.bloc_steps .item .step p a:hover			{ color: #fff;}
.bloc_steps .item .step p a:hover:after		{ filter: brightness(0) invert(1);}
}
@media (max-width:1000px) {
.bloc_steps .item .step .titre_serif		{ font-size: clamp(20px, 3vw, 22px);}
}
@media (max-width:700px) {
.bloc_steps 								{ padding-bottom: 0;}
.bloc_steps .item 							{ display: block; padding-left: 0; margin-bottom: 12px;}
.bloc_steps .item .step						{ min-height: inherit;}
.bloc_steps .item .dot						{ display: none;}
.bloc_steps .item .line						{ display: none;}
.bloc_steps .item .step .num,	 
.bloc_steps .item.active .step .num			{ color: var(--orange);}
}



/***** bloc txt img *****/
.bloc_txt_img 											{ position: relative;}
.bloc_txt_img .container	                        	{ display: grid; grid-template-columns: 35% 1fr; grid-gap: 5vw; align-items: center; position: relative; margin: 0 -2vw;}
.bloc_txt_img .container>.item							{ position: relative;}
.bloc_txt_img .container>.item :last-child 				{ margin-bottom: 0;}
.bloc_txt_img .container .img img 						{ width: 100%; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; border-radius: var(--radiusM); margin: 0 auto;}
.bloc_txt_img .container .txt .wrap 					{ max-width: 600px; margin-inline: auto;}
.bloc_txt_img .container .txt .link 					{ margin-top: 10px;}
.bloc_txt_img .container .txt .link_txt_arrow			{ margin-top: 5px;}

.bloc_txt_img.reverse .container 						{ grid-template-columns: 1fr 35%;}
.bloc_txt_img.reverse .container>.item:last-child		{ grid-area: 1 / 1;}
.bloc_txt_img.reverse .container>.item:first-child      { grid-area: 1 / 2;}

.bloc_txt_img.align_top .container                		{ align-items: start;}
.bloc_txt_img.align_stretch .container                	{ align-items: stretch;}

@media (max-width:1400px) { 
.bloc_txt_img .container	                        	{ margin: 0;}
}
@media (max-width:1000px) { 
.bloc_txt_img .container 								{ grid-template-columns: 1fr; grid-gap: clamp(40px, 10vw, 60px);}
.bloc_txt_img.reverse .container 						{ grid-template-columns: 1fr;}
.bloc_txt_img.reverse .container>.item:last-child		{ grid-area: auto;}
.bloc_txt_img.reverse .container>.item:first-child      { grid-area: auto;}
.bloc_txt_img .container .img img 						{ max-width: 400px;}
}




/***** cta bloc *****/
.cta_bloc 									{ position: relative;}
.cta_bloc .dl_deco.pos_bl,
.cta_bloc .dl_deco.pos_tl 					{ left: clamp(-60px, -3.5vw, -3.5vw);}
.cta_bloc:has(.dl_deco.pos_bl)				{ padding-bottom: 20px;}
.cta_bloc:has(.dl_deco.pos_tl)				{ padding-top: 20px;}

.cta_bloc .bloc_gradient					{ color: #fff; padding: var(--paddingT) 5vw;}
.cta_bloc .bloc_gradient lord-icon 			{ width: 36px; height: 36px; margin: -15px auto 5px auto; display: none;}
.cta_bloc .bloc_gradient .titre_main 		{ line-height: 120%; margin-top: 10px;}
.cta_bloc .bloc_gradient .sous_titre 		{ margin: clamp(15px, 2.2vw, 18px) 0; font-size: clamp(16px, 1.6vw, 20px); font-weight: 400; letter-spacing: 0.4px;}
.cta_bloc .link								{ margin-top: 10px; background-image: linear-gradient(to top, var(--orange) 0% 50%, #fff 50% 100%);}
.cta_bloc .link	i							{ font-style: normal;}
.cta_bloc .link	span						{ display: inline-block;}
.cta_bloc .link_full						{ height: auto; padding: 15px 40px; border-radius: calc(var(--radiusS) + 5px);}

@media (min-width:1201px) {
.cta_bloc .link:hover						{ color: var(--softblack);}
}
@media (max-width:1200px) {
.cta_bloc .bloc_gradient					{ padding: clamp(20px, 8vw, 60px);}
}
@media (max-width:1000px) {
.cta_bloc .dl_deco.pos_bl,
.cta_bloc .dl_deco.pos_tl 					{ left: -5vw;}
}
@media (max-width:450px) {
.cta_bloc .link	i							{ display: none;}
}



/***** packs *****/
.packs 											{ margin: calc(1.5vw + 25px) 0;}
.packs .container								{ grid-gap: 20px;}
.packs .item .titre_main						{ margin: -10px 0 0 0;}
.packs .item .price								{ margin: 10px 0;}
.packs .item .price i							{ font-size: 13px; line-height: 160%; font-style: normal; display: block; padding-bottom: 2px;/* margin-top: -2px;*/}
.packs .item .link								{ margin: 10px 0 30px 0;}
.packs .item p.desc								{ display: grid; align-items: center; min-height: 90px; margin: 0; line-height: 160%; border-top: 1px solid var(--orange); border-bottom: 1px solid var(--orange); padding: 15px 0; margin-bottom: 40px;}
.packs .item p.small							{ font-size: 14px; line-height: 160%; margin: 20px 0 -5px 0; font-style: italic;}
.packs .item li.nope							{ filter: grayscale(100%); opacity: 0.65;}

@media (max-width:1200px) {
.packs.col_3 .container							{ display: flex; flex-wrap: wrap; gap: 16px; justify-content: center;}
.packs.col_3 .container .item					{ flex: 0 0 calc(50% - 8px); max-width: calc(50% - 8px);}
}
@media (max-width:700px) {
.packs.col_3 .container							{ max-width: 500px; margin: 0 auto;}
.packs.col_3 .container .item					{ flex: auto; max-width: 100%;}

.packs .item .titre_main.smaller				{ margin: 0; font-size: clamp(30px, 5vw, 60px);}
.packs .item .price								{ margin: 8px 0;}
.packs .item .price i							{ font-size: 12px;}
.packs .item .link								{ margin: 5px 0 20px 0;}
.packs .item p.desc								{ min-height: 70px; padding: 10px 0; margin-bottom: 25px;}
.packs .item p.small							{ font-size: 12px; margin: 15px 0 0 0;}
}



/***** offre *****/
.offre  										{ margin-top: calc(1.5vw + 15px);}
.offre .label									{ width: clamp(120px, 15.2vw, 180px); height: auto; display: block; margin-bottom: 15px;}
.offre .ul_check								{ margin: 0 0 30px 0; padding-top: 10px;}
.offre .show_hide 								{ margin: 0; padding-bottom: 10px;}
.offre .show_hide .item:last-child				{ border: none;}
.offre .show_hide .hide							{ color: var(--softblack);}
.offre .link									{ margin-top: 10px;}

@media (max-width:700px) {
.offre .label									{ margin-bottom: 10px;}
.offre .ul_check								{ margin: 0 0 20px 0;}
.offre .link									{ margin-top: 5px;}
}



/***** ul table *****/
.ul_table   									{ border: 1px solid var(--sandstone3); border-radius: var(--radiusS); margin: clamp(15px, 2.2vw, 25px) 0;}
.ul_table li 									{ border-bottom: 1px solid var(--sandstone3); line-height: 170%; display: grid; grid-template-columns: 1fr 120px;}
.ul_table li:last-child 						{ border: none;}
.ul_table li span								{ padding: 10px 20px;}
.ul_table li span:last-child					{ border-left: 1px solid var(--sandstone3); text-align: center;}

@media (max-width:700px) {
.ul_table li 									{ line-height: 160%; grid-template-columns: 1fr 90px;}
.ul_table li span								{ padding: 10px 15px;}
}



/***** bloc faq *****/
@media (max-width:1200px) {
.bloc_faq.grid_sticky .container 				{ display: block;}
.bloc_faq.grid_sticky .item_sticky 				{ width: 100%; display: block;}
}




/***** listing blog *****/
.blog_listing  										{ overflow: hidden;}
.blog_listing .container							{ margin-top: clamp(15px, 2.2vw, 25px);}

@media (max-width:1200px) {
.blog_listing .container							{ display: flex; gap: 16px; overflow-x: auto; padding: 0 5vw; margin-left: -5vw; margin-right: -5vw;}
.blog_listing .container::-webkit-scrollbar			{ display: none;}
.blog_listing .container .card_blog					{ width: clamp(200px, 90vw, 350px); flex-shrink: 0;}
}
@media (max-width:1000px) {
.blog_listing .container .card_blog					{ width: clamp(200px, 80vw, 380px);}
}
@media (max-width:700px) {
.blog_listing .container							{ gap: 10px;}
}



/***** table flex *****/
.table_flex 										{ margin: calc(1.5vw + 15px) -4vw 0 -4vw; font-size: 15px; line-height: 160%;}
.table_flex .item									{ display: flex; gap: 10px; margin-bottom: 5px;}
.table_flex .item>div								{ flex: 1; align-content: center; background: #fff; border: 1px solid var(--sandstone3); padding: 20px 25px; border-radius: var(--radiusXS);}
.table_flex .item>div:first-child					{ width: 120px; flex: initial; text-align: center; background: var(--softblue); border: none; font-family: "SuisseIntl-Medium";}
.table_flex .heading>div							{ background: var(--darkteal); color: #fff; text-align: center;}
.table_flex .heading>div:first-child				{ background: #fff; border: 1px solid var(--sandstone3);}
.table_flex .heading lord-icon						{ width: 36px; height: 36px; display: block; margin: 0 auto;}

@media (max-width:1200px) {
.table_flex 										{ margin-right: 0; margin-left: 0;}
.table_flex .item>div								{ padding: 15px 20px;}
}
@media (max-width:1000px) {
.table_flex 										{ font-size: 14px; margin-top: calc(1.8vw + 18px);}
}
@media (max-width:700px) {
.table_flex 										{ width: 100vw; margin-left: -5vw; overflow-x: auto; padding: 0 5vw; font-size: 13px; display: flex; flex-wrap: wrap;}
.table_flex::-webkit-scrollbar						{ display: none;}
.table_flex .item									{ margin-bottom: 0; flex: 1;}
.table_flex .item>div								{ min-width: clamp(220px, 75vw, 300px); border-radius: 0; border-top: none; padding: 14px 18px 14px 16px;}
.table_flex .item>div:first-child					{ display: none;}
.table_flex .item>div:before						{ content: attr(data-text); display: block; font-size: 13px; font-family: "SuisseIntl-Medium"; background: var(--softblue); width: max-content; padding: 4px 8px 3px 8px; margin-bottom: 8px; border-radius: 5px;}
.table_flex .item:last-child>div					{ border-radius: 0 0 var(--radiusS) var(--radiusS);}
.table_flex .heading>div							{ text-align: left; border-radius: var(--radiusS) var(--radiusS) 0 0; min-height: inherit;}
.table_flex .heading>div:before						{ display: none;}
.table_flex .heading>div b							{ font-size: 16px; font-family: "SuisseIntl-Medium";}
}



/***** services *****/
.services .item lord-icon							{ width: 40px; height: 40px; display: block; margin-bottom: clamp(10px, 2vw, 15px);}
.services .item .link								{ margin-top: 10px;}
.services.col_2 .container							{ margin: 0 -4vw;}

@media (max-width:1400px) {
.services.col_2 .container							{ margin: 0;}
}

@media (max-width:1000px) {
.services.col_2 .container							{ grid-template-columns: 1fr;}
}
@media (max-width:700px) {
.services .item 									{ padding: clamp(20px, 3vw, 40px);}
.services .item lord-icon							{ width: 36px; height: 36px;}
}





/***** page creation site web *****/
@media (max-width:1000px) {
#website .bloc_txt_img .img	img						{ width: calc(45vw - 8px); max-width: none; height: 52.5vw; margin: 0;}
#website .bloc_txt_img:not(.reverse)  				{ margin-bottom: -52.5vw;}
#website .bloc_txt_img:not(.reverse) .img			{ grid-area: 2;}
#website .bloc_txt_img.reverse .img					{ display: grid; justify-content: end;}
}
@media (max-width:700px) {
#website .bloc_txt_img .img	img						{ width: calc(45vw - 5px);}
}



/***** page creation e-commerce *****/
.certis 										{ margin: calc(1.5vw + 25px) 0;}
.certis .container								{ grid-gap: 20px;}
.certis .container img							{ width: auto; height: 100px; border-radius: 0; margin: -15px auto 0 auto;}
.certis .container .label						{ padding: 20px 0; border-top: 1px solid var(--orange); border-bottom: 1px solid var(--orange); text-align: center; margin-bottom: 30px;}
.certis .container .link						{ margin-bottom: 30px;}

@media (max-width:1200px) {
.certis .container								{ display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;}
.certis .container .item						{ flex: 0 0 calc(50% - 10px); max-width: calc(50% - 10px);}
.certis .container img							{ height: 90px;}
}
@media (max-width:700px) {
.certis .container								{ max-width: 500px; margin: 0 auto;}
.certis .container .item						{ flex: auto; max-width: 100%;}
.certis .container img							{ height: 70px; margin-top: -10px;}
.certis .container .label						{ padding: 15px 0; margin-bottom: 20px;}
.certis .container .link						{ margin-bottom: 20px;}
}

#eshop_sub .item_sticky picture.bloc_white		{ padding: clamp(10px, 2vw, 20px); border-radius: var(--radiusM);}
#eshop_sub .services 							{ margin-top: calc(1.5vw + 25px);}
#eshop_sub .services .item .sigle_presta		{ width: 50px; position: absolute; right: clamp(12px, 2.2vw, 20px); top: clamp(12px, 2.2vw, 20px); background: #d7f1fd; padding: 15px 10px 15px 15px; border-radius: calc(var(--radiusS) + 3px);}
#eshop_sub .eshop_service						{ margin-top: 16px;}
#eshop_sub .eshop_service .link					{ margin: 10px 0 -5px 0;}
#eshop_sub .logo_eshop 							{ background: var(--sandstone3); border-radius: var(--radiusM); padding: clamp(10px, 2vw, 20px); text-align: center; line-height: 0;}
#eshop_sub .logo_eshop img						{ width: auto; height: 100px; border-radius: 0; margin: 0 auto; display: block;}
#eshop_sub .eshop_skill 						{ margin: 0;}
#eshop_sub .eshop_skill lord-icon				{ margin-bottom: 5px;}
#eshop_sub .eshop_skill_full 					{ grid-column: span 2;}

@media (max-width:1200px) {
#eshop_sub .logo_eshop img						{ height: 90px;}
}
@media (max-width:700px) {
#eshop_sub .logo_eshop img						{ height: 70px;}
#eshop_sub .services .item .sigle_presta		{ width: 36px; padding: 10px 6px 10px 10px; border-radius: var(--radiusS);}
#eshop_sub .eshop_skill_full 					{ grid-column: auto;}
}


/***** page seo *****/
.missions_comp  								{ margin: calc(1.5vw + 25px) -4vw 0 -4vw;}
.missions_comp .item							{ margin: 0;}
.missions_comp .item .link						{ margin-top: 10px;}

@media (max-width:1200px) {
.missions_comp 									{ margin-right: 0; margin-left: 0;}
}
@media (max-width:700px) {
.missions_comp .item .link						{ margin-top: 5px;}
}



/***** page geo *****/
.schema_geo 									{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 24px 40px; margin: calc(1.5vw + 25px) auto; text-align: center;}
.schema_geo .item								{ border: 1px solid var(--sandstone3); background: #fff; padding: 15px 20px; border-radius: var(--radiusS); width: 100%; max-width: 320px; margin: 0 auto; position: relative;}
.schema_geo .item:first-child					{ grid-column: span 3;}
.schema_geo .item:last-child					{ grid-column: span 3;}
.schema_geo .item:after							{ width: 16px; height: 10px; position: absolute; left: 0; right: 0; bottom: 4px; background: url("../images/arrow_b.svg") 50% no-repeat; transform: rotate(90deg); transform-origin: left bottom; margin: 0 auto; display: none; content: "";}
.schema_geo .item:first-child:after,
.schema_geo .item:nth-child(3):after 			{ display: block;}
.schema_geo .item:nth-child(2),
.schema_geo .item:nth-child(4) 					{ z-index: 5;}
.schema_geo .item:nth-child(2):before,
.schema_geo .item:nth-child(4):before 			{ width: 22px; height: 22px; border-radius: 50%; position: absolute; left: -33px; top: 50%; transform: translateY(-50%); background: url("../images/plus_w.svg") 50% no-repeat var(--orange); background-size: 12px auto; content: "";}
.schema_geo .item:nth-child(2):before 			{ left: auto; right: -33px;}
.schema_geo .item p 							{ margin-bottom: 5px; line-height: 150%;}
.schema_geo .item b 							{ font-size: 18px; display: block;}
.schema_geo .item i 							{ font-size: 13px; display: block;}
.schema_geo .item :last-child					{ margin-bottom: 0;}

@media (max-width:700px) {
.schema_geo 									{ grid-gap: 25px 0;}
.schema_geo .item								{ padding: 10px 5px; max-width: 260px;}
.schema_geo .item p 							{ font-size: 13px; line-height: 140%;}
.schema_geo .item b 							{ font-size: 15px; padding-top: 2px;}
.schema_geo .item i 							{ font-size: 12px;}
.schema_geo .item:last-child b					{ padding-bottom: 5px;}
.schema_geo .item:nth-child(2):before 			{ right: -12px;}
.schema_geo .item:nth-child(4):before 			{ left: -12px;}
.schema_geo .item:nth-child(2)  				{ border-top-right-radius: 0; border-bottom-right-radius: 0;}
.schema_geo .item:nth-child(3)  				{ border-left: none; border-right: none; border-radius: 0;}
.schema_geo .item:nth-child(4)  				{ border-top-left-radius: 0; border-bottom-left-radius: 0;}
.schema_geo .item:nth-child(2) p, 
.schema_geo .item:nth-child(3) p, 
.schema_geo .item:nth-child(4) p  				{ max-width: 80px; margin-left: auto; margin-right: auto;}
}




/***** page sea *****/
.schema_sea 									{ position: relative; text-align: center; margin-top: calc(1.5vw + 25px); padding: 60px 0;}
.schema_sea .path								{ width: 260px; height: 360px; border: 2px solid var(--softblack); border-radius: var(--radiusM); position: relative; margin: 0 0 0 90px; text-align: left;}
.schema_sea .path .item>p span:before			{ width: 100px; height: 100px; border-radius: 50%; border: 4px solid #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); content: "";}
.schema_sea .path .item>p  						{ width: 180px; height: 120px; line-height: 140%; display: grid; align-items: center; background: #fff; border: 1px solid var(--sandstone3); padding: 15px 20px; border-radius: var(--radiusS); text-align: center; margin: 0; position: absolute; cursor: pointer;}
.schema_sea .path .item .hide					{ display: block; width: 580px; position: absolute; left: 400px; top: 50%; padding: 40px; border-radius: var(--radiusM); transform: translateY(-50%) scale(0.75); opacity: 0; visibility: hidden; transition: all 200ms ease-in-out;}
.schema_sea .path .item .hide lord-icon 		{ width: 36px; height: 36px; display: block; margin-bottom: 15px;}
.schema_sea .path .item .hide p,
.schema_sea .path .item .hide ul				{ margin-bottom: 10px; line-height: 170%;}
.schema_sea .path .item .hide :last-child		{ margin-bottom: 0;}

@media (min-width:701px) {
.schema_sea .path .item.active>p				{ background: var(--orange); border-color: var(--orange); color: #fff;}
.schema_sea .path .item.active .hide 			{ visibility: visible; opacity: 1; transform: translateY(-50%) scale(1);}
.schema_sea .path .item:nth-child(1)>p  		{ right: 100%; top: 0; transform: translate(50%, -50%);}
.schema_sea .path .item:nth-child(2)>p  		{ left: 100%; top: 0; transform: translate(-50%, -50%);}
.schema_sea .path .item:nth-child(3)>p  		{ left: 100%; top: 50%; transform: translate(-50%, -50%);}
.schema_sea .path .item:nth-child(4)>p  		{ right: 50%; top: 100%; transform: translate(50%, -50%);}
.schema_sea .path .item:nth-child(5)>p  		{ right: 100%; top: 50%; transform: translate(50%, -50%);}
}
@media (max-width:1200px) {
.bloc_txt:has(.schema_sea)						{ overflow: visible;}
.schema_sea 									{ padding: 50px 0;}
.schema_sea .path								{ width: 220px; height: 320px; margin-left: 80px;}
.schema_sea .path .item>p  						{ width: 160px; height: 100px; padding: 15px;}
.schema_sea .path .item .hide					{ width: calc(90vw - 420px); max-width: 580px; left: 340px; padding: 30px;}
}
@media (max-width:1000px) {
.schema_sea 									{ padding: 60px 0;}
.schema_sea .path								{ width: 180px; margin-left: 75px;}
.schema_sea .path .item>p  						{ width: 150px; padding: 10px;}
.schema_sea .path .item .hide					{ width: calc(90vw - 355px); left: 280px;}
}
@media (max-width:700px) {
.schema_sea 									{ padding: 0;}
.schema_sea .path								{ width: 100vw; height: auto; border: none; border-radius: 0; margin: 0 0 0 -5vw; overflow-x: auto; padding: 0 5vw; font-size: 13px; display: flex; gap: 10px;}
.schema_sea .path::-webkit-scrollbar			{ display: none;}
.schema_sea .path .item   						{ min-width: clamp(220px, 80vw, 300px); position: relative;}
.schema_sea .path .item>p  						{ width: auto; height: auto; display: block; border: none; padding: 0; border-radius: 0; transform: none; text-align: left; position: absolute; left: clamp(20px, 4vw, 30px); top: calc(clamp(25px, 5vw, 40px) + 52px); font-size: 16px; color: var(--orange); padding: 3px 10px; border-radius: 5px;}
.schema_sea .path .item .hide					{ width: 100%; max-width: none; min-height: 400px; position: static; transform: none; opacity: 1; visibility: visible; padding: clamp(25px, 5vw, 40px) clamp(20px, 4vw, 30px);}
.schema_sea .path .item .hide lord-icon 		{ margin-bottom: 60px;}
}


#sea .partner 									{ display: grid; grid-template-columns: auto 1fr; grid-gap: clamp(20px, 3vw, 40px); align-items: center; margin: 0;}
#sea .partner img.label							{ width: 120px; height: auto; display: block; background: #fff; aspect-ratio: 1/1; padding: clamp(10px, 2vw, 15px); border-radius: var(--radiusS);}

@media (min-width:1201px) {
#sea .table_flex  								{ margin-right: 0; margin-left: 0;}
}
@media (max-width:1000px) {
#sea .partner img.label							{ width: 100px;}
}
@media (max-width:700px) {
#sea .partner img.label							{ width: 80px;}
}
@media (max-width:500px) {
#sea .partner 									{ grid-template-columns: 1fr;}
}



/***** page reseaux sociaux *****/
#rs .services .container	               		{ margin: calc(1.5vw + 15px) -4vw 0 -4vw;}
#rs .table_flex img 			               	{ display: block; margin: 2px auto 8px auto; object-fit: none; object-position: center bottom; height: 22px;}

@media (max-width:1200px) {
#rs .services .container	               		{ margin-inline: 0;}
}
@media (max-width:1000px) {
#rs .table_flex .item>div:first-child 			{ display: none;}
#rs .table_flex .item>div:before				{ content: attr(data-text); display: block; font-size: 14px; font-family: "SuisseIntl-Medium"; padding-bottom: 5px; background: var(--softblue); width: max-content; padding: 4px 8px; margin-bottom: 8px; border-radius: 5px;}
#rs .table_flex .heading>div:before				{ display: none;}
}
@media (max-width:1000px) and (min-width:701px) {
#rs .table_flex .item>div  						{ align-content: start;}
#rs .table_flex .heading>div					{ padding: 15px;}
}
@media (max-width:700px) {
#rs .table_flex .item>div						{ min-width: clamp(220px, 70vw, 280px);}
#rs .table_flex .heading>div					{ text-align: center;}
}





/***** page services *****/
#services .grid_bloc .container .img 			{ position: relative;}
#services .grid_bloc .container img 			{ width: 100%; height: 100%; border-radius: var(--radiusL); position: absolute; left: 0; top: 0;}

@media (max-width:1000px) {
#services .grid_bloc .container .img			{ display: none;}
}



/***** page strategie marketing *****/
#strategie .offre 								{ margin: 0;}

.table 											{ margin: calc(1.5vw + 15px) -4vw 0 -4vw; line-height: 160%; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 10px;}
.table .item									{ display: grid; grid-gap: 34px; transition: all 200ms ease-in;}
.table .item>div								{ padding: 25px 25px 20px 25px; border: 1px solid var(--sandstone3); background: #fff; border-radius: var(--radiusS); text-align: center; display: grid; align-content: center; position: relative;}
.table .item>div:not(.heading)					{ min-height: 140px;}
.table .item>div:not(.heading):after			{ width: 16px; height: 10px; position: absolute; left: 0; right: 0; top: -52px; background: url("../images/arrow_b.svg") 50% no-repeat; transform: rotate(90deg); transform-origin: left bottom; margin: 0 auto; content: "";}
.table .heading>div								{ background: var(--softblack); color: #fff;}
.table .item>div p								{ margin: 0;}
.table .item>div p b							{ display: block; margin: 0 auto; max-width: 200px; color: var(--orange);}
.table .item>div:before							{ content: attr(data-text); width: 80px; font-size: 12px; line-height: 24px; letter-spacing: 0.4px; background: var(--softblue); position: absolute; left: 0; right: 0; top: -13px; margin: 0 auto; border-radius: 25em;}

@media (min-width:1201px) {
.table 											{ font-size: 15px; line-height: 160%;}
.table:hover .item:not(:hover)					{ opacity: 0.5;}
.table .item:hover								{ transform: translateY(-10px);}
}
@media (max-width:1200px) {
.table 											{ margin-right: 0; margin-left: 0;}
.table .item>div:not(.heading)					{ min-height: 170px;}
}
@media (max-width:1000px) {
.table 											{ display: flex; width: 100vw; margin-left: -5vw; overflow-x: auto; gap: 10px; padding: 15px 5vw 0 5vw;}
.table::-webkit-scrollbar						{ display: none;}
.table .item									{ min-width: clamp(180px, 50vw, 220px);}
}
@media (max-width:700px) {
.table 											{ font-size: 13px;}
.table .item>div								{ padding: 22px 15px 15px 15px;}
.table .item>div:not(.heading)					{ min-height: 150px;}
.table .item>div:last-child						{ min-height: 130px;}
.table .item>div:before							{ width: 70px; font-size: 11px; line-height: 20px; top: -11px; border-radius: 8px;}
}


/***** page developpement sur mesure *****/
#developpement .modules .item					{ margin: 0; position: relative; padding: clamp(20px, 3vw, 40px);}
#developpement .modules .item .tag				{ font-size: 13px; line-height: 30px; letter-spacing: 0.4px; padding: 0 15px; background: var(--softblue); position: absolute; right: 15px; top: 15px; border-radius: 25em;}
#developpement .modules .item lord-icon			{ width: 36px; height: 36px; display: block; margin-bottom: 15px;}
#developpement .modules .item .titre_serif		{ font-size: clamp(18px, 1.3vw, 28px); line-height: 140%; margin-bottom: 10px;}

@media (min-width:1201px) {
#developpement .modules .container				{ grid-template-columns: 1fr 1fr 1fr;}
}
@media (max-width:1000px) {
#developpement .modules .item lord-icon			{ width: 60px; height: 60px;}
}
@media (max-width:700px) {
#developpement .modules .item .tag				{ font-size: 12px; line-height: 28px; padding: 0 12px; right: 12px; top: 12px; border-radius: 8px;}
#developpement .modules .item lord-icon			{ width: 50px; height: 50px; margin-bottom: 10px;}
}



/***** page redaction traduction *****/
@media (max-width:1000px) {
#redaction .bloc_txt_img .img img				{ width: calc(45vw - 5px); max-width: none; height: calc(45vw - 5px); margin: 0;}
#redaction .bloc_txt_img.reverse  				{ margin-bottom: calc(5px - 45vw);}
#redaction .bloc_txt_img.reverse .img			{ grid-area: 2;}
#redaction .bloc_txt_img:not(.reverse) .img		{ display: grid; justify-content: end;}
}
@media (max-width:700px) {
#redaction .bloc_txt_img .img img				{ border-radius: var(--radiusS);}
}


/***** page photos videos *****/
#photos .offre										{ margin: 0;}
#photos .offre .show_hide							{ padding: 0;}




/***** page analyse performances *****/
#analyse .grid_bloc .bloc_inner lord-icon 		{ width: 36px; height: 36px; display: block; margin: 0 0 15px 0;}
#analyse .grid_bloc .bloc_inner .titre			{ margin-bottom: 8px;}
#analyse .offre 								{ margin: 0;}

@media (max-width:1200px) {
}
@media (max-width:700px) {
#analyse .grid_bloc .bloc_inner   				{ padding: clamp(20px, 3vw, 40px); margin: 0;}
#analyse .grid_bloc .bloc_inner lord-icon 		{ margin-bottom: 10px;}
}



/***** page marketing automation *****/
#automation .packs  							{ margin-bottom: 0;}
#automation .packs .item .titre_main			{ margin-bottom: clamp(10px, 2vw, 15px);}
#automation .packs .item .link 					{ margin-bottom: 0;}





/***** page agence *****/
#agence .top_page 			 						{ background: var(--gradientLinear); border-radius: 0;}
#agence .top_page .txt		 						{ max-width: 1400px;}

#tab_philosophie  									{ border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -35px;}
#tab_philosophie .grid_sticky 						{ padding-top: 5px;}
#tab_philosophie .bloc_steps 						{ margin-top: clamp(25px, 5vw, 50px);}

#tab_engagements .container							{ padding-top: clamp(5px, 1vw, 15px);}
#tab_engagements .item .titre_serif 				{ font-size: clamp(18px, 1.3vw, 28px);}
#tab_engagements .item p							{ margin: 10px 0 0 0;}

#tab_equipe .intro									{ max-width: 600px; text-align: center; margin: 0 auto;}
#tab_equipe .intro img								{ margin-bottom: 10px;}
#tab_equipe .container								{ margin-top: clamp(40px, 8vw, 80px);}
#tab_equipe .card_team img							{ width: 50%;}

#tab_histoire  										{ overflow: hidden;}
#tab_histoire .slider								{ width: 100vw; padding-top: 10px;}
#tab_histoire .slider .slick-list					{ overflow: visible;}
#tab_histoire .slider .bloc_softblue				{ width: 720px; margin-right: 16px;}
#tab_histoire .slider .bloc_softblue .num			{ font-size: 14px; padding: 2px 16px; background: #fff; border-radius: 25em; display: inline-block; margin-bottom: clamp(15px, 2vw, 20px);}
#tab_histoire .slider .bloc_softblue a				{ color: var(--softblack);}
#tab_histoire .slider .bloc_softblue a:after		{ filter: brightness(0);}
#tab_histoire .slider .titre_serif 					{ font-size: clamp(18px, 1.3vw, 28px);}
#tab_histoire .nav_slider 							{ position: absolute; right: -9px; top: 10px;}

#tab_histoire .gallery img							{ border-radius: var(--radiusL); height: 100%;}
#tab_histoire .gallery .container 					{ grid-template-columns: 35% auto 35%;}
#tab_histoire .gallery .item						{ margin-bottom: 100px; position: relative;}
#tab_histoire .gallery .item:first-child			{ display: grid; grid-template-rows: 1fr auto; grid-gap: 16px; margin-bottom: 0;}
#tab_histoire .gallery .item:first-child img		{ aspect-ratio: 3/2;}
#tab_histoire .gallery .item:last-child				{ align-self: end;}
#tab_histoire .gallery .item:last-child img			{ aspect-ratio: 3/2}
#tab_histoire .gallery .item .bloc_softblue 		{ aspect-ratio: 1/1; width: 55%; justify-self: end;}

@media (max-width:2000px) {
#agence .top_page .txt		 						{ max-width: 75%;}
}
@media (max-width:1600px) {
#tab_histoire .gallery img,							
#tab_histoire .gallery .item .bloc_softblue 		{ border-radius: var(--radiusM);}
}
@media (max-width:1500px) {
#tab_histoire .nav_slider 							{ top: 5px;}
}
@media (max-width:1200px) {
#agence .top_page .txt		 						{ margin-inline: 0; max-width: 750px;}
#tab_philosophie .grid_sticky 						{ padding-top: 5vw;}
#tab_philosophie .item_sticky 						{ position: absolute; right: 0; top: 0; width: 40%;}
#tab_philosophie .item_sticky picture				{ position: static; width: 100%;}
#tab_philosophie .intro 							{ max-width: 40%;}
#tab_equipe .intro									{ max-width: 500px; width: 90%;}

#tab_histoire .nav_slider 							{ top: -5px;}
#tab_histoire .gallery img							{ height: auto;}
#tab_histoire .gallery .square.yellow 				{ right: 200%;}	 
#tab_histoire .gallery .square.green 				{ left: 160%; bottom: 95%;} 
#tab_histoire .gallery .square.blue					{ display: none;}
#tab_histoire .gallery .container 					{ grid-template-columns: 40vw auto;}
#tab_histoire .gallery .item						{ margin-bottom: 0;}
#tab_histoire .gallery .item:first-child  			{ width: 20vw; grid-area: 2/2; display: block;}
#tab_histoire .gallery .item:first-child img		{ display: none;}
#tab_histoire .gallery .item .bloc_softblue			{ width: 100%;}
#tab_histoire .gallery .item:last-child 			{ align-self: start; margin-top: 8vw;}
#tab_histoire .gallery .item:nth-child(2)			{ grid-row: span 2;}
}
@media (max-width:1000px) {
#tab_philosophie:before 							{ width: 100%; height: 280px; position: absolute; left: 0; bottom: 99%; background: var(--gradientLinear); content: "";}
#tab_philosophie .bloc_steps .item .step:before 	{ background: var(--teal);}
#tab_engagements .item .titre_serif 				{ font-size: clamp(20px, 3vw, 24px);}
#tab_histoire .slider .bloc_softblue				{ width: clamp(200px, 80vw, 450px);}
#tab_histoire .slider .titre_serif 					{ font-size: clamp(20px, 3vw, 24px);}
}
@media (max-width:700px) {
#tab_philosophie .item_sticky 						{ position: static; width: 100%; max-width: 400px; margin: 0 auto; grid-area: 2;}
#tab_philosophie .item_sticky picture 				{ margin: 10px auto 0 auto;}
#tab_philosophie .intro 							{ max-width: none;}
#tab_equipe .intro img 								{ width: 46px; height: auto; margin: -4px auto 8px auto;}
#tab_histoire .slider 								{ padding-top: clamp(5px, 1vw, 15px); margin: 0;}
#tab_histoire .slider .slick-list					{ overflow: hidden;}
#tab_histoire .slider .bloc_softblue  				{ width: 90vw; margin-right: 5vw; margin-bottom: 5px;}
#tab_histoire .slider .bloc_softblue .num			{ padding: 2px 12px;}
#tab_histoire .nav_slider 							{ top: -5px; right: -5px;}
}
@media (max-width:500px) {
#tab_histoire .gallery .container 					{ grid-template-columns: 1fr;}
#tab_histoire .gallery .item:first-child  			{ width: 100%; grid-area: auto;}
#tab_histoire .gallery .item:last-child 			{ margin-top: 0;}
#tab_histoire .gallery .item .bloc_softblue			{ display: none;}
#tab_equipe .card_team  							{ aspect-ratio: auto; min-height: clamp(160px, 38vw ,300px);}
}




/***** page references *****/
#references .references_listing .container		{ grid-gap: clamp(20px, 4vw, 60px) 16px;}

/*
#references:before								{ position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: rgba(5,20,50,90%); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: all 200ms ease-out; z-index: 999; content: "";}
#references.view_ref 							{ overflow: hidden;}
#references.view_ref:before						{ opacity: 1; visibility: visible;}

.ref_detail 									{ display: block; width: 90vw; max-width: 1200px; position: fixed; top: 25px; bottom: 25px; right: clamp(-600px, -40vw, -40vw); border-radius: var(--radiusL) 0 0 var(--radiusL); padding: 0; background: #fff; z-index: 999; opacity: 0; visibility: hidden; transition: all 200ms ease-in-out 400ms, right 400ms ease-out 400ms;}
.ref_detail ::-webkit-scrollbar					{ display: none;}

.ref_detail .row								{ position: relative; height: 100%; overflow-y: scroll; padding: clamp(30px, 5vw, 80px); opacity: 0; transition: all 200ms ease-in 0ms;}
.ref_detail .titre								{ margin: -8px 0 8px 0; font-weight: 600;}
.ref_detail .photos 							{ position: relative; margin: 40px 0 50px 0;}
.ref_detail .photos img							{ width: auto; height: clamp(400px, 50vh, 595px); display: block; border-radius: var(--radiusS); margin: 0 20px 0 0; filter: brightness(0.95);}
.ref_detail .slider .slick-list					{ border-radius: var(--radiusS); overflow: hidden;}
.ref_detail .slider .slick-arrow				{ position: absolute; right: -8px; top: -65px; width: 30px; background-size: auto 20px; filter: brightness(0); opacity: 0.85; z-index: 10;}
.ref_detail .slider .slick-prev					{ right: 22px;}
.ref_detail .link								{ height: 46px; line-height: 44px; padding: 0 45px 0 25px;}
.ref_detail .link:after							{ width: 10px; height: 100%; background: url("../images/arrow_sup.svg") 50% 48% / contain no-repeat; filter: brightness(200); position: absolute; top: 0; right: 25px; content: "";}
.ref_detail .ref_close							{ width: 50px; height: 50px; opacity: 0.85; cursor: pointer; position: fixed; right: 15px; top: 40px;}
.ref_detail .ref_close:before 					{ width: 30px; height: 2px; background: #000; position: absolute; top: 50%; left: 50%; transform: translate(-50%) rotate(45deg); content: "";}
.ref_detail .ref_close:after					{ width: 30px; height: 2px; background: #000; position: absolute; top: 50%; left: 50%; transform: translate(-50%) rotate(-45deg); content: "";}

.ref_detail .bg_close  							{ position: fixed; left: 0; top: 0; bottom: 0; right: 0; content: "";}

.ref_detail.active 								{ opacity: 1; visibility: visible; right: 0; transition-delay: 200ms}
.ref_detail.active .row							{ opacity: 1; transition-delay: 600ms;}
*/

@media (max-width:1000px) {
#references .references_listing .container		{ grid-template-columns: 1fr 1fr; grid-gap: 16px;}
}
@media (max-width:1000px) and (min-width:501px) {
#references .card_ref .titre					{ left: 3.5vw; bottom: calc(3.5vw - 5px);}
}
@media (max-width:500px) {
#references .references_listing .container		{ grid-template-columns: 1fr; grid-gap: 12px;}
}




/***** filters bloc *****/
.filters_bloc 										{ margin: -30px 0 0 0; z-index: 800;}
.filters_bloc .icon									{ width: 70px; height: 100%; position: absolute; right: 0; top: 0; border-left: 1px solid var(--sandstone3);}
.filters_bloc .icon lord-icon						{ width: 36px; height: 36px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.filters_bloc .container							{ display: inline-block; text-align: center; box-shadow: 0 10px 30px 0 rgba(2,28,29,5%); padding: 8px 80px 8px 8px; border-radius: var(--radiusS); background: #fff; letter-spacing: 0; position: relative;}
.filters_bloc a:not(:last-child)					{ margin-right: 0;}
.filters_bloc a										{ font-size: clamp(16px, 1.3vw, 18px); line-height: 46px; font-weight: 500; height: 46px; letter-spacing: 0.2px; display: inline-block; padding: 0 24px; border-radius: calc(var(--radiusS) - 4px);}
.filters_bloc a.active 								{ background-color: var(--softblue);}

.filters_bloc form 									{ display: grid; grid-template-columns: 380px 380px; gap: 10px; position: relative;}
.filters_bloc select 								{ width: 100%; height: 46px; font: 400 clamp(14px, 1.2vw, 16px)/170% "SuisseIntl-Regular"; letter-spacing: 0.2px; padding: 0 18px 1px 18px; border-radius: calc(var(--radiusS) - 4px); border: 1px solid var(--sandstone3); background: #fff; -webkit-appearance: none; appearance: none; background: url("../images/arrow_dwn_b.svg") calc(100% - 20px) 50% no-repeat #fff;}

@media (min-width:1201px) {
.filters_bloc a:not(.active):hover                	{ opacity: 0.5;}
}
@media (max-width:1200px) { 
.filters_bloc a										{ padding: 0 20px;}
.filters_bloc form 									{ grid-template-columns: 28vw 28vw;}
}
@media (max-width:1000px) { 
.filters_bloc 										{ margin: -30px auto 0 auto; width: 80vw;}
.filters_bloc .container							{ display: flex; flex-wrap: wrap; gap: 10px;}
.filters_bloc a										{ flex: 1 1 auto; line-height: 40px; height: 40px; background: var(--softblue);}
.filters_bloc a.active 								{ background-color: var(--orange); color: #fff;}

.filters_bloc form 									{ grid-template-columns: 1fr 1fr; width: 100%;}
}
@media (max-width:700px) { 
.filters_bloc 										{ width: 90vw;}
.filters_bloc .icon									{ width: 60px;}
.filters_bloc .icon lord-icon						{ width: 26px; height: 26px;}
.filters_bloc .container							{ padding: 8px 68px 8px 8px; gap: 8px;}
.filters_bloc a										{ font-size: 12px; line-height: 30px; height: 30px; padding: 0 15px; border-radius: 5px;}
.filters_bloc form 									{ grid-template-columns: 1fr; gap: 8px;}
.filters_bloc select 								{ padding: 0 15px; background-position: calc(100% - 15px) 50%; height: 40px; border-radius: 5px;}
}




/***** blog listing *****/
#blog .listing .container							{ grid-gap: clamp(20px, 4vw, 60px) 16px;}

@media (max-width:1400px) { 
#blog .listing .container							{ grid-template-columns: 1fr 1fr 1fr;}
}
@media (max-width:1000px) { 
#blog .listing .container							{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:600px) { 
#blog .listing .container							{ grid-template-columns: 1fr; max-width: 400px; margin: 0 auto;}
}




/***** blog article *****/
#blog article 										{ position: relative; z-index: 50;}
#blog .grid_sticky .container						{ grid-template-columns: 380px 1fr; grid-gap: clamp(20px, 5vw, 100px);}
#blog .grid_sticky .item_sticky						{ top: 100px; transition: top 200ms ease-in-out; text-align: center; margin: 0;}
#blog .grid_sticky .item_sticky>div					{ margin: 0;}
#blog.scrolling_down .grid_sticky .item_sticky		{ top: 20px;}

#blog .timer   										{ position: relative; line-height: 0;}
#blog .timer .progress 								{ transform: rotate(-90deg); display: inline-block;}
#blog .timer .progress .progress_meter,
#blog .timer .progress .progress_value 				{ fill: none;}
#blog .timer .progress .progress_meter 				{ stroke: var(--softblue);}
#blog .timer .progress .progress_value 				{ stroke-linecap: round; stroke: var(--softblue);}
#blog .timer #tempsLecture							{ position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font: 600 45px/50px "SuisseIntl-Semibold"; color: var(--softblack); letter-spacing: 0; z-index: 5;}
#blog .timer #tempsLecture span						{ font-size: 25px; line-height: 25px; display: block; padding: 2px 0 10px 0;}

#blog .share   										{ margin-top: 30px;}
#blog .share p 										{ margin-bottom: 8px;}
#blog .share .container 							{ display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 6px; max-width: 162px; margin: 0 auto;}
#blog .share .container a  							{ width: 36px; height: 36px; border-radius: var(--radiusXS); display: block; font-size: 0; background: var(--softblack) 50% no-repeat;}
#blog .share .container #share_facebook 			{ background-image: url("../images/facebook.svg"); background-size: auto 16px;}
#blog .share .container #share_linkedin 			{ background-image: url("../images/linkedin.svg"); background-size: 16px auto; background-position: 52% 46%;}
#blog .share .container #share_twitter  			{ background-image: url("../images/twitter.svg"); background-size: 16px auto;}
#blog .share .container #share_email    			{ background-image: url("../images/email.svg"); background-size: 16px auto;}

#blog article .tags									{ margin-bottom: clamp(15px, 2.2vw, 20px);}
#blog article .tags .date							{ background: var(--teal); color: #fff; font-size: 12px;}
#blog article img.cover								{ border-radius: var(--radiusM); aspect-ratio: 3 / 2; margin: clamp(40px, 8vw, 50px) auto;}

#blog article h2									{ margin-bottom: clamp(15px, 2.5vw, 25px); margin-top: clamp(40px, 8vw, 60px);}
#blog article h3									{ position: relative; margin-bottom: clamp(10px, 2vw, 15px); padding-top: clamp(10px, 2vw, 15px);}

#blog article h2:not([class])						{ font: 500 clamp(20px, 2.4vw, 34px)/140% "RecklessNeue-Medium";}
#blog article h3:not([class])						{ font: 500 clamp(16px, 1.4vw, 22px)/140% "SuisseIntl-Medium"; color: var(--teal);}
#blog article u 									{ text-decoration: none;}

#blog article img									{ max-width: 100%; width: auto; height: auto; display: block; object-fit: cover; margin: clamp(20px, 4vw, 30px) auto; border-radius: var(--radiusS);}
#blog article .screen								{ background: #fff; border: 1px solid var(--sandstone3); border-radius: var(--radiusS); padding: 10px; margin: clamp(20px, 4vw, 30px) auto;}

#blog article ul:not([class])   					{ margin: clamp(12px, 2vw, 18px) 0;}
#blog article ul:not([class]) li 					{ position: relative; padding-left: 32px; margin-bottom: 10px; line-height: 160%;}
#blog article ul:not([class]) li:before				{ width: 20px; height: 20px; background: url("../images/check_small.svg") 50% 55% var(--orange) no-repeat; position: absolute; left: 0; top: 2px; border-radius: 3px; content: "";}
#blog article ul:not([class]) li:last-child			{ margin-bottom: 0;}

#blog article ol 									{ list-style: none!important; counter-reset: item; margin: clamp(15px, 2vw, 20px) 0;}
#blog article ol li 								{ position: relative; padding-left: 36px; margin-bottom: clamp(8px, 1.2vw, 12px);}
#blog article ol li:before 							{ width: 24px; height: 24px; font-size: 14px; line-height: 24px; letter-spacing: 0; text-align: center; position: absolute; left: 0; top: 2px; background: var(--softblue); border-radius: 5px; content: counter(item); counter-increment: item;}
#blog article ol li:last-child 						{ margin-bottom: 0;}

#blog article table 								{ border-collapse: collapse; border-color: var(--softblack); line-height: 160%; margin: clamp(20px, 4vw, 30px) auto;}
#blog article table td  							{ padding: 8px 12px;}
#blog article table td * 							{ margin: 0; padding: 0;}

#blog article .bloc_inner  							{ margin-block: clamp(40px, 8vw, 60px);}
#blog article .bloc_inner h2, 
#blog article .bloc_inner h3						{ margin-top: 0; margin-bottom: clamp(10px, 2vw, 15px);}


@media (min-width:1201px) { 
#blog .share .container a:hover						{ background-color: var(--orange);}
}
@media (max-width:1400px) { 
#blog .grid_sticky>div>.container					{ grid-template-columns: 360px 1fr;}
}
@media (max-width:1200px) { 
#blog .grid_sticky>div>.container					{ grid-template-columns: 280px 1fr;}
#blog .grid_sticky .item_sticky						{ position: sticky; width: 100%;}
#blog article h2:not(.chapo) 						{ font-size: clamp(20px, 3vw, 24px);}
#blog article h3 									{ font-size: clamp(16px, 2.8vw, 20px);}
}
@media (max-width:1000px) { 
#blog:has(article) .top_page .content				{ padding-bottom: calc(8vw + 40px);}
#blog:has(article) .top_page .dl_deco_blue			{ display: none;}

#blog article										{ margin-top: 0;}
#blog .grid_sticky>div>.container					{ grid-template-columns: 1fr; grid-gap: clamp(40px, 8vw, 60px);}
#blog .grid_sticky .item_sticky  					{ width: 80vw; margin: -30px auto 0 auto; z-index: 50; top: 90px;}
#blog .grid_sticky .item_sticky .bloc_white			{ display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 12px clamp(20px, 4vw, 30px); margin: 0; border-radius: var(--radiusS);}
#blog .grid_sticky .item_sticky .sous_titre			{ margin: 0 0 0 clamp(20px, 4vw, 30px); position: absolute; left: 90px; top: 50%; transform: translateY(-50%);}
#blog.scrolling_down .grid_sticky .item_sticky  	{ top: 10px;}
#blog .timer   										{ width: 70px;}
#blog .timer .progress 								{ width: 70px; height: 70px;}
#blog .timer #tempsLecture							{ font-size: 24px; line-height: 24px;}
#blog .timer #tempsLecture span						{ font-size: 12px; line-height: 12px; padding: 0;}
#blog .share   										{ margin-top: 0;}
#blog .share p 										{ display: none;}
#blog .share .container								{ margin: 0; float: right;}
#blog .bloc_txt .content.bloc_white					{ margin-top: -30px;}
}
@media (max-width:700px) { 
#blog .grid_sticky .item_sticky						{ width: 84vw; top: 80px;}
#blog .grid_sticky .item_sticky .bloc_white			{ padding: 8px 12px;}
#blog .grid_sticky .item_sticky .sous_titre			{ display: none;}
#blog .timer   										{ width: 54px;}
#blog .timer .progress 								{ width: 54px; height: 54px;}
#blog .timer #tempsLecture							{ font-size: 20px; line-height: 20px;}
#blog .timer #tempsLecture span						{ font-size: 10px; line-height: 10px;}
#blog .share .container a  							{ width: 34px; height: 34px;}
#blog article .tags .date 							{ height: 25px; line-height: 25px; padding: 0 12px;}
#blog article .screen								{ padding: 15px;}

#blog article ul:not([class]) li 					{ padding-left: 28px; margin-bottom: 10px;}
#blog article ul:not([class]) li:before				{ width: 18px; height: 18px; background-size: 10px auto; background-position: 50%; top: 1px;}

#blog article ol li 								{ padding-left: 30px;}
#blog article ol li:before 							{ width: 20px; height: 20px; font-size: 11px; line-height: 20px; top: 1px;}
}



/***** page jobs *****/
#jobs .offre_job 									{ display: grid; grid-template-columns: auto 1fr; align-items: center; grid-gap: clamp(20px, 3.5vw, 30px); margin: 0 0 15px 0; border-radius: var(--radiusS);}
#jobs .offre_job lord-icon							{ width: 36px; height: 36px; display: block;}
#jobs .offre_job .titre_serif						{ font-size: clamp(18px, 2.2vw, 30px); margin-bottom: 8px;}
#jobs .offre_job:not(.spon) .titre_serif			{ background: url("../images/arrow_b.svg") 100% 55% no-repeat; padding-right: 40px;}
#jobs .offre_job p a:after 							{ display: none;}

@media (max-width:700px) { 
#jobs .offre_job 									{ grid-template-columns: 1fr; grid-gap: 10px; padding: clamp(20px, 3vw, 40px); margin: 0 0 12px 0;}
}

/***** custom annonce job *****/
#blog .job_desc .titre_serif 								{ font-size: clamp(20px, 2vw, 26px);}
#blog .job_desc .grid_bloc .item 							{ padding: clamp(20px, 4vw, 40px); border-radius: var(--radiusM);}
#blog .job_desc .grid_bloc .item .grid_bloc .item			{ padding: clamp(18px, 3vw, 30px); border-radius: var(--radiusS);}
#blog .job_desc .grid_bloc .item p 							{ margin-bottom: 8px;}
#blog .job_desc .grid_bloc .item .titre_serif				{ padding: 0 0 clamp(5px, 2vw, 10px) 0;}
#blog .job_desc .grid_bloc .item .titre_serif.smaller		{ padding: 0; margin-bottom: 8px; font-size: clamp(18px, 2vw, 24px);}
#blog .job_desc .grid_bloc .item>:first-child				{ margin-top: 0; padding-top: 0;}
#blog .job_desc .grid_bloc .item>:last-child				{ margin-bottom: 0;}
#blog .job_desc .bloc_cta									{ text-align: center;}
#blog .job_desc .bloc_cta :last-child						{ margin-top: clamp(15px, 2.5vw, 25px);}
#blog .job_desc .bloc_cta .link								{ background-image: linear-gradient(to top, var(--orange) 0% 50%, #fff 50% 100%); margin: 0 auto; display: block; width: max-content;}

@media (min-width:1201px) { 
#blog .job_desc .bloc_cta .link:hover						{ color: var(--softblack);}
}
@media (max-width:1000px) { 
#blog:has(.job_desc) .top_page .dl_deco  					{ display: none;}
#blog .job_desc .resume  									{ margin-top: -30px;}
#blog .job_desc .resume.col_3 .container 					{ grid-template-columns: 1fr 1fr 1fr;}
#blog .job_desc .bloc_cta .sous_titre						{ font-size: clamp(18px, 2.8vw, 20px);}
}
@media (max-width:700px) { 
#blog .job_desc .resume.col_3 .container 					{ grid-template-columns: 1fr;}
#blog .job_desc .grid_bloc .bloc_white 						{ border: none; background: none; padding: 0;}
}




/***** landing page *****/
#landing .cta_fixed 								{ display: none;}

#landing .header  									{ position: absolute;}
#landing .header .wrapper_full 						{ grid-gap: clamp(20px, 1.8vw, 40px);}
#landing .header_titre 								{ margin: 0; color: #fff;}
#landing .header .menu.cta li a.link 				{ border-radius: 25em;}

#landing.sticky .header .header_bg 					{ background-position: 0 100%;}
#landing.sticky.scrolling_down .header .header_bg 	{ top: 0;}
#landing.sticky .header .logo 						{ width: 170px;}

@media (min-width: 1201px) {
#landing.sticky .header .header_bg 					{ padding: 30px 0;}
}
@media (max-width:1200px) {
#landing.sticky .header .logo 						{ width: 140px;}
#landing.sticky .header .header_bg 					{ padding: 10px 0;}
}
@media (max-width:700px) {
#landing .header .wrapper_full 	  					{ justify-content: center;}
}


#landing .top_page .ul_check_square,
#landing .top_page .chapo 							{ margin-top: calc(1vw + 10px);}
#landing .top_page .chapo 							{ max-width: 800px;}
#landing .top_page .link 							{ margin-top: calc(0.5vw + 10px); background-image: linear-gradient(to top, var(--orange) 0% 50%, #fff 50% 100%);}
#landing .top_page .video 							{ position: absolute; right: 0; top: 55%; transform: translateY(-50%); width: clamp(400px, 35vw, 800px); z-index: 55;}
#landing .top_page .video video						{ aspect-ratio: 16/9; object-fit: cover; border-radius: 25em 0 0 25em;}

@media (min-width: 1201px) {
#landing .top_page .link:hover						{ color: var(--softblack);}
}
@media (max-width:1600px) {
#landing .top_page .video 							{ top: auto; bottom: 0; transform: none;}
}
@media (max-width:1200px) {
#landing .top_page 		 							{ display: grid;}
#landing .top_page .video 							{ position: static; width: 80vw; margin: -5vw auto 0 auto; order: 2; padding-bottom: calc(5vw + 80px);}
#landing .top_page .video video						{ border-radius: var(--radiusM);}
}
@media (max-width:1000px) {
#landing .top_page .titre_main						{ font-size: clamp(30px, 5vw, 60px);}
}
@media (max-width:700px) {
#landing .top_page  								{ text-align: center;}
#landing .top_page .ul_check_square						{ display: none;}
#landing .top_page .video 							{ width: 76vw; margin: 10px auto 0 auto; order: inherit; padding-bottom: 0;}
}


#landing .nav_shutters 								{ top: 10px;}
#landing .bloc_inner 								{ margin: 0;}
#landing .item lord-icon 							{ margin-bottom: 15px; display: block;}
#landing .item_step .num 							{ font-size: clamp(16px, 1.6vw, 24px); line-height: 90%; letter-spacing: 0; position: absolute; right: clamp(20px, 3vw, 30px); top: clamp(20px, 3vw, 30px);}
#landing .item_step .titre span						{ display: inline-block;}
#landing  #rgpdForm   								{ max-width: none;}
#landing p.small									{ font-size: 14px; line-height: 160%; margin: 20px 0 -5px 0; font-style: italic;}

@media (max-width:1000px) {
#landing .item_step .titre br						{ display: none;}
}
@media (max-width:700px) {
#landing .item lord-icon 							{ margin-bottom: 10px;}
#landing p.small									{ font-size: 12px; margin: 15px 0 0 0;}
}


#landing select,
#landing input,
#landing textarea 									{ border-color: var(--softblack);}




