/***** head page *****/
.head_page 												{ max-width: 1400px;}



/***** banner *****/
.banner 												{ position: relative; display: grid; overflow: hidden; padding-top: clamp(30px, 3.2vw, 80px);}
.banner .sous_titre										{ margin-bottom: clamp(15px, 2.2vw, 25px);}

.banner .slider 										{ width: 100vw; cursor: grab;}
.banner .slider:before 									{ width: 25vw; height: 100%; background: #fff; position: absolute; left: calc(clamp(330px, 26.2vw, 590px) * 3); top: 0; z-index: 50; content: "";}
.banner .slider:after 									{ width: 25vw; height: 70%; background: var(--blue); position: absolute; left: calc(clamp(330px, 26.2vw, 590px) * 3); top: 0; z-index: 50; content: "";}
.banner .slick-slide 									{ aspect-ratio: 6/7.5; width: clamp(315px, 25vw, 560px); margin-right: clamp(15px, 1.2vw, 30px); transition: all 600ms cubic-bezier(0.4,0,0.2,1);}
.banner .slick-slide picture img						{ width: 100%; height: auto; object-fit: cover; display: block;}

.banner .nav_slider 									{ position: absolute; top: -30px; right: 0; z-index: 80;}
.banner .nav_slider lord-icon							{ display: none;}
.banner .slick-dots 									{ margin-bottom: -15px;}

@media (min-width:1201px) {
.banner .slick-slide a 									{ transition: all 200ms cubic-bezier(0.4,0,0.2,1) 800ms; transform: scale(0.95); opacity: 0;}
.banner .slick-slide.is-visible a 						{ transition-delay: 600ms; transition-duration: 600ms; transform: scale(1); opacity: 1;}
}
@media (max-width:1200px) {
.banner .sous_titre										{ line-height: 46px;}
.banner .nav_slider 									{ top: 0;}
}
@media (max-width:767px) {
.banner 												{ padding-top: clamp(15px, 5vw, 30px);}
.banner .sous_titre										{ margin-bottom: 8px; line-height: clamp(46px, 9vw, 60px);}
.banner .nav_slider lord-icon							{ display: block;}
.banner .slider 										{ display: flex; gap: 10px; margin-left: -5vw; overflow-x: auto; padding: 0 5vw;}
.banner .slider::-webkit-scrollbar 						{ display: none;}
.banner .slider .item 									{ min-width: clamp(240px, 65vw, 300px);}
}



/***** intro *****/
.intro .chapo											{ margin-bottom: 0;}



/***** show mousehover *****/
.show_mousehover .container								{ display: grid; grid-template-columns: 30% 1fr; grid-gap: clamp(40px, 6vw, 120px); align-items: start; position: relative;}
.show_mousehover .nav 									{ grid-area: 1; display: grid; grid-gap: 10px;}
.show_mousehover .link_txt_arrow 						{ font-size: clamp(18px, 1.3vw, 24px); line-height: 120%; height: clamp(90px, 6vw, 110px); display: grid; align-items: center; padding: 14px 90px 16px clamp(20px, 2.2vw, 35px); border-radius: var(--linkRadius); border: 1px solid #e5e5e5; background: #fff; position: relative; transition: all 300ms ease;}
.show_mousehover .link_txt_arrow:before					{ top: 50%; transform: translateY(-50%); right: 25px;}
.show_mousehover .active .link_txt_arrow 				{ color: #fff; background: var(--blue); border-color: var(--blue);}
.show_mousehover .active .link_txt_arrow:before			{ background-color: #fff;}

.show_mousehover .content .item  						{ display: none;}
.show_mousehover .content .item.show  					{ display: block;}
.show_mousehover .content .item .hide_mobile			{ max-width: 700px;}
.show_mousehover .content .item :last-child				{ margin-bottom: 0;}

@media (min-width: 1201px){
.show_mousehover .nav .link_txt_arrow:hover:before		{ filter: invert(0);}
}
@media (max-width: 1200px){
.show_mousehover .container								{ grid-template-columns: 300px 1fr;}
.show_mousehover .nav .item 							{ position: relative;}
.show_mousehover .nav .item:after						{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 20; content: "";}
}
@media (max-width: 1000px){
.show_mousehover .container								{ grid-template-columns: 1fr;}
.show_mousehover .nav 									{ display: none;}
.show_mousehover .content   							{ display: grid; grid-gap: clamp(10px, 1.5vw, 15px);}
.show_mousehover .content .item  						{ display: block; border: 1px solid #e5e5e5;}
.show_mousehover .content .item .hide_mobile			{ display: none; padding: clamp(20px, 5vw, 30px); padding-top: clamp(10px, 1.5vw, 15px); max-width: none;}
}



/***** best of *****/
.bestof .titre_icon 									{ margin-top: -10px; padding-bottom: 5px;}
.bestof .titre_icon .link_arrow							{ visibility: hidden;}
.bestof .content .item .hide_mobile:has(.cybersecurity) { max-width: 900px;}
.bestof .content .item .cybersecurity 					{ max-width: 900px; display: grid; grid-template-columns: 1fr auto; grid-gap: clamp(40px, 6vw, 80px); align-items: start;}
.bestof .content .item .certifications 					{ margin-top: calc(clamp(-80px, -6vw, -40px) - 5px);}

@media (max-width: 1200px){
.bestof .content .item .cybersecurity 					{ grid-gap: 4vw;}
}
@media (max-width: 1000px){
.bestof .titre_icon 									{ display: grid; grid-template-columns: auto 1fr auto; grid-gap: clamp(12px, 2vw, 20px); padding: clamp(12px, 2vw, 20px); margin: 0;}
.bestof .titre_icon lord-icon							{ order: 1;}
.bestof .titre_icon .titre_main							{ order: 2;}
.bestof .titre_icon .link_arrow							{ order: 3; visibility: visible; background: url("../images/arrow_down.svg") 50% 52% no-repeat var(--blue); position: static;}
.bestof .titre_icon .link_arrow:after					{ background: none; opacity: 0;}
.bestof .active .titre_icon .link_arrow 				{ background-color: #000;}
.bestof .content .item .hide_mobile:has(.cybersecurity)	{ max-width: none;}
.bestof .content .item .cybersecurity 					{ display: block;}
.bestof .content .item .certifications 					{ margin-top: clamp(15px, 3vw, 25px); grid-template-columns: repeat(4, 1fr);}
}
@media (max-width: 500px){
.bestof .content .item .certifications 					{ grid-template-columns: repeat(2, 1fr);}
}



/***** sectors *****/
.sectors    											{ position: relative;}
.sectors .titre_main.bigger								{ margin-bottom: 10px;}
.sectors .container  									{ position: relative; margin-top: clamp(35px, 3vw, 50px);}
.sectors .slider_nav  									{ position: absolute; left: 0; bottom: clamp(40px, 5vw, 60px); right: 0; margin: 0 auto; z-index: 10; max-width: 1070px; box-shadow: none; background: #fff; border: 1px solid #e5e5e5;}
.sectors .slider_nav .slick-track						{ transform: none!important;}
.sectors .slider_nav .nav_item							{ margin-left: 30px;}
.sectors .slider_nav .nav_item:first-child				{ margin-left: 0;}
.sectors .slider_nav .nav_item.slick-current:after		{ width: 100%;}
.sectors .slider_arrows 								{ position: absolute; right: clamp(20px, 2vw, 35px); top: clamp(20px, 2vw, 35px); z-index: 10;}
.sectors .slider 										{ background: var(--gray); padding: clamp(20px, 4vw, 100px); user-select: text; position: relative;}
.sectors .slider .item									{ position: relative; padding: 0 0 120px 0; display: grid; grid-template-columns: 40% 1fr; align-items: center; min-height: 50vh; grid-gap: clamp(20px, 4vw, 80px);}
.sectors .slider .item img								{ width: 100%; height: auto; display: block; margin: 0 auto; padding: 0 clamp(10px, 2vw, 30px);}
.sectors .slider .txt   								{ padding-bottom: 20px; padding-right: 30px;}
.sectors .slider .txt *:not(.titre_main) 				{ max-width: 660px;}
.sectors .slider .txt p									{ margin: 0 0 5px 0;}
.sectors .slider .txt .chapo							{ padding-bottom: 12px; margin-top: -5px;}
.sectors .slider .txt .link								{ margin-top: 20px;}

@media (min-width: 1201px){
.sectors .slider .item img								{ transition: all 600ms cubic-bezier(0.4,0,0.2,1) 0ms; transform: scale(0.95); opacity: 0;}
.sectors .slider .txt   								{ transition: all 600ms cubic-bezier(0.4,0,0.2,1) 0ms; transform: translateX(30px); opacity: 0;}
.sectors .play .slider .slick-current img				{ transform: scale(1); opacity: 1; transition-delay: 400ms;}
.sectors .play .slider .slick-current .txt   			{ transform: translateX(0); opacity: 1; transition-delay: 400ms;}
}
@media (max-width: 1400px){
.sectors .slider_nav  									{ max-width: 986px;}
.sectors .slider .item img 								{ padding: 0;}
.sectors .slider .txt   								{ padding-bottom: 0;}
}
@media (max-width:1200px) {
.sectors .slider_nav  									{ display: none;}
.sectors .slider  										{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: clamp(10px, 1.5vw, 15px); background: none; padding: 0;}
.sectors .slider .item									{ display: block; min-height: inherit; background: var(--gray); padding: clamp(15px, 1.8vw, 30px);}
.sectors .slider .txt 									{ padding: 0;}
.sectors .slider .txt p									{ display: none;}
.sectors .slider .txt .titre_main						{ font-size: clamp(16px, 3vw, 20px); font-weight: 600; letter-spacing: 0.2px; margin: 0 0 0 5px; line-height: 36px;}
.sectors .slider .txt .link								{ width: 100%; height: 100%; font-size: 0; padding: 0; margin: 0; background: none; position: absolute; left: 0; top: 0; z-index: 10;}
.sectors .slider .txt .link:before 						{ width: 36px; height: 36px; position: absolute; right: clamp(15px, 1.8vw, 30px); bottom: clamp(15px, 1.8vw, 30px); border-radius: 50%; background: url("../images/arrow_white.svg") 48% 50% no-repeat var(--blue); content: "";}
}
@media (max-width:1000px) {
.sectors .slider  										{ grid-template-columns: repeat(2, 1fr);}
}
@media (max-width:700px) {
.sectors .slider .item 									{ padding: 0;}
.sectors .slider .item img								{ padding: clamp(10px, 3vw, 15px);}
.sectors .slider .txt 									{ background: var(--blue); padding: clamp(4px, 1.2vw, 8px) clamp(12px, 4vw, 24px);}
.sectors .slider .txt .link:before 						{ width: 30px; height: 30px; bottom: clamp(4px, 1.2vw, 8px); right: clamp(12px, 4vw, 24px); background-color: transparent; background-position: right;}
.sectors .slider .txt .titre_main						{ font-size: clamp(13px, 3.55vw, 16px); font-weight: 400; margin: 0; color: #fff; line-height: 30px;}
}



/***** partners *****/
.partners .item_sticky 									{ width: 48vw;}
.partners .item_sticky .txt								{ width: 100%; aspect-ratio: 7/4; background: var(--blue); padding: clamp(20px, 4vw, 100px);}
.partners .item_sticky .txt:after						{ position: absolute; left: 0; top: 0; right: 8%; bottom: 0; background: url("../images/shape_ver.svg") right center / contain no-repeat; background-size: auto 70%; opacity: 0; transition: all 600ms cubic-bezier(0.4,0,0.2,1); content: "";}
.partners .item_sticky .txt.play:after					{ opacity: 1; transition-delay: 400ms;}
.partners .item_sticky .wrap							{ width: 60%; max-width: 460px; position: relative; z-index: 10;}
.partners .item_sticky .wrap :last-child				{ margin-bottom: 0;}

.partners .item 										{ aspect-ratio: 8.5/6;}
.partners .card_reveal a:before 						{ background: linear-gradient(to top, rgba(0,0,0,0) 15%, rgba(0,0,0,40%) 85%);}
.partners .card_reveal .txt 							{ bottom: auto; top: 0; padding: 0 0 0 0;}
.partners .card_reveal .txt .wrap						{ transform: none;}
.partners .card_reveal .txt .titre						{ line-height: 36px;}
.partners .card_reveal .txt .hide						{ transform: translateY(20%);}
.partners .card_reveal .link_arrow						{ bottom: auto; top: clamp(25px, 1.8vw, 35px);}

.partners .item_cta										{ padding: clamp(25px, 2.4vw, 40px); padding-bottom: 100px; width: 100%;}
.partners .item_cta lord-icon							{ margin: -5px 0 10px -5px;}
.partners .item_cta .link								{ position: absolute; right: clamp(20px, 3vw, 35px); bottom: clamp(20px, 3vw, 35px);}

@media (min-width:1201px) {
.partners .card_reveal a:hover 							{ transform: none;} 
.partners .card_reveal a:hover .txt .hide				{ transform: translateY(0);}
}
@media (max-width:2000px) {
.partners .item_sticky 									{ width: 56vw;}
}
@media (max-width:1400px) {
.partners .container 									{ grid-template-columns: 1fr 1fr;}
.partners .item_sticky 									{ width: 100%;}
.partners .item_sticky .txt								{ aspect-ratio: auto; padding: clamp(20px, 5vw, 40px);}
.partners .item_sticky .txt:after						{ display: none;}
.partners .item_sticky .wrap							{ width: 80%; max-width: none; padding-block: 20px; margin: auto;}
.partners .item_sticky .titre_main						{ padding-right: 50%;}
}
@media (max-width:1200px) {
.partners .card_reveal .txt .titre						{ line-height: 120%;}
.partners .item_sticky .wrap							{ width: 100%; padding-block: 0;}
}
@media (max-width:1000px) {
.partners .container 									{ grid-template-columns: 1fr; grid-gap: 0;}
.partners .item_sticky 									{ width: auto; position: static;}
.partners .content   									{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1.5vw, 20px); margin-top: clamp(10px, 1.5vw, 20px);}
.partners .content .item 								{ aspect-ratio: auto; margin: 0;}
.partners .content .item picture img					{ aspect-ratio: 4/5;}
.partners .content .item_cta							{ grid-column: span 2;}
}
@media (max-width:700px) {
.partners .card_reveal .link_arrow						{ top: clamp(15px, 4vw, 25px);}
.partners .card_reveal .txt .titre						{ padding: 0 50px 0 0;}

.partners .content   									{ display: grid; grid-template-columns: 1fr;}
.partners .content .item picture img					{ aspect-ratio: auto;}
.partners .content .item_cta							{ grid-column: auto;}
}



/***** about *****/
.about .container 										{ grid-gap: 0 5vw;}
.about .container .txt .wrap 							{ max-width: 550px;}

.about .numbers 										{ grid-column: span 2; display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: clamp(10px, 1.2vw, 20px); margin: -5vw 0 0 15%; position: relative; z-index: 20; width: 54%;}
.about .numbers .item_num								{ padding: clamp(20px, 2.5vw, 40px); background: #fff; border: 1px solid #e5e5e5; font-size: clamp(16px, 1.3vw, 20px); font-weight: 500; line-height: 140%;}
.about .numbers .item_num:last-child					{ grid-column: span 2;}
.about .numbers .item_num p								{ margin-bottom: clamp(15px, 2.2vw, 30px);}
.about .numbers .item_num p .titre_main					{ display: block; font-weight: 600; letter-spacing: 0; margin: -5px 0 5px 0;}

@media (max-width:2000px) {
.about .numbers 										{ margin: -5vw 0 0 5vw; width: 75%; max-width: 950px;}
}
@media (max-width:1600px) {
.about .numbers 										{ margin-left: 0;}
}
@media (max-width:1200px) {
.about .numbers 										{ margin: 0; width: 100%; max-width: none; margin-top: calc(var(--marginT) * 0.6);}
.about .numbers .item_num p .titre_main					{ margin: 0 0 5px 0;}
}
@media (max-width:1000px) {
.about .container .txt .wrap 							{ max-width: none; margin-top: calc(var(--marginT) * 0.65);}
.about .numbers 										{ grid-column: auto;}
.about .numbers .item_num								{ padding: clamp(12px, 4vw, 20px);}
}
@media (max-width:700px) {
.about .numbers 										{ grid-template-columns: repeat(2, 1fr);}
.about .numbers .item_num p .titre_main					{ margin: -4px 0 4px 0;}
.about .numbers .item_num p								{ margin-bottom: 8px;}
}



/***** latest news *****/
.lastest_news .container								{ margin-top: clamp(15px, 2vw, 30px);}



