/*
Manutan corpo 2026
Widgets: buttons, etc
*/

/* switch */
.form-switch .form-check-input {
	--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 1%29'/%3e%3c/svg%3e");
	background-color: transparent;
}
header.white-header .form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%284, 14, 70, 1%29'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
	--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000830'/%3e%3c/svg%3e");
	background-color: #FFFFFF;
}
header.open .form-switch .form-check-input {
	--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23040E46'/%3e%3c/svg%3e");
	background-color: transparent;
	border-color: #040E46;
}

a.button, button.button { display: inline-block !important; border: none; }
.button {
	display: inline-block;
	padding: .75rem 1.5rem .75rem 3rem;
	font-family: var(--font-inter);
	font-size: var(--font-size-text-md);
	font-weight: var(--font-weight-regular);
	color: var(--color-blue-dark);
	position: relative;
	border-radius: 4rem;
	overflow: hidden;
	cursor: pointer;
	transition: all .3s;
	text-decoration: none;
	background-color: var(--color-primary-blue-light);
}
.button-title { display: inline-block; position: relative; text-decoration: none; padding-left: 3rem; }
.button.icon-right { padding: .75rem 3.5rem .75rem 1.5rem; }
.button.white { background-color: var(--color-white); }
.block.lilacGradientTopBg .button.white { background-color: var(--color-primary-blue-light); } /* pour les CTA sur fond dégradé */
.button:after, .button-title:after {
	content: "";
	background-color: var(--color-primary-blue); border-radius: var(--radius-circle);
	width: 1.75rem; height: 1.75rem; padding: .5rem;
	display: block;
	position: absolute;
	left: .6rem; right: initial;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s;
	z-index: 0;
}
.button-title:after { top: 0; transform: initial; }
/*.button.white:after { background-color: var(--color-primary-blue-light); }*/
.button.white:hover:after { background-color: var(--color-primary-blue); }
.button.icon-right:after { left: initial; right: .75rem; }
.button:before, .button-title:before { position: absolute; left: .75rem; right: initial; transform: scale(.75) /*translateY(-66%)*/; line-height: 0; z-index: 1; filter: invert(); }
.button.icon-left:before { top: 50%; transform: scale(.75) translateY(-66%); }
.button-title:before { top: .1rem; }
/*.button.white:before { filter: none; }*/
.button.white:hover:before { filter: invert(); }
.button.icon-right:before { left: initial; right: .9rem; }
.button.icon-x:before { content: url("../icons/feather/x.svg"); top: .75rem; }
.button.icon-x:hover:before { animation: .3s linear 0s 1 forwards rotate180; }
.button.icon-caret:before, .button-title.icon-caret:before { content: url("../icons/feather/chevron-right.svg"); }
.button.icon-caret:hover:before, .button-title.icon-caret:hover:before { animation: .3s linear 0s 1 forwards rollCaret; }
.button.icon-caret.icon-left:hover:before { animation-name: rollCaretLeft; }
.button.icon-download:before, .button-title.icon-download:before { content: url("../icons/feather/download.svg"); }
.button.icon-magnifier:before, .button-title.icon-magnifier:before { content: url("../icons/feather/search.svg"); }
.button-title { text-decoration: none; }

@keyframes rotate180 {
	0% { transform: rotate(0deg) scale(.75); }
	50% { transform: rotate(90deg) scale(1); }
	100% { transform: rotate(180deg) scale(.75); }
}

.blocTest {
	margin: 0 auto;
	padding: 2em;
	width: 300px;
	background: #000000;
	text-align: center;
	border-radius: 2rem;
	position: relative;
}
.blocTest:after {
	content: " ";
	position: absolute;
	width: 100%; height: 100%;
	top: 50%; left: 50%;
	z-index: -1;
	padding: 3px;
	/*background-image: conic-gradient(#FF784C, #A650F6, #3D67FF, #ED719D, #EE8263, #FF784C);*/
	background: red;
}

/* animated borders */
.border-wrapper { position: relative; z-index: 2; padding: 3px; } /*  overflow: hidden; */
.border-rotating-gradient, .border-sliding-gradient { position: relative; overflow: hidden; }
@property --angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.border-rotating-gradient:hover:after {
	content: "";
	position: absolute;
	padding: 3px;
	width: calc(100% + 6px); height: calc(100% + 6px);
	top: 50%; left: 50%;
	translate: -50% -50%;
	z-index: -1;
	background-image: conic-gradient(from var(--angle), transparent 50%, #FF784C, #A650F6, #3D67FF, #ED719D, #EE8263, #FF784C);
	animation: 3s spinBorder linear infinite;
}
/* reporter les radius pour chaque type de bloc */
.border-wrapper { border-radius: calc(var(--radius-md) + 10px); overflow: hidden; }
.large-pill.border-rotating-gradient:after { border-radius: var(--radius-circle); }
.card-news.border-rotating-gradient:after { border-radius: calc(var(--radius-md) + 10px); }
@keyframes spinBorder {
	from { --angle: 0deg; }
	to { --angle: 360deg; }
}

.border-sliding-gradient:after {
	content: "";
	position: absolute;
	width: 100%; height: 100%;
	/*top: 0; left: 0;*/
	top: 100%; left: -100%;
	/*translate: -100% 100%;*/
	background-image: linear-gradient(45deg, #FF784C, #A650F6, #3D67FF, #ED719D, #EE8263);
	z-index: 0;
	/*rotate: -45deg;*/
}
.border-sliding-gradient:hover:after { animation: .5s slideBorder linear forwards; }
/*.card-news.border-sliding-gradient:after { border-radius: calc(var(--radius-md) + 10px); }*/
.large-pill.border-sliding-gradient:after { border-radius: calc(var(--radius-circle) + 10px); }
/*.large-pill2.border-sliding-gradient:after { border-radius: var(--radius-circle); }*/
.vacancy-teaser.border-sliding-gradient:after { border-radius: calc(var(--radius-xl) - 10px); }
.testimonial-teaser.border-sliding-gradient:after { border-radius: calc(var(--radius-xl) + 2px); }
@keyframes slideBorder {
	from { top: 100%; left: -100%; }
	to { top: 0; left: 0; }
}

/* carousel slicker */
.slick-list { margin: 0 calc(-1 * var(--spacing-8)) !important; }
.slick-slide > div { padding: 0 var(--spacing-8); height: 100%; }
.slick-track { display: flex !important; }
.slick-slide { height: inherit !important; }

/* cards */
.card-news {
	/*background-color: var(--color-white);*/
	position: relative;
	cursor: pointer;
	border-radius: calc(var(--radius-l) + 3px);
	overflow: hidden;
	height: 100%;
}
.card-news .inner {
	background-color: var(--color-white);
	width: calc(100% - 6px); height: calc(100% - 6px);
	margin: 3px;
	padding: var(--spacing-16);
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--spacing-16);
	border-radius: var(--radius-l);
	position: relative;
	z-index: 10;
}
.card-news.with-teaser .inner { /*height: 505px;*/ grid-template-rows: auto auto 1fr auto; }
.card-news .pict { width: 100%; aspect-ratio: 1.3 / 1; border-radius: var(--radius-md); background-size: cover; background-position: center center; background-repeat: no-repeat; transition: all .3s; }
.card-news._2cols .pict { aspect-ratio: 2 / 1; }
.card-news .tag { background-color: var(--color-white); border-radius: var(--radius-sm); padding: .25rem .5rem; margin: var(--spacing-8); font-size: var(--font-size-text-xs); font-weight: var(--font-weight-medium); text-transform: uppercase; display: inline-block; }
.card-news .tag:before { content: "•"; color: var(--color-primary-blue); margin-right: .3rem; }
.card-news.with-teaser:hover .pict { aspect-ratio: 1.7 / 1; }
.card-news .date { font-size: var(--font-size-text-sm); }
.card-news h3 { font-size: var(--font-size-display-xs); font-family: var(--font-inter-tight); font-weight: var(--font-weight-black); margin-bottom: 0; color: var(--color-primary-blue-dark); }
.card-news .teaserWrapper { position: relative; }
.card-news .teaser { position: absolute; margin-top: var(--spacing-8); opacity: 0; }
.card-news:hover .teaser { animation: .3s showTeaser linear forwards; }
.card-news.person { height: 100%; margin-bottom: var(--spacing-16); cursor: initial; }
.card-news.person .inner { grid-template-rows: auto auto auto 1fr; }
.card-news.person .button { width: fit-content; }
.card-news.person p { margin-bottom: 0; }
.card-news .ruler { margin: var(--spacing-8) 0; }
@keyframes showTeaser {
	from { opacity: 0; }
	to { opacity: 1; }
}
.card-testimonial { padding: var(--spacing-24); display: grid !important; grid-template-rows: auto 1fr; gap: var(--spacing-24); border-radius: var(--radius-l); height: 100% }
.card-testimonial .teaser { font-style: italic; }
.card-testimonial .name { font-weight: var(--font-weight-bold); }
.card-testimonial .shape-rect { height: initial; }
.icon-quote { width: 2rem; height: 2rem; background: url(/medias/icons/quote.svg) no-repeat center; background-size: contain; }
.icon-quote.blue { background: url(/medias/icons/quote_blue.svg) no-repeat center; background-size: contain; }
.card-testimonial blockquote { margin-bottom: 0; display: grid; grid-template-rows: 1fr auto auto ; }
.card-testimonial.whiteBg blockquote { color: var(--color-primary-blue-dark); }
.card-testimonial.pinkBg .name { color: var(--color-secondary-pink); }
.card-testimonial.yellowBg .name { color: var(--color-secondary-yellow); }
.card-testimonial.greenBg .name { color: var(--color-secondary-green); }
.card-testimonial.blueBg .name { color: var(--color-secondary-cyan); }
.card-brand { position: relative; cursor: pointer; border-radius: calc(var(--radius-l) + 3px); overflow: hidden; height: 100%; }
.card-brand .inner {
	background-color: var(--color-white);
	width: calc(100% - 6px); height: calc(100% - 6px);
	margin: 3px;
	padding: var(--spacing-16);
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--spacing-16);
	border-radius: var(--radius-l);
	position: relative;
	z-index: 10;
}
.card-brand h3 { font-size: var(--font-size-display-xs); font-family: var(--font-inter-tight); font-weight: var(--font-weight-black); margin-bottom: 0; color: var(--color-primary-blue-dark); margin-bottom: var(--spacing-8); }
.card-brand .teaser { color: var(--color-primary-blue-dark); font-size: var(--font-size-text-sm); }
.card-brand .logo-wrapper { display: flex; align-items: center; justify-content: center; padding: var(--spacing-24); }
.card-brand .logo-wrapper .logo { width: 80%; max-height: 250px; filter: invert(); }
.card-brand .logo-wrapper { height: initial; }
.card-brand .button { width: fit-content; }

.card-round-picture { display: flex !important; align-items: center; justify-content: center; }
.card-round-picture .content-hover { opacity: 0; width: 50%; height: 50%; aspect-ratio: 1 / 1; padding: var(--spacing-16); text-align: center; display: flex; align-items: center; justify-content: center; transition: .3s all; color: var(--color-primary-blue-dark); }
.card-round-picture:hover .content-hover { opacity: 1; }
.card-round-picture .content-hover p:last-child { margin: 0; }

.icon-round-blue { border-radius: var(--radius-big); background-color: var(--color-primary-blue); display: flex; justify-content: center; align-items: center; aspect-ratio: 1 / 1; width: 3.5rem; height: 3.5rem; }
.icon-round-blue img { width: 1rem; filter: invert(); }

/* block 50/50 with picture */
.scenery-left { display: flex; gap: var(--spacing-96); justify-content: space-between; }
/*.scenery-left > div { flex: 1 1 0px; }*/
.scenery-left .scenery { width: 50%; /*max-height: 500px;*/ min-height: 400px; position: relative; order: 0; }
.scenery-left .scenery .shape-wrapper { display: flex; gap: var(--spacing-32); height: 100%; min-height: 400px; position: absolute; right: 0; }
.scenery-left .content { width: 50%; order: 1; display: flex; flex-direction: column; justify-content: center; }
/*.scenery-left .content > * { max-width: 660px; } */
.scenery-right { display: flex; gap: var(--spacing-96); justify-content: space-between; }
.scenery-right .scenery { width: 50%; /*max-height: 500px;*/ min-height: 400px; position: relative; order: 1 }
.scenery-right .scenery .shape-wrapper { display: flex; gap: var(--spacing-32); height: 100%; min-height: 400px; position: absolute; left: 0; }
.scenery-right .content { width: 50%; order: 0; display: flex; flex-direction: column; justify-content: center; }


.carousel-round { position: relative; aspect-ratio: 1 / 1; border-radius: var(--radius-circle); display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; }
.carousel-round .carousel { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.carousel-round .carousel-item { text-align: center; width: 100%; }
.carousel-round .carousel-item .number { background-color: var(--color-white); display: inline-flex; justify-content: center; align-items: center; border-radius: var(--radius-xl); padding: var(--spacing-8); width: 3rem; height: 3rem; margin-bottom: var(--spacing-24); }
.carousel-round .carousel-item p { margin: 0 var(--spacing-80); }
.carousel-round .carousel-control-prev, .carousel-round .carousel-control-next { opacity: 1; }
.carousel-round .carousel-control-prev-icon, .carousel-round .carousel-control-next-icon { width: 3rem; height: 3rem; padding: .5rem; background: var(--color-white); border-radius: 1.5rem; position: relative; transition: .3s all; }
.carousel-round .carousel-control-prev-icon:before { content: url("../icons/feather/chevron-left.svg"); position: absolute; top: 50%; left: 50%; transform: translate(-55%, -42%); }
.carousel-round .carousel-control-next-icon:before { content: url("../icons/feather/chevron-right.svg"); position: absolute; top: 50%; left: 50%; transform: translate(-55%, -42%); }
.carousel-round .carousel-control-prev-icon:hover, .carousel-round .carousel-control-next-icon:hover { background-color: var(--color-primary-blue) !important; }
.carousel-round .carousel-control-prev-icon:hover:before, .carousel-round .carousel-control-next-icon:hover:before { filter: invert(); }
.carousel-round .carousel-indicators { /*top: calc(100% + 1rem);*/ bottom: 3rem; position: absolute; height: .5rem; margin-top: 1rem; margin-bottom: 1rem; }
.carousel-round .carousel-indicators [data-bs-target] { width: .5rem; height: .5rem; border-radius: var(--radius-sm); opacity: 1; box-sizing: initial; background-clip: initial; border: none; transition: .5s all ease-in-out; }
.carousel-round .carousel-indicators [data-bs-target].active { width: 2.5rem; background-color: var(--color-primary-blue); }
.carousel-round.whiteBg .carousel-indicators button { background-color: var(--color-primary-blue-light); }
.carousel-round > .button { position: absolute; bottom: 5rem; }

/* block with vertical thumbs menu */
.scenery-with-vertical-menu { display: flex; gap: var(--spacing-96); }
.scenery-with-vertical-menu .scenery { position: relative; min-height: 500px; width: 25%; }
.scenery-with-vertical-menu .scenery .shape-wrapper { position: absolute; right: 0; height: 100%; }
.scenery-with-vertical-menu .scenery .shape-wrapper > div { transition: .5s all ease-in-out; }
.scenery-with-vertical-menu .content { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; }
.scenery-with-vertical-menu .menu-wrapper { display: flex; flex-direction: column; justify-content: center; flex-basis: 0; }
.scenery-with-vertical-menu .menu-wrapper .menu { position: relative; display: flex; flex-direction: column; gap: var(--spacing-16); border-left: 1px solid var(--color-primary-blue-light-dark); padding-left: var(--spacing-16); }
.scenery-with-vertical-menu .menu-wrapper .menu .item { background-size: cover; background-position: center center; background-repeat: no-repeat; border-radius: var(--radius-md); width: 5rem; height: 5rem; aspect-ratio: 1 / 1; }
.scenery-with-vertical-menu .menu-wrapper .menu .item.on { position: relative; }
.scenery-with-vertical-menu .menu-wrapper .menu .item.on:before { content: ""; height: 100%; width: 3px; border-radius: 3px; background-color: var(--color-primary-blue); position: absolute; top: 0; left: calc(-1 * var(--spacing-16) - 2px) }
.scenery-with-vertical-menu .menu-wrapper .menu .menu-slider {
	display: block;
	height: 3px;
	width: 3px;
	margin: 0;
	background: var(--color-primary-blue);
	border: none;
	z-index: 10;
	transition: .3s cubic-bezier(.52,0,.37,1.38);
	position: absolute;
	top: 0; left: -2px;
	border-radius: 3px;
}
.scenery-with-vertical-menu .scenery .shape-wrapper > div:not(.active) { position: absolute; top: 0; z-index: -1; opacity: 0; transform: scale(.8); }
.scenery-with-vertical-menu .scenery .shape-wrapper > div.hide-zoomin { transform: scale(.8); opacity: 0; }
.scenery-with-vertical-menu .scenery .shape-wrapper > div.show-zoomout { z-index: 0 !important; transform: scale(1) !important; opacity: 1 !important; }
.scenery-with-vertical-menu .content > div { position: absolute; transition: .5s all ease-in-out; }
.scenery-with-vertical-menu .content > div:not(.active) { opacity: 0; transform: translateY(15rem); }
.scenery-with-vertical-menu .content > div.hide-slideup { transform: translateY(-15rem); opacity: 0; }
.scenery-with-vertical-menu .content > div > * { transition: .5s all ease-in-out; }
.scenery-with-vertical-menu .content > div.hide-slideup > * { margin-bottom: 8rem; }
.scenery-with-vertical-menu .content > div.show-slideup { z-index: 0 !important; transform: translateY(0) !important; opacity: 1 !important; }

/* sliding logos */
.slider-vert-container {
	--slide-count: 8;
	--slide-height: 110px;
	--slide-width: 220px;
	--gap: 1rem;
	--time: 5s;

	width: calc(var(--slide-width) + var(--spacing-32));
	height: 100%;
	margin: 0 var(--spacing-16);
	background: transparent;
	position: relative;
	overflow: hidden;
}
.slider-vert-track {
	width: 100%;
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: var(--spacing-16);
	animation: moveUp calc(var(--time) * var(--slide-count)) linear infinite;
}
#sliderBrandsRight .slider-vert-track { animation: moveDown calc(var(--time) * var(--slide-count)) linear infinite; }
.slider-item {
	width: var(--slide-width);
	height: var(--slide-height);
	background: #FFFFFF;
	background: linear-gradient(315deg,rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .8) 80%);
	border-radius: var(--radius-circle);
	padding: var(--spacing-16);
	margin: var(--gap) 0;
	transition: all .3s;
	cursor: pointer;
}
.slider-item a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }	
.slider-item:hover { background: var(--color-primary-blue); color: var(--color-white); transform: scale(1.1); }
.slider-item .logo { filter: invert(); max-height: 90%; max-width: 80%; width: 80%; }
.slider-item:hover .logo { filter: none; }

@keyframes moveUp {
	from { transform: translateY(0); }
	to { transform: translateY(calc(-1 * var(--slide-count) * (var(--slide-height) + var(--gap) * 2))); }
}
@keyframes moveDown {
	from { transform: translateY(calc(-1 * var(--slide-count) * (var(--slide-height) + var(--gap) * 2))); }
	to { transform: translateY(0); }
}


/* animation picts from bottom, center become  full-screen */
#animation-picts-bottom { height: 100vh; position: sticky; top: 0; padding: 0; overflow: hidden; }
#animation-picts-bottom h2 { font-size: var(--font-size-display-2xl); line-height: 10rem; }
#animation-picts-bottom .main-slogan { position: relative;  z-index: 10; text-align: center; opacity: 0; transform: translateY(6rem); }
#animation-picts-bottom #animation-main-box { width: 130px; height: 100px; position: absolute; bottom: var(--spacing-64); }
#animation-picts-bottom #animation-second-box1 { max-width: 300px; max-height: 150px; position: absolute; bottom: -200px; left: 5%; }
#animation-picts-bottom #animation-second-box2 { max-width: 200px; max-height: 200px; position: absolute; bottom: -500px; right: 10%; }
#animation-picts-bottom #animation-second-box3 { max-width: 200px; max-height: 200px; position: absolute; bottom: -200px; right: 25%; }
#animation-picts-bottom #animation-second-box4 { max-width: 140px; max-height: 140px; position: absolute; bottom: -200px; left: 25%; }


/* button switch sliding */
.sliding-button { margin:0; padding: 0; text-indent: 0; list-style-type: none; display: inline-flex; flex-direction: row; flex-basis: 1; background-color: var(--color-white); padding: 5px; border-radius: var(--radius-big); position: relative; }
.sliding-button li { padding: 1rem 3rem; position: relative; z-index: 10; text-align: center; }
.sliding-button li a { text-decoration: none; color: var(--color-primary-blue-dark); transition: .3s all; }
.sliding-button li.active a { color: var(--color-white); }
.sliding-button .slider { content: ""; height: calc(100% - 10px); width: 10%; border-radius: var(--radius-big); background-color: var(--color-primary-blue); position: absolute; top: 5px; left: 5px; z-index: 0; transition: .3s all; }


/* block square bg gradient */
.block-square-gradient {
	background-image: url("../img/gradient.jpg"); background-size: 500%; background-position: 0% 30%; background-repeat: no-repeat;
	width: 100%; border-radius: var(--radius-big); aspect-ratio: 1 / 1;
	padding: var(--spacing-48); text-align: center;
	display: flex; flex-direction: column;
}
.block-square-gradient p { font-size: var(--font-size-text-xl); }
.block-square-gradient .ruler { margin: 0; height: 1px; }
.block-square { width: 100%; border-radius: var(--radius-big); aspect-ratio: 1 / 1; padding: var(--spacing-48); display: flex; flex-direction: column; justify-content: center; text-align: left; color: var(--color-primary-blue-dark); }
.block-square.with-menu { text-align: center; background-size: 400%; }
.block-square.with-menu.brandColor { color: var(--color-white); }
.block-square-gradient .title, .block-square .title { background: var(--color-white); border-radius: var(--radius-md); text-transform: uppercase; display: inline-block; padding: .25rem 1rem; }
/*.block-square-gradient p, .block-square .ruler, .block-square p, .block-square .ruler { margin: 0; }*/
.block-square-gradient .menu, .block-square .menu, .menu-tabs-vertical .menu { margin:0; padding: 0; text-indent: 0; list-style-type: none; margin: auto 0; }
/*.block-square-gradient .menu li, .block-square .menu li { margin-bottom: var(--spacing-48); font-family: var(--font-inter-tight); font-size: var(--font-size-display-lg); font-weight: var(--font-weight-medium); opacity: .35; cursor: pointer; line-height: var(--spacing-48); }*/
.block-square-gradient .menu li, .block-square .menu li { margin-bottom: var(--spacing-32); font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); font-weight: var(--font-weight-medium); line-height: var(--spacing-40); opacity: .5; cursor: pointer; }
.block-square-gradient .menu li.active, .block-square .menu li.active { font-weight: var(--font-weight-black); opacity: 1; }
.block-square-gradient .menu li:last-child, .block-square .menu li:last-child { margin-bottom: 0; }
/* block square bg image */
.block-square-picture {
	background-size: cover; background-position: center center; background-repeat: no-repeat;
	width: 100%; padding: var(--spacing-32); border-radius: var(--radius-big); aspect-ratio: 1 / 1;
	display: flex; flex-direction: column; justify-content: flex-end;
}
.block-square-picture.active { position: initial; }
/* block square bg couleur marque */
.block-square-brand { color: var(--color-white); }

/* bloc square color */
:root {
	--grid-with-shapes-height: 270px;
}
.grid-with-shapes { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--spacing-64); }
.grid-with-shapes .block-small-square-color { width: var(--grid-with-shapes-height); }
.grid-with-shapes .item { display: flex; flex-direction: row; height: var(--grid-with-shapes-height); gap: var(--spacing-32); }
.grid-with-shapes .item .shape-world { width: calc(var(--grid-with-shapes-height) * 1.3); height: 100%; }
.grid-with-shapes .item .shape-round, .grid-with-shapes .item .shape-square { width: var(--grid-with-shapes-height); height: 100%; }
.grid-with-shapes.inverse-shape .item > div:first-child { order: 1; }
.grid-with-shapes.inverse-shape .item > div:last-child { order: 0; }
.block-square-color { width: 100%; border-radius: var(--radius-big); aspect-ratio: 1 / 1; display: flex; flex-direction: column; justify-content: space-between; padding: var(--spacing-64); position: relative; }
.block-square-color.gradientBg { background-size: 500%; background-position: 50% 30%; background-repeat: no-repeat; }
.block-small-square-color { color: var(--color-primary-blue-dark); padding: var(--spacing-24); border-radius: var(--radius-xl); aspect-ratio: 1 / 1; display: grid; grid-template-rows: auto 1fr; position: relative; overflow: hidden; }
.block-small-square-color h3 { color: var(--color-primary-blue-dark); }
.block-small-square-color:after { content: ""; width: 100%; height: 35%; position: absolute; bottom: 0; background-image: linear-gradient(180deg, transparent 0%, var(--color-white) 70%); }
.block-small-square-color.yellowBg:after { background-image: linear-gradient(180deg, transparent 0%, var(--color-secondary-light-yellow) 70%); }
.block-small-square-color.pinkBg:after { background-image: linear-gradient(180deg, transparent 0%, var(--color-secondary-light-pink) 70%); }
.block-small-square-color.greenBg:after { background-image: linear-gradient(180deg, transparent 0%, var(--color-secondary-light-green) 70%); }
.block-small-square-color.blueBg:after { background-image: linear-gradient(180deg, transparent 0%, var(--color-secondary-light-cyan) 70%); }
.block-small-square-color.lilacBg:after { background-image: linear-gradient(180deg, transparent 0%, var(--color-primary-blue-light) 70%); }
.grid-with-shapes .item:hover { flex-grow: 1; }
.grid-with-shapes .item:hover *[class^="shape-"] { display: none; }
.grid-with-shapes .item:hover .block-small-square-color { width: 100%; max-width: initial; aspect-ratio: initial; }
.grid-with-shapes .item:hover .block-small-square-color p { overflow-y: auto; }
.grid-with-shapes .item:hover .block-small-square-color:after { display: none; }
.grid-with-shapes .block-small-square-color.brandColor { color: var(--color-white); }

/* block tabs verticaux */
.menu-tabs-vertical .menu li { margin-bottom: 0; padding: var(--spacing-24); font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); font-weight: var(--font-weight-medium); line-height: var(--spacing-40); opacity: .35; cursor: pointer; border-radius: var(--radius-l); position: relative; }
.menu-tabs-vertical .menu li:hover, .menu-tabs-vertical .menu li.active { opacity: 1; }
.menu-tabs-vertical .menu li:hover:after, .menu-tabs-vertical .menu li.active:after { content: url('/medias/icons/feather/arrow-right.svg'); /*width: 2rem;*/ position: absolute; right: var(--spacing-24); filter: invert(); }

/* timeline vertical */
.timeline-vertical-wrapper { position: absolute; left: 50%; transform: translateX(-50%); height: 100%; }
.timeline-vertical { margin:0; padding: 0; text-indent: 0; list-style-type: none; height: 100%; border-left: 1px solid var(--color-primary-blue-light-dark); padding-left: var(--spacing-32); padding-top: var(--spacing-32); padding-bottom: var(--spacing-32); position: relative; }
.timeline-vertical li { font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); font-weight: var(--font-weight-medium); opacity: .35; margin: var(--spacing-16) 0; cursor: pointer; transition: .3s all; }
.timeline-vertical li.active { font-size: var(--font-size-display-xl); font-weight: var(--font-weight-black); opacity: 1; }
.activeStyle { font-family: var(--font-inter-tight); font-size: var(--font-size-display-xl); font-weight: var(--font-weight-black); }
.timeline-vertical .marker { width: 2rem; height: 2rem; background-color: var(--color-primary-blue); border-radius: 2rem; position: absolute; left: -1rem; top: 0; transition: .3s cubic-bezier(.52,0,.37,1.38); opacity: 0; }
.blueBg .timeline-vertical .marker { border: .5rem solid var(--color-secondary-light-cyan); }

.block-wrapper { position: relative; height: 100%; }
.block-wrapper .block-square-picture, .block-wrapper .carousel-panel { position: absolute; z-index: 0; top: 0; transition: .5s all ease-in-out; }
.block-wrapper .carousel-panel { height: 100%; }
.block-wrapper .block-square-picture:not(.active), .block-wrapper .carousel-panel:not(.active) { z-index: -1; opacity: 0; transform: scale(.8); }
.block-wrapper .block-square-picture.active, .block-wrapper .carousel-panel.active { opacity: 1; }
.block-wrapper .block-square-picture.hide-zoomin, .block-wrapper .carousel-panel.hide-zoomin { transform: scale(.8); opacity: 0; }
.block-wrapper .block-square-picture.show-zoomout, .block-wrapper .carousel-panel.show-zoomout { z-index: 0 !important; transform: scale(1) !important; opacity: 1 !important; }
.block-wrapper .block-square-picture.hide-zoomin .content, .block-wrapper .carousel-panel.hide-zoomin .content { opacity: 0; transform: translateY(-5rem); }
.block-wrapper .block-square-picture .content, .block-wrapper .carousel-panel .content { background-color: var(--color-white); color: var(--color-primary-blue-dark); border-radius: var(--radius-xl); padding: var(--spacing-24); transform: translateY(-5rem); transition: .5s all ease-in-out; }
.block-wrapper .carousel-panel .content { height: 100%; }
.block-wrapper .carousel-panel .content { display: flex; flex-direction: column; justify-content: center; padding: var(--spacing-32); }
.block-wrapper .block-square-picture .content h3, .block-wrapper .carousel-panel .content h3 { color: color: var(--color-primary-blue-dark); }
.block-wrapper .carousel-panel .content h3 { font-size: var(--font-size-display-md); }
.block.blueTextureBg .block-wrapper .block-square-picture .content h3 { color: var(--color-primary-blue-dark); }
.block-wrapper .block-square-picture:not(.active) .content, .block-wrapper .carousel-panel:not(.active) .content { opacity: 0; transform: translateY(-5rem); }
.block-wrapper .block-square-picture.active .content, .block-wrapper .carousel-panel.active .content { opacity: 1; transform: translateY(0); }


/* accordion BS reset */
.accordion-item { border: none; background: transparent; border-radius: 0 !important; }
.accordion-item:last-child { border-bottom: 1px solid rgba(4, 14, 70, 0.4); }
.accordion-header { background: transparent; margin: 0 !important; }
.accordion-button { border: none; background: none !important; margin: 0 !important; box-shadow: none !important; border-radius: 0 !important; color: var(--color-primary-blue-dark); font-size: var(--font-size-display-xs); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-24); padding: var(--spacing-24) 0 !important; border-top: 1px solid var(--color-primary-blue-dark); }
.accordion-button:not(.collapsed) { border-top: 2px solid var(--color-primary-blue); }
.accordion-button.collapsed { opacity: .4; }
.accordion-body { padding: 0 0 var(--spacing-24); }
.col.illustration-left:first-child { order: 0; }
.col.illustration-left:last-child { order: 1; }
.col.illustration-right:first-child { order: 1; }
.col.illustration-right:last-child { order: 0; }

/* grid with connected cells */
.connected-grid-row { display: flex; gap: 2rem; margin-bottom: 2rem; }
.connected-grid-row .cell {
	position: relative;
	border-radius: var(--radius-2xl); padding: var(--spacing-24);
	background-color: var(--color-white);
	display: grid; grid-template-rows: auto auto 1fr; gap: var(--spacing-16);
	flex: 1 1 0px;
}
.boxes-with-illustration .cell { position: relative; display: grid; grid-template-rows: auto auto 1fr; gap: var(--spacing-16); flex: 1 1 0px; margin-bottom: var(--spacing-40); }
.connected-grid-row .cell .shape, .boxes-with-illustration .cell .shape { height: 4rem; }
.connected-grid-row .cell h3, .connected-grid-row .cell p, .boxes-with-illustration .cell h3, .boxes-with-illustration .cell p { margin: 0; }
.connected-grid-row .cell.connect-right:before { content: url(../img/connexion_grid_vertical.svg); width: 2rem; position: absolute; top: 50%; transform: translateY(-50%); left: 100%; z-index: 10; }
.connected-grid-row .cell.connect-bottom:after { content: url(../img/connexion_grid_horizontal.svg); width: 2rem; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; z-index: 10; }
.boxes-with-illustration .main-picture { min-height: 300px; }
.boxes-with-illustration .row > div { padding-left: var(--spacing-20); padding-right: var(--spacing-20); }

.large-pill.connect-bottom { position: relative; margin-bottom: 2rem; }
.large-pill.connect-bottom:after { content: url(../img/connexion_grid_horizontal.svg); width: 2rem; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; z-index: 10; }

/* Image in pill with carousel buttons */
.pill-with-carousel-buttons .shape-pill { width: 100%; position: relative; z-index: 1; }
.pill-with-carousel-buttons .shape-wrapper { position: relative; }
.pill-with-carousel-buttons .shape-wrapper:after { z-index: 0; content: ""; position: absolute; top: 50%; height: 50%; width: 100%; background-color: rgba(255, 255, 255, .8); }
.pill-with-carousel-buttons .shape-pill .sliding-button-wrapper { position: absolute; top: calc(100% - 33px); left: 50%; transform: translateX(-50%); }
.pill-with-carousel-buttons .shape-pill .sliding-button-wrapper li { white-space: nowrap; }
.pill-with-carousel-buttons .shape-pill .sliding-button-wrapper .sliding-button { box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; }
.pill-with-carousel-buttons .panels-wrapper { border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); background-color: rgba(255, 255, 255, .8); padding: var(--spacing-80) var(--spacing-64) var(--spacing-64); }
.panels-wrapper { position: relative; }
.panels-wrapper .panel:not(.active) { position: absolute; top: 0; display: none; }
.panels-wrapper .panel.active { display: block !important; }
.panels-wrapper .panel .row { margin-left: calc(-1 * var(--spacing-16)); margin-right: calc(-1 * var(--spacing-16)); }
.panels-wrapper .panel .row > div { padding: var(--spacing-16); }
/*.panels-wrapper .panel .row > div:first-child { padding-left: initial; }
.panels-wrapper .panel .row > div:last-child { padding-right: initial; }*/


/* Large button download */
.large-button-download { border-radius: var(--radius-circle); padding: .5rem; display: flex; gap: var(--spacing-32); align-items: center; cursor: pointer; }
.large-button-download:not(.whiteBg) { background-image: url("../img/gradient.jpg"); background-size: 400%; background-position: 60% center; background-repeat: no-repeat; }
.large-button-download .shape-pill { height: 8rem; }
.large-button-download .icon { margin-left: auto; display: flex; justify-content: center; align-items: center; aspect-ratio: 1 / 1; border-radius: var(--radius-2xl); background-color: var(--color-primary-blue); padding: .75rem; margin-right: 3.5rem; width: 2.5rem; height: 2.5rem; }
.large-button-download .icon img { filter: invert(); width: 1rem; }


/* Mire de forme mappemondes avec fond gradient commun */
.mire-wrapper { position: relative; }
.mire-wrapper .content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50%; height: 60%; text-align: center; padding: var(--spacing-16); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1000; }
.hero .mire.mire-wrapper .content { width: 60% };
.mire-wrapper .content h2 { margin-bottom: var(--spacing-24); }
.mire-gradient {
	width: 100%; aspect-ratio: 2 / 1;
	/*background-image: url("../img/gradient.jpg");
	background-size: cover;*/
	mask-image: url("../img/shape_world_mire.svg");
	mask-size: 100%;
	mask-clip: content-box;
	mask-position: top left;
	mask-repeat: no-repeat;
	position: relative;
	overflow: hidden;
}
.hero .mire .mire-gradient { mask-image: url("../img/shape_world_mire2.svg"); min-height: 660px; }
.mire-gradient .gradient { width: 100%; }
.mire-gradient .item { width: calc(100% / 8); border: 0px solid red; background-size: cover; background-position: center; aspect-ratio: 1.3 / 1; position: absolute; opacity: 0; }
.mire-gradient #mire-people-01 { top: -1%; left: -1%; }
.mire-gradient #mire-people-02 { top: -1%; left: 12%; }
.mire-gradient #mire-people-03 { top: -1%; left: 25%; opacity: 1; }
.mire-gradient #mire-people-04 { top: -1%; left: 37%; }
.mire-gradient #mire-people-05 { top: -1%; left: 50%; }
.mire-gradient #mire-people-06 { top: -1%; left: 63%; }
.mire-gradient #mire-people-07 { top: -1%; left: 76%; }
.mire-gradient #mire-people-08 { top: -1%; left: 88%; opacity: 1; }
.mire-gradient #mire-people-09 { top: 19%; left: -1%; }
.mire-gradient #mire-people-10 { top: 19%; left: 12%; opacity: 1; }
.mire-gradient #mire-people-11 { top: 19%; left: 76%; }
.mire-gradient #mire-people-12 { top: 19%; left: 88%; }
.mire-gradient #mire-people-13 { top: 39%; left: -1%; }
.mire-gradient #mire-people-14 { top: 39%; left: 12%; }
.mire-gradient #mire-people-15 { top: 39%; left: 76%; opacity: 1; }
.mire-gradient #mire-people-16 { top: 39%; left: 88%; }
.mire-gradient #mire-people-17 { top: 59%; left: -1%; opacity: 1; }
.mire-gradient #mire-people-18 { top: 59%; left: 12%; }
.mire-gradient #mire-people-19 { top: 59%; left: 76%; }
.mire-gradient #mire-people-20 { top: 59%; left: 88%; opacity: 1; }
.mire-gradient #mire-people-21 { top: 79%; left: -1%; }
.mire-gradient #mire-people-22 { top: 79%; left: 12%; opacity: 1; }
.mire-gradient #mire-people-23 { top: 79%; left: 25%; }
.mire-gradient #mire-people-24 { top: 79%; left: 37%; }
.mire-gradient #mire-people-25 { top: 79%; left: 50%; }
.mire-gradient #mire-people-26 { top: 79%; left: 63%; opacity: 1; }
.mire-gradient #mire-people-27 { top: 79%; left: 76%; }
.mire-gradient #mire-people-28 { top: 79%; left: 88%; }

.hero .mire .mire-gradient .item { opacity: 0; width: calc(100% / 6); border: 0px solid red; }
.hero .mire .mire-gradient #mire-people-01 { top: -1%; left: -1%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-02 { top: -1%; left: 16%; opacity: 1; }
.hero .mire .mire-gradient #mire-people-03 { top: -1%; left: 33%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-04 { top: -1%; left: 50%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-05 { top: -1%; left: 67%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-06 { top: -1%; left: 84%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-07 { top: 24%; left: -1%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-08 { top: 24%; left: 84%; opacity: 1; }
.hero .mire .mire-gradient #mire-people-09 { top: 49%; left: -1%; opacity: 1; }
.hero .mire .mire-gradient #mire-people-10 { top: 49%; left: 84%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-11 { top: 74%; left: -1%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-12 { top: 74%; left: 16%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-13 { top: 74%; left: 33%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-14 { top: 74%; left: 50%; opacity: 0; }
.hero .mire .mire-gradient #mire-people-15 { top: 74%; left: 67%; opacity: 1; }
.hero .mire .mire-gradient #mire-people-16 { top: 74%; left: 84%; opacity: 0; }

/*.mire-gradient #mire-people-02 { top: -1%; left: 76%; }
.mire-gradient #mire-people-03 { top: 59%; left: 12%; }
.mire-gradient #mire-people-04 { top: 59%; left: 76%; }
.mire-gradient #mire-people-05 { top: 80%; left: 88%; }*/


/* carousel */
.carousel-nav { display: flex; align-items: center; gap: 2rem; margin-top: var(--spacing-24); }
.carousel-nav.position-top { margin-top: 0; }
.carousel-nav .carousel-progress { flex: 1 1 0px; height: 2px; border-bottom: 2px solid var(--color-primary-blue-light-dark); }
.carousel-nav .carousel-arrows-wrapper { margin: 0; margin-left: auto; padding: 0; text-indent: 0; list-style-type: none; display: inline-flex; flex-direction: row; flex-basis: 1; background-color: var(--color-white); padding: 5px; border-radius: var(--radius-big); position: relative; }
.lilacGradientTopBg .carousel-arrows-wrapper { background-color: var(--color-primary-blue-light); }
.carousel-arrows-wrapper li { padding: 1rem; position: relative; border-radius: var(--radius-2xl); width: 2.5rem; height: 2.5rem; display: flex; justify-content: center; align-items: center; cursor: pointer; }
.carousel-arrows-wrapper li img { width: 1rem; }
.carousel-arrows-wrapper li.active { background-color: var(--color-primary-blue); }
.carousel-arrows-wrapper li.active img { filter: invert(); }

/* Timeline horizontale */
.carousel-timeline-wrapper { min-height: 300px; width: 100vw; }
.card-timeline { display: flex !important; height: 100%; border-radius: var(--radius-2xl); overflow: hidden;  }
.card-timeline .pict { width: 50%; background-size: cover; background-position: center center; background-repeat: no-repeat; }
.card-timeline .content { width: 50%; background: linear-gradient(315deg,rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .8) 80%); padding: var(--spacing-24); display: flex; flex-direction: column; justify-content: flex-start; }
.card-timeline .content h3 { font-family: var(--font-inter-tight); font-size: var(--font-size-display-2xl); font-weight: var(--font-weight-regular); }
.carousel-timeline.slick-dotted.slick-slider { margin-bottom: 6rem; }
.carousel-timeline .slick-dots { bottom: -6rem !important; font-family: var(--font-inter-tight); font-size: var(--font-size-display-xs); font-weight: var(--font-weight-normal); white-space: nowrap; }
.carousel-timeline .slick-dots li { margin-left: 5rem; margin-right: 5rem; position: relative; }
.carousel-timeline .slick-dots li button::before { font-size: .5rem; transition: all .3s; }
.carousel-timeline .slick-dots li.slick-active button::before { color: var(--color-primary-blue); opacity: 1; font-size: 1rem; top: 0rem; }
.carousel-timeline .slick-dots li .year { position: absolute; left: -100%; top: -2.5rem; opacity: .4; transition: all .3s; }
.carousel-timeline .slick-dots li.slick-active .year { opacity: 1; font-weight: var(--font-weight-medium); }
.carousel-timeline .slick-dots li:after { content: ""; width: 9rem; height: 2px; background-color: var(--color-primary-blue-dark); opacity: .2; position: absolute; top: .55rem; left: 1.7rem; }


/* accordion map */
.accordion-map { background-color: var(--color-white); border-radius: var(--radius-md); }
.accordion-map .accordion-button { padding: var(--spacing-10) var(--spacing-24) !important; border: none; font-family: var(--font-inter-tight); font-size: var(--font-size-text-xl); font-weight: var(--font-weight-black); }
.accordion-map .accordion-button.collapsed { opacity: initial; }
.accordion-map .accordion-button:after { background-image: none; transform: none; content: "+"; font-weight: var(--font-weight-regular); width: initial; height: initial; }
.accordion-map .accordion-item { border-bottom: 1px solid var(--color-primary-blue-light-dark); }
.accordion-map .accordion-item:last-child { border: none; }
.accordion-map .accordion-collapse { padding: 0 var(--spacing-24) var(--spacing-24); }
.accordion-map .accordion-body { padding: 0; display: grid; grid-template-columns: auto auto; gap: 0 var(--spacing-24); }
.accordion-map .accordion-body a.button { border-radius: 0; padding: var(--spacing-10) 0; }
.accordion-map .accordion-body a.button:before { top: initial; filter: none; }
.accordion-map .accordion-body a.button:after { background-color: var(--color-primary-blue-light); }
.accordion-map .accordion-body a.button:hover:before { filter: invert(); }
.accordion-map .accordion-body a.button:hover:after { background-color: var(--color-primary-blue); }
.map-subsidiary-popover-wrapper { position: absolute; z-index: 1000; }
.map-subsidiary-popover-wrapper .map-subsidiary-popover { position: relative; background-color: var(--color-white); border-radius: var(--radius-md); padding: var(--spacing-16); box-shadow: rgba(0, 0, 0, 0.5) 0px 25px 50px -12px; }
.map-subsidiary-popover-wrapper .map-subsidiary-popover:before {
	background-color: var(--color-white);
	content: "\00a0";
	display: block;
	height: 1rem;
	width: 1rem;
	position: absolute;
	bottom: -.5rem;
	left: 50%;
	transform: rotate(47deg) skew(5deg) translateX(-50%);
	-moz-transform: rotate(47deg) skew(5deg);
	-ms-transform: rotate(47deg) skew(5deg);
	-o-transform: rotate(47deg) skew(5deg);
	-webkit-transform: rotate(47deg) skew(5deg);
	box-shadow: rgba(0, 0, 0, 0.5) 0px 25px 50px -12px;
}
.dots { position: relative; }
.subsidiaries-details { background-color: var(--color-white); border-radius: var(--radius-md); padding: var(--spacing-24) !important; margin-top: var(--spacing-16); }
.subsidiaries-details h3 { margin-bottom: margin-bottom: var(--spacing-10); }
.map-subsidiary-popover-wrapper .icon, .subsidiaries-details .icon { width: 20px; height: 20px; }


/* pagination */
.pagination-block { width: 100%; display: flex; justify-content: space-between; border-top: 1px solid var(--color-primary-blue-light); padding-top: 1.5rem; margin-top: 1rem; }
.left-wrapper, .right-wrapper, .left-wrapper a, .right-wrapper a { text-decoration: none; color: #040E46; display: flex; align-items: center; gap: 1rem; cursor: pointer; }
.left-wrapper.disabled, .right-wrapper.disabled { cursor: not-allowed; opacity: .5; }
.left-wrapper .icon, .right-wrapper .icon { width: 2.5rem; height: 2.5rem; border-radius: 2.5rem; display: flex; justify-content: center; align-items: center; background-color: var(--color-white); }
.pagination-block.white-background .left-wrapper .icon, .pagination-block.white-background .right-wrapper .icon { background-color: var(--color-primary-blue-light); }
.left-wrapper .icon:before { content: url('../icons/feather/arrow-left.svg'); transform: scale(.7); line-height: 0; transition: all .3s; }
.right-wrapper .icon:before { content: url('../icons/feather/arrow-right.svg'); transform: scale(.7); line-height: 0; transition: all .3s; }
.left-wrapper:hover .icon, .right-wrapper:hover .icon { background-color: var(--color-primary-blue) !important; } 
.left-wrapper:hover .icon:before, .right-wrapper:hover .icon:before { filter: invert(); }
.pagination-wrapper { display: flex; flex-direction: row; flex-wrap: wrap; list-style-type: none !important; margin: 0; }
.pagination-wrapper li a { margin: 0 .5rem; border-radius: 2rem; width: 2.5rem; height: 2.5rem; border-radius: 2.5rem; display: flex; justify-content: center; align-items: center; padding: 0 !important; cursor: pointer; transition: all .3s; text-decoration: none; color: #040E46; }
.pagination-wrapper li a:hover { background-color: var(--color-primary-blue-light); }
.pagination-wrapper li.active a { background-color: var(--color-primary-blue); color: var(--color-white); }


/* testimonial */
.testimonial-teaser { height: 100%; }
.testimonial-teaser .inner {
	background-color: var(--color-white);
	width: calc(100% - 6px); height: calc(100% - 6px);
	margin: 3px;
	padding: var(--spacing-24);
	display: grid !important; grid-template-rows: auto 1fr; gap: var(--spacing-24);
	border-radius: var(--radius-xl);
	position: relative;
	z-index: 10;
}
a .testimonial-teaser .inner { color: var(--color-primary-blue-dark); }
.testimonial-teaser h3 { font-size: var(--font-size-text-lg); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-8); }
.testimonial-teaser .subtitle { font-size: var(--font-size-text-sm); }
.testimonial-teaser .teaser { font-size: var(--font-size-text-md); font-style: italic; }
.testimonial-teaser cite { font-style: normal; }
.testimonial-teaser blockquote { display: grid; grid-template-rows: 1fr auto auto; }


/* blocs de docs */
.documents-list-wrapper { display: grid; gap: var(--spacing-32); grid-template-columns: 50% 50%; }
.documents-list-wrapper .document-bloc { display: flex; background-color: var(--color-white); padding: var(--spacing-16); border-radius: var(--radius-l); }
.documents-list-wrapper .document-bloc .picture { background-size: cover; background-position: center center; border-radius: var(--radius-md); width: 33%; margin-right:var(--spacing-16); }
.documents-list-wrapper .document-bloc h2 { font-size: var(--font-size-display-sm); }
.documents-list-wrapper .document-bloc a { display: inline-flex; }


@media (max-width: 768px) {
	.button-title.icon-left { min-height: 1.75rem; display: flex; align-items: center; }
	.scenery-left { flex-wrap: wrap; gap: var(--spacing-24); }
	.scenery-left .scenery { width: 100%; min-height: 200px; }
	.scenery-left .scenery .shape-wrapper { min-height: initial; }
	.scenery-left .content { width: 100%; }
	.x-reflex-object-type-108 .scenery-left .scenery, .x-reflex-object-type-108 .scenery-right .scenery { min-height: 300px; }
	.x-reflex-object-type-108 .block-square { padding: 0; aspect-ratio: initial; }

	.scenery-right { flex-wrap: wrap; gap: var(--spacing-24); }
	.scenery-right .scenery { width: 100%; min-height: 200px; margin-left: var(--spacing-16); }
	.scenery-right .scenery .shape-wrapper { min-height: initial; }
	.scenery-right .content { width: 100%; }

	.block.gradientBg { background-size: initial !important; }
	.block-square-gradient { padding: var(--spacing-24); }
	.block-square-gradient .title { margin-bottom: var(--spacing-16); }

	#animation-picts-bottom h2 { font-size: var(--font-size-display-xl); line-height: 4rem !important; }
	#animation-picts-bottom #animation-second-box1 { left: -25%; }
	#animation-picts-bottom #animation-second-box2 { right: -5%; }
	#animation-picts-bottom #animation-second-box3 { right: -15%; }
	#animation-picts-bottom #animation-second-box4 { left: -15%; }

	.scenery-with-vertical-menu { flex-direction: column; gap: var(--spacing-24); }
	.scenery-with-vertical-menu .scenery { width: 100%; min-height: 320px; }
	.scenery-with-vertical-menu .scenery .shape-wrapper { right: initial; left: -4rem; }
	.scenery-with-vertical-menu .content > div.active { position: initial; }
	.scenery-with-vertical-menu .menu-wrapper .menu { flex-direction: row; justify-content: center; border-left: none; border-bottom: 1px solid var(--color-primary-blue-light-dark); padding-left: 0; padding-bottom: var(--spacing-16); }
	.scenery-with-vertical-menu .menu-wrapper .menu .menu-slider { height: 3px; top: initial; bottom: -2px; }
	.tem-52 .scenery-with-vertical-menu .scenery .shape-wrapper { right: 0; left: initial; }

	.grid-with-shapes { flex-direction: column; gap: var(--spacing-32); }
	.grid-with-shapes .item { flex-direction: column; height: initial; width: 100%; gap: var(--spacing-16); }
	.grid-with-shapes .item .shape-world { width: 100%; }
	.grid-with-shapes .item .block-small-square-color { width: 100%; aspect-ratio: initial; }
	.grid-with-shapes .item .shape-round, .grid-with-shapes .item .shape-square { margin-left: auto; margin-right: auto; }
	.block-small-square-color::after { background: none !important; }
	.grid-with-shapes.inverse-shape .item > div:first-child { order: initial; }

	.block.pictureBg { justify-content: flex-end; padding: var(--spacing-24) 0 !important; }
	.block.pictureBg::before { background: linear-gradient(to top, rgba(0, 0, 0, .7), transparent 70%); }
	.block.pictureBg::after { mask: linear-gradient(to top, black, transparent 50%); }

	.sliding-button li { padding: .5rem 1rem; font-size: var(--font-size-text-md); }
	.panels-wrapper .panel .row > div { padding: 0 var(--spacing-16); }
	.card-news .pict { aspect-ratio: 2 / 1; }

	.row.title-with-teaser.mb-64, .row.title-with-teaser.mb-32 { margin-bottom: var(--spacing-16) !important; }
	.x-reflex-object-type-113 .card-news .inner { grid-template-rows: auto 1fr; }

	.connected-grid-row { flex-direction: column; }
	.connected-grid-row .cell.connect-right:before { content: ""; }
	.connected-grid-row .cell::after { content: url(../img/connexion_grid_horizontal.svg); width: 2rem; position: absolute; left: 50%; transform: translateX(-2rem) !important; top: 100%; z-index: 10; }
	.connected-grid-row:last-child .cell:last-child::after { content: ""; display: none; }

	.block-square { border-radius: var(--radius-2xl); }
	.block-square.with-menu { aspect-ratio: initial; margin-bottom: var(--spacing-16); }
	.block-square-gradient .menu li, .block-square .menu li { font-size: var(--font-size-display-md); margin-bottom: var(--spacing-16); line-height: var(--spacing-32); }
	.block-square-picture, .block-square-color { padding: var(--spacing-32); border-radius: var(--radius-2xl); }
	.block-square-picture { padding: var(--spacing-16); }
	.block-square-picture.active { position: initial; }

	.x-reflex-object-type-121 .illustration-left div[class^='shape-'], .x-reflex-object-type-121 .illustration-right div[class^='shape-'] { margin-bottom: var(--spacing-16); }
	.accordion-button { font-size: var(--font-size-display-sm); }

	.timeline-vertical { padding-left: var(--spacing-16); padding-top: var(--spacing-16); padding-bottom: var(--spacing-16); }
	.timeline-vertical li { line-height: var(--line-height-lg); }
	.timeline-vertical li.active { font-size: var(--font-size-display-lg); }

	.large-button-download { border-top-left-radius: 4.5rem; border-top-right-radius: 4.5rem; border-bottom-left-radius: var(--radius-2xl); border-bottom-right-radius: var(--radius-2xl); flex-direction: column; gap: var(--spacing-16); }
	.large-button-download .shape-pill { width: 100%; }
	.large-button-download .text { padding: 0 var(--spacing-16) var(--spacing-16); }
	.large-button-download .text h2 { margin: 0; }
	.large-button-download .icon { margin-right: 0; margin-left: auto; }
	.large-pill.connect-bottom::after { transform: translateX(-100%); }

	.sliding-button-wrapper { width: 100%; }
	.sliding-button.vertical { /*flex-direction: column;*/ flex-wrap: wrap; border-radius: var(--radius-l); justify-content: center; }

	.pill-with-carousel-buttons .panels-wrapper { padding: var(--spacing-64) var(--spacing-32) var(--spacing-32); }
	.pill-with-carousel-buttons .shape-wrapper { margin-bottom: var(--spacing-16); }
	.pill-with-carousel-buttons .shape-pill { border-radius: var(--radius-big); }

	.menu-tabs-vertical .menu { margin-bottom: var(--spacing-16); }
	.menu-tabs-vertical .menu li { padding: var(--spacing-16); line-height: var(--line-height-sm); }
	.menu-tabs-vertical .menu li:hover::after, .menu-tabs-vertical .menu li.active::after { transform: rotate(90deg) translateX(-.1rem); }
	.block-wrapper .block-square-picture.active, .block-wrapper .carousel-panel.active { position: relative; }

	.mire-wrapper .mire-gradient { display: none; }
	.mire-wrapper .content { position: initial; transform: none; width: 100%; }
	.hero .mire.mire-wrapper .content { width: 100%; }

	.carousel-round { border-radius: var(--radius-xl); padding: var(--spacing-24) var(--spacing-16) var(--spacing-64) var(--spacing-16); aspect-ratio: initial; overflow: initial; }
	.carousel-round .carousel-item p { margin: 0 var(--spacing-56); }
	.carousel-round .carousel-indicators { bottom: -2.5rem; }

	*[class*='vacancies-list'] .vacancy-teaser .pict { display: none; }
	*[class*='vacancies-list'] .vacancy-teaser .content { gap: var(--spacing-8); }
	*[class*='vacancies-list'] .vacancy-teaser .service-date { flex-direction: column; justify-content: flex-start; gap: var(--spacing-8); margin-bottom: 0; }
	*[class*='vacancies-list'] .vacancy-teaser .service-date .service { display: inline-block; width: fit-content; }
	*[class*='vacancies-list'] .vacancy-teaser .service-date .date { margin-left: 0 !important; }
	*[class*='vacancies-list'] .vacancy-teaser h3 { margin-bottom: 0; }

	.pagination-block .left-wrapper .label, .pagination-block .right-wrapper .label { display: none; }

	.accordion-map .accordion-body { grid-template-columns: 1fr 1fr; gap: 0 var(--spacing-16); }
	.accordion-map .accordion-body .button::after, .accordion-map .accordion-body .button::before { display: none; }
	.accordion-map .accordion-body a.button { padding: var(--spacing-4) 0; }
}

