/***** top page *****/
.top_page 										{ position: relative;}
.top_page .head_page							{ padding-top: clamp(180px, 14vw, calc(80px + 6vw)); padding-bottom: var(--paddingB);}
.top_page .head_page:before						{ width: clamp(280px, 25vw, 480px); position: absolute; right: 0; top: 180px; bottom: 0; background: url("../images/shape_hor.svg") 100% 0 / contain no-repeat; content: "";}
.top_page .head_page.no_shape:before			{ display: none;}
.top_page .wrap									{ width: 65%; max-width: 900px; padding-top: 10px;}
.top_page .wrap .txt							{ max-width: 500px; margin-top: clamp(20px, 4vw, 40px);}
.top_page .wrap .link							{ margin-top: 10px;}

@media (max-width:1200px) {
.top_page .head_page							{ padding-top: calc(120px + 4vw);}
.top_page .wrap									{ padding-top: 5px;}
}
@media (max-width:1000px) {
.top_page .head_page:before						{ display: none;}
.top_page .wrap									{ width: 100%; max-width: none;}
}
@media (max-width:700px) {
.top_page .head_page							{ padding-top: calc(100px + 4vw); padding-bottom: calc(var(--paddingB) * 0.85);}
.top_page .wrap									{ padding-top: 0;}
}



/***** breadcrumb *****/
.breadcrumb										{ line-height: 0; position: absolute; left: 0; top: clamp(110px, 9vw, 120px); z-index: 50;}
.breadcrumb li 									{ display: inline; font-size: 13px; line-height: 20px; font-weight: 500; letter-spacing: 0.6px; margin-right: 30px; position: relative;}
.breadcrumb li:after							{ width: 7px; height: 100%; background: url("../images/arrow_sub.svg") 0 52% / contain no-repeat; position: absolute; top: 0; right: -20px; transform: rotate(-90deg); content: "";}
.breadcrumb li:last-child 						{ margin: 0;}
.breadcrumb li:last-child:after 				{ display: none;}

@media (min-width:1201px) {
.breadcrumb a:hover                 			{ color: var(--blue);}
}
@media (max-width:1200px) { 
.breadcrumb										{ top: 95px;}
}
@media (max-width:700px) { 
.breadcrumb										{ top: 70px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: 90vw;}
.breadcrumb li 									{ font-size: 11px; line-height: 18px; margin-right: 20px;}
.breadcrumb li:after							{ right: -15px; background-size: 6px auto;}
}



/***** link content page *****/
#page ul:not(.breadcrumb)  a, 
#page p a										{ border-bottom: 1px solid var(--blue); color: var(--blue); padding-bottom: 1px;}

@media (min-width:1201px) {
#page ul:not(.breadcrumb)  a:hover,
#page p a:hover									{ color: #000; border-color: #000;}
}



.first_bloc 									{ margin-top: clamp(20px, 2.2vw, 40px);}
.sticky_zone .item_sticky 						{ top: calc(90px + clamp(20px, 1.5vw, 40px));}

@media (max-width:1000px) { 
.first_bloc 									{ margin-top: 0;}
}



/***** horizontal section *****/
.horizontal_section 								{ position: relative; padding: 0; overflow: hidden;}
.horizontal_section .sous_titre						{ line-height: clamp(46px, 4vw, 60px);}
.horizontal_section .slider 						{ margin-top: clamp(15px, 3vw, 25px); width: 100vw; cursor: grab;}
.horizontal_section .slider:active 					{ cursor: grabbing;}
.horizontal_section .item 							{ aspect-ratio: 6/7.5; width: clamp(360px, 25vw, 560px); position: relative; margin-right: clamp(15px, 1.2vw, 30px);}
.horizontal_section .item picture img				{ width: 100%; height: auto; object-fit: cover; display: block;}
.horizontal_section .item_txt						{ background: var(--blue); padding: clamp(20px, 2.2vw, 50px);}
.horizontal_section .nav_slider 					{ position: absolute; top: 0; right: 0;}
.horizontal_section .nav_slider lord-icon 			{ display: none;}

@media (max-width:1000px) {
.horizontal_section .item_txt						{ padding: clamp(25px, 4.2vw, 30px) clamp(20px, 4vw, 25px);}
}
@media (max-width:767px) {
.horizontal_section .sous_titre					 	{ margin-bottom: 8px; line-height: clamp(46px, 9vw, 60px);}
.horizontal_section .nav_slider lord-icon		 	{ display: block;}
.horizontal_section .slider 					 	{ display: flex; gap: 10px; margin-left: -5vw; overflow-x: auto; padding: 0 5vw; margin-top: 0;}
.horizontal_section .slider::-webkit-scrollbar 	 	{ display: none;}
.horizontal_section .slider .item 				 	{ min-width: clamp(260px, 70vw, 320px); margin: 0; aspect-ratio: auto;}
.horizontal_section .slider .item:not(.item_txt) 	{ display: none;}
}



/***** shutter section *****/
.shutter_section .shutter_item 					{ display: none;}
.shutter_section .shutter_item.active 			{ display: block;}

.shutter_nav 									{ margin-bottom: clamp(20px, 4vw, 40px); display: flex; gap: 8px; flex-wrap: wrap;}
.shutter_nav a									{ background: #fff; border: 1px solid #e5e5e5; height: 38px; font-size: clamp(14px, 2.5vw, 16px); line-height: 36px; font-weight: 500; padding: 0 16px; display: inline-block;}
.shutter_nav a.active 							{ background: #000; border-color: #000; color: #fff;}

@media (min-width:1201px) {
.shutter_nav a:hover:before                		{ right: 0;}
}
@media (max-width:1000px) { 
.shutter_nav a									{ font-size: clamp(13px, 2.2vw, 15px);}
}
@media (max-width:700px) { 
.shutter_nav 									{ display: flex; gap: 6px;}
.shutter_nav a									{ font-size: 13px; height: 32px; line-height: 30px; padding: 0 12px;}
}



/***** page sectors *****/
.sectors   											{ padding-bottom: clamp(20px, 2vw, 40px);}
.sectors .container 								{ grid-gap: clamp(40px, 6vw, calc(120px + 2vw));}
.sectors .item_sticky 								{ width: clamp(400px, 27vw, 600px);}
.sectors .item_sticky .slick-dots					{ position: absolute; left: 0; top: 100%;}
.sectors .grid_bloc .container 						{ grid-gap: clamp(15px, 1.2vw, 20px);}
.sectors .grid_bloc .item_txt 						{ background: var(--blue); padding: clamp(20px, 3vw, 50px); aspect-ratio: 6/6.5;}

.card_sector   										{ overflow: hidden; aspect-ratio: 6/6.5;}
.card_sector a  									{ height: 100%; display: grid; align-items: center; background: var(--gray);}
.card_sector a:before 								{ display: none;}
.card_sector picture  								{ padding: clamp(20px, 3vw, 40px) clamp(20px, 2.8vw, 30px);}
.card_sector picture img							{ width: 90%; max-width: 480px; margin: 0 auto;}
.card_sector .txt									{ padding: 0;}
.card_sector .txt .titre							{ color: #000; margin: 0;}

.sector_detail .row									{ grid-template-rows: auto 1fr auto;}
.sector_detail .bottom_cta							{ position: sticky; bottom: 0; align-self: end; border-top: 1px solid #ddd; background: #fff; padding: 20px; margin-inline: -20px;}
.sector_detail .bottom_cta .link					{ text-align: center; width: 100%; padding: 0;}
.sector_detail .bottom_cta .link i					{ font-style: normal;}
.sector_detail .show_hide 							{ width: 100%; margin: 0; margin-top: clamp(15px, 2.2vw, 25px);}

@media (max-width:1400px) { 
.sectors .card_reveal .link_txt_arrow 				{ font-size: 0;}
}
@media (max-width:1200px) { 
#sectors .top_page .wrap 							{ width: 100%;}
.sectors>div>.container 							{ display: block;}
.sectors .item_sticky 								{ display: none;}
.card_sector .txt									{ margin-bottom: clamp(15px, 4vw, 25px);}
.card_sector .txt .titre							{ line-height: 38px; padding-left: 5px;}
}
@media (max-width:1000px) { 
.sector_detail .bottom_cta							{ padding: clamp(15px, 2.2vw, 20px); margin-inline: 0;}
}
@media (max-width:700px) { 
.sectors .grid_bloc .container 						{ grid-gap: 10px;}
.card_sector .txt									{ margin-bottom: clamp(15px, 4vw, 25px);}
.card_sector .txt .titre							{ line-height: 32px;}
}
@media (max-width:400px) { 
.sector_detail .bottom_cta .link i					{ display: none;}
}



/***** page solution *****/
.advantages ul.tags   								{ margin-bottom: clamp(15px, 2.2vw, 20px);}
.advantages ul:not(.tags) li  						{ position: relative; line-height: 160%; margin-top: 5px; padding-left: 15px;}
.advantages ul:not(.tags) li:before 				{ width: 7px; height: 100%; background: url(../images/arrow_sub.svg) 0 50% / contain no-repeat; position: absolute; top: 0; left: 0; transform: rotate(-90deg); content: "";}

.bloc_features .grid_bloc 							{ margin-top: clamp(20px, 3vw, 30px);}
.item_feature 										{ padding: clamp(20px, 3vw, 50px); background: var(--bgColorLight); position: relative;}
.item_feature lord-icon								{ margin-bottom: clamp(15px, 2.2vw, 20px);}
.item_feature .num									{ font-size: clamp(40px, 4vw, 60px); line-height: 80%; letter-spacing: 0; font-weight: 500; margin-bottom: clamp(15px, 2.2vw, 20px); opacity: 0.25;}

.integration .grid_sticky>.container 				{ grid-gap: clamp(40px, 6vw, calc(120px + 2vw));}
.integration .grid_sticky .item_sticky 				{ width: clamp(350px, 30vw, 750px);}
.integration .grid_sticky .item_sticky img 			{ display: block; width: 100%; height: auto; object-fit: cover;}
.integration .grid_sticky .item_sticky .titre_main 	{ position: absolute; left: clamp(20px, 3vw, 50px); top: clamp(20px, 3vw, 50px); color: #fff; z-index: 10;}
.integration .grid_bloc  							{ margin: 0;}
.integration .grid_bloc .container 					{ align-items: stretch;}
.integration .grid_bloc .item_feature p 			{ max-width: 800px;}

@media (max-width:1000px) { 
.integration .grid_sticky .item_sticky 				{ width: 100%;}
}



/* page access */
#access .bloc_features .item_feature:last-child 	{ grid-column: span 2;}

@media (max-width:1400px) { 
#access .bloc_features .grid_bloc .container 		{ grid-template-columns: 1fr 1fr;}
#access .bloc_features .item_feature:last-child 	{ grid-column: auto;}
}
@media (max-width:767px) { 
#access .bloc_features .grid_bloc .container 		{ grid-template-columns: 1fr;}
}



/* page access */
#moti .integration .grid_bloc .item_feature .num 	{ position: absolute; right: 25px; top: 25px;}
#moti .integration .grid_bloc .item_feature img 	{ width: auto; height: 44px; margin-bottom: clamp(10px, 1.5vw, 15px); object-fit: none; object-position: center bottom;}

@media (max-width:1200px) { 
#moti .integration .grid_bloc .item_feature .num 	{ right: 20px; top: 20px;}
}
@media (max-width:700px) { 
#moti .integration .grid_bloc .item_feature .num 	{ right: 15px; top: 15px;}
#moti .integration .grid_bloc .item_feature img 	{ transform: scale(0.8); transform-origin: left top;}
}



/***** pages hardware *****/
#hardware .head_bloc.shutter_item 					{ padding-top: 10px; max-width: 1200px;}



/***** page about *****/
#about .head_page .wrap												{ padding: 0;}
#about_who 															{ margin: -4vw 0 0 0;}
#about_who .txt														{ margin-top: 6vw;}
#about_who .new_chapter .grid_bloc .container>.item:first-child,
#about_who .new_chapter .grid_bloc .container>.item:last-child 		{ grid-area: auto;}
#about .timeline .item 												{ aspect-ratio: 1/1;}
#about .timeline .item .titre span									{ display: block; background: #fff; color: var(--txtcolor); width: max-content; font-size: 14px; line-height: 30px; padding: 0 12px; margin-bottom: 15px; border-radius: 15px;}



@media (max-width:1000px) { 
#about_who 															{ margin: 0;}
#about_who .txt														{ margin-top: 0;}
#about_who .new_chapter  											{ display: grid; grid-gap: calc(var(--marginT) * 0.35); padding-top: 4vw;}
#about_who .new_chapter>div:first-child								{ order: 2;}
#about_who .new_chapter>div:last-child								{ margin-top: 0;}
#about_who .new_chapter .grid_bloc .container						{ grid-template-columns: 1fr 1fr;}
}




/***** page contact *****/
#contact .grid_sticky .container					{ grid-gap: clamp(40px, 6vw, calc(120px + 2vw)); grid-template-columns: 1fr auto;}
#contact .head_page   								{ padding-top: clamp(180px, 14vw, calc(80px + 6vw)); margin-bottom: clamp(40px, 5vw, 100px);}
#contact .head_page .wrap 							{ max-width: 900px; padding-top: 10px;}
#contact .bloc_form .iframe 						{ margin-top: clamp(20px, 3vw, 35px);}
#contact .bloc_form .iframe iframe 					{ border: none; width: calc(100% + 30px); min-height: 600px; background: none; position: relative; mix-blend-mode: multiply; margin: 0 -15px; padding-top: 5px; filter: grayscale(100);}
#contact .item_sticky 								{ width: clamp(400px, 27vw, 600px); position: static; margin-top: 180px;}
#contact .item_sticky picture						{ display: block; overflow: hidden; margin-top: clamp(15px, 1.2vw, 20px);}
#contact .item_sticky img							{ width: 100%; height: auto; display: block; object-fit: cover;}

#contact .contact_info 								{ background: var(--gray); padding: clamp(20px, 2.8vw, 50px);}
#contact .contact_info .chapo						{ margin-bottom: -5px;}
#contact .contact_info a							{ padding-bottom: 0; color: #000; border: none;}
#contact .contact_info_bloc 						{ margin-top: clamp(20px, 2.4vw, 30px);}
#contact .contact_info_bloc:not(:last-child) 		{ border-bottom: 2px solid var(--blue); padding-bottom: clamp(20px, 2.4vw, 30px);}

@media (max-width:1200px) {
#contact .head_page									{ padding-top: calc(120px + 4vw);}
#contact .head_page .wrap 							{ padding-top: 5px;}
#contact .item_sticky 								{ width: 30vw;}
}
@media (max-width:1000px) {
#contact .grid_sticky .container					{ grid-gap: calc(var(--marginT) * 0.35); grid-template-columns: 1fr;}
#contact .item_sticky 								{ width: 100%; margin: 0;}
}
@media (max-width:700px) {
#contact .head_page									{ padding-top: calc(100px + 4vw); margin-bottom: calc(var(--paddingB) * 0.85);}
#contact .head_page .wrap 							{ padding-top: 0;}
#contact .bloc_form .iframe iframe 					{ min-height: 540px;}
}




/***** page mod *****/
#mod .wrapper   									{ max-width: 1000px;}
#mod .head_page   									{ padding-top: clamp(180px, 14vw, calc(80px + 6vw)); margin-bottom: 0;}
#mod .bloc_txt h2, 		 
#mod .bloc_txt h3,			 
#mod .bloc_txt h4									{ font: 600 clamp(16px, 1.8vw, 25px)/140% "DM Sans"; position: relative; margin-bottom: clamp(10px, 2vw, 15px); margin-top: calc(var(--marginT) * 0.2); letter-spacing: 0;}
#mod .bloc_txt h2 									{ font-size: clamp(22px, 2.5vw, 40px); font-weight: 700; line-height: 120%; margin-top: calc(var(--marginT) * 0.35); letter-spacing: 0.4px; color: var(--blue);}	

#mod .bloc_txt ul									{ margin: clamp(15px, 2vw, 20px) 0;}
#mod .bloc_txt ul li  								{ position: relative; padding-left: 34px; margin-bottom: 10px; line-height: 160%;}
#mod .bloc_txt ul li:before 						{ width: 22px; height: 22px; background: url("../images/check_small.svg") 50% 55% var(--blue) no-repeat; position: absolute; left: 0; top: 2px; content: "";}


#mod .bloc_txt ol									{ margin: clamp(15px, 2vw, 20px) 0;}
#mod .bloc_txt ol li  								{ position: relative; padding-left: 34px; margin-bottom: 10px; line-height: 160%;}



#mod .bloc_txt ul li a, 
#mod .bloc_txt p a									{ border-bottom: 1px solid var(--blue); color: var(--blue); padding-bottom: 2px;}

#mod .bloc_txt img									{ max-width: 100%; display: block; height: auto; margin: calc(var(--marginT) * 0.35) auto;}

@media (min-width:1201px) {
#mod .bloc_txt ul li a, 
#mod .bloc_txt p a:hover							{ color: #000; border-color: #000;}
}
@media (max-width:1200px) {
#mod .head_page										{ padding-top: calc(120px + 4vw);}
}
@media (max-width:1000px) {
#mod .bloc_txt h2, 		 
#mod .bloc_txt h3,			 
#mod .bloc_txt h4									{ font-size: clamp(18px, 2.6vw, 25px);}
#mod .bloc_txt h2									{ font-size: clamp(18px, 3vw, 28px);}
}
@media (max-width:700px) {
#mod .head_page										{ padding-top: calc(100px + 4vw); margin-bottom: calc(var(--paddingB) * 0.85);}
#mod .bloc_txt ul li  								{ padding-left: 32px; line-height: 150%;}
#mod .bloc_txt ul li:before 						{ width: 20px; height: 20px; background-position: 50% 52%; top: 0;}


#mod .bloc_txt ol li  								{ padding-left: 32px; line-height: 150%;}
}



/***** page legal ****
#legal_docs .ul_list li 							{ font-weight: 600; border-bottom: 1px solid #ccc; padding-bottom: 20px; margin-top: 20px; display: grid; grid-template-columns: 1fr auto auto auto; grid-gap: 10px;}
#legal_docs .ul_list li a 							{ display: block; width: 40px; height: 34px; line-height: 30px; text-align: center; border: 1px solid var(--orange); padding: 0;}

@media (max-width:700px) {
#legal_docs .ul_list li 							{ grid-template-columns: auto auto auto 1fr; padding-bottom: 20px; margin-top: 20px;}
#legal_docs .ul_list li span						{ grid-column: span 4;}
#legal_docs .ul_list li a 							{ height: 30px; line-height: 26px;}
}*/









/* CSS odoo */
/*
form .s_website_form_send {
    background: #8f30f0!important;
    color: #fff!important;
    text-transform: none;
    font-size: 16px!important;
    font-weight: 600;
    letter-spacing: 0.4px;
    position: static!important;
    float: right;
}
form .s_website_form_send:after { 
    display: none;
}
form .s_website_form_send:hover {
    background: #8f30f0!important;
    color: #fff!important;
    text-decoration: none!important;
}

.form-control {
    padding: 12px 20px;
    font-size: 16px;
    border: 1px solid #000;
    border-radius: 0;
}

form .s_website_form_field>.row {
    --gutter-x: 0;
}
.form-check-input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 1px solid #000;
    vertical-align: middle;
    margin-top: 4px;
    margin-right: 10px;
}
form label {
    font-size: 14px;
    font-weight: 400;
    vertical-align: middle;
    margin-top: 6px;
}

@media (max-width:700px) {
form .s_website_form_send {
    font-size: 14px!important;
}
.s_website_form_field {
	margin-bottom: 10px;
}
.form-control {
    padding: 10px 15px;
    font-size: 14px;
}

form label {
    font-size: 12px;
}

}
*/








