/*
Manutan corpo 2026
Main css styles
*/
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;1,400;0,500;1,500;0,700;1,700;0,900;1,900&family=Inter:ital,opsz,wght@0,14..32,400;1,14..32,400;0,14..32,500;1,14..32,500;0,14..32,700;1,14..32,700;0,14..32,900;1,14..32,900&display=swap');

:root {
	--font-inter: "Inter";
	--font-inter-tight: "Inter Tight";

	--font-size-display-2xl: 4.5rem;
	--font-size-display-xl: 3.75rem;
	--font-size-display-lg: 3rem;
	--font-size-display-md: 2.25rem;
	--font-size-display-sm: 1.875rem;
	--font-size-display-xs: 1.5rem;
	--font-size-display-xxs: 1rem;

	--font-size-text-xl: 1.25rem;
	--font-size-text-lg: 1.125rem;
	--font-size-text-md: 1rem;
	--font-size-text-sm: 0.875rem;
	--font-size-text-xs: 0.75rem;

	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-weight-black: 900;

	--line-height-xl: 1.875rem;
	--line-height-lg: 1.75rem;
	--line-height-md: 1.5rem;
	--line-height-sm: 1.25rem;
	--line-height-xs: 1.125rem;
	--line-height-display-2xl: 5.625rem;
	--line-height-display-xl: 4.5rem;
	--line-height-display-lg: 3.75rem;
	--line-height-display-md: 2.75rem;
	--line-height-display-sm: 2.375rem;
	--line-height-display-xs: 2rem;

	--spacing-0: 0rem;
	--spacing-2: .125rem;
	--spacing-4: .25rem;
	--spacing-8: .5rem;
	--spacing-10: .625rem;
	--spacing-16: 1rem;
	--spacing-20: 1.25rem;
	--spacing-24: 1.5rem;
	--spacing-32: 2rem;
	--spacing-40: 2.5rem;
	--spacing-48: 3rem;
	--spacing-56: 3.5rem;
	--spacing-64: 4rem;
	--spacing-80: 5rem;
	--spacing-96: 6rem;
	--spacing-112: 7rem;
	--spacing-180: 11.25rem;

	--radius-xs: .25rem;
	--radius-sm: .5rem;
	--radius-md: 1rem;
	--radius-l: 1.5rem;
	--radius-xl: 2rem;
	--radius-2xl: 2.5rem;
	--radius-big: 3.75rem;
	--radius-circle: 1000px;

	--shadow-xs: 0 1px 2px 0 rgba(3, 9, 46, 0.06);
	--shadow-sm: 0 .125rem .5rem 0 rgba(3, 9, 46, 0.08);
	--shadow-md: 0 .25rem 1rem 0 rgba(3, 9, 46, 0.10);
	--shadow-lg: 0 .5rem 2rem 0 rgba(3, 9, 46, 0.12);
	--shadow-xl: 0 1rem 3rem -.25rem rgba(3, 9, 46, 0.16);


	--color-primary-blue-dark: #040E46;
	--color-primary-blue: #1442EB;
	--color-primary-blue-light-dark: #CBD3FF;
	--color-primary-blue-light: #EAEDFF;
	--color-secondary-cyan: #4CD6F5;
	--color-secondary-green: #32D232;
	--color-secondary-pink: #FF89D3;
	--color-secondary-yellow: #FF865F;
	--color-secondary-light-cyan: #B2EBFF;
	--color-secondary-light-green: #BFEFC8;
	--color-secondary-light-pink: #FFDDFF;
	--color-secondary-light-yellow: #FFEEB8;

	--bg-color-dark: #000830;
	--color-white: #FFFFFF;
	--color-blue-dark: #040E46;

	--color-findel-primary: #435E46;
	--color-findel-secondary: #618969;
}

/* margins, paddings, width */
.mb-0 { margin-bottom: 0px !important; }
.mb-8 { margin-bottom: var(--spacing-8) !important; }
.mb-16 { margin-bottom: var(--spacing-16) !important; }
.mb-24 { margin-bottom: var(--spacing-24) !important; }
.mb-32 { margin-bottom: var(--spacing-32) !important; }
.mb-64 { margin-bottom: var(--spacing-64) !important; }
.mt-8 { margin-top: var(--spacing-8); }
.mt-16 { margin-top: var(--spacing-16); }
.mt-32 { margin-top: var(--spacing-32); }
.mt-64 { margin-top: var(--spacing-64); }
.mlr-16 { margin-left: var(--spacing-16); margin-right: var(--spacing-16); }
.mlr-32 { margin-left: var(--spacing-32); margin-right: var(--spacing-32); }
.mlr-64 { margin-left: var(--spacing-32); margin-right: var(--spacing-32); }
.mr-16 { margin-right: var(--spacing-16); }
.mr-32 { margin-right: var(--spacing-32); }
.p-0 { padding: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.ptb-64 { padding-top: var(--spacing-64); padding-bottom: var(--spacing-64); }
.plr-16 { padding-left: var(--spacing-16); padding-right: var(--spacing-16); }
.plr-32 { padding-left: var(--spacing-32); padding-right: var(--spacing-32); }
.plr-24 { padding-left: var(--spacing-24); padding-right: var(--spacing-24); }
.plr-64 { padding-left: var(--spacing-64); padding-right: var(--spacing-64); }
.w-50p { width: 50%; }
.w-60p { width: 60%; }
.w-70p { width: 70%; }
.w-80p { width: 80%; }
.w-90p { width: 90%; }
.gap-16 { gap: var(--spacing-16); }
.gap-32 { gap: var(--spacing-32); }
.gap-64 { gap: var(--spacing-64); }
.t-sm { font-size: var(--font-size-display-sm) !important; }
.t-md { font-size: var(--font-size-display-md) !important; }
.t-lg { font-size: var(--font-size-display-lg) !important; }
.t-xl { font-size: var(--font-size-display-xl) !important; }
.t-2xl { font-size: var(--font-size-display-2xl) !important; }
.t-bold { font-weight: var(--font-weight-bold); }
.t-black { font-weight: var(--font-weight-black); }
.radius-xs { border-radius: var(--radius-xs) !important; }
.radius-sm { border-radius: var(--radius-sm) !important; }
.radius-md { border-radius: var(--radius-md) !important; }
.radius-l { border-radius: var(--radius-l) !important; }
.radius-xl { border-radius: var(--radius-xl) !important; }
.no-underline { text-decoration: none; }
.reset-overflow { overflow: initial !important; }

/* colors */
.color-blue { color: var(--color-primary-blue); }
.color-secondary-cyan { color: var(--color-secondary-cyan); }
.color-secondary-green { color: var(--color-secondary-green); }
.color-secondary-pink { color: var(--color-secondary-pink); }
.color-secondary-yellow { color: var(--color-secondary-yellow); }
.color-white, .color-white h1, .color-white h2 { color: var(--color-white) !important; }


body { font-size: var(--font-size-text-lg); background-color: var(--color-primary-blue-dark); color: var(--color-primary-blue-dark); font-family: var(--font-inter); color: var(--color-blue-dark); min-height: 100vh; display: flex; flex-direction: column; }
h1, h2, h3, h4 { color: var(--color-primary-blue-dark); }

.filter-white { filter: invert(); }
header.open .filter-white { filter: none; }

header { display: flex; flex-direction: column; height: initial; width: 100%; z-index: 100; position: fixed; /*background-color: var(--bg-color-dark);*/ }
#logo { width: 160px; }
header .top-bar { border-bottom: 1px solid rgba(255, 255, 255, 0.20); padding: var(--spacing-4) var(--spacing-40); transition: all .3s; }
header .top-bar .nav-link { color: var(--color-white); font-size: var(--font-size-text-sm); transition: all .6s; }
header .top-bar .nav-item:first-child .nav-link { padding-left: 0; }
header .top-bar .icon { max-width: 1rem; max-height: 1rem; }
header .bar-wrapper { transition: all .3s; }
header .nav-bar { border-bottom: 1px solid rgba(255, 255, 255, 0.20); padding: var(--spacing-10) var(--spacing-40); z-index: 1000; }
header .nav-bar .nav-link { color: var(--color-white); padding-right: 2rem; transition: all .3s; }
header .nav-bar .nav-link.open { font-weight: bold; opacity: 1 !important; }
header.open .nav-bar .nav-link { opacity: .5; }
header .nav-bar .nav-link.open:after { animation: .3s ease-in 0s 1 forwards rotate180; }
header .nav-bar .nav-item a:after, header a.caret:after { content: url("../icons/nav_angle_down_white.svg"); margin-left: 0.5rem; position: absolute; }
/*header .search { display: flex; align-items: center; justify-content: center; border: solid 1px transparent; display: inline-flex; border-radius: var(--radius-circle); background-image: linear-gradient(white, white), radial-gradient(circle at top left, #f9e0be 0%, #ed7442 100%) 1; background-origin: border-box; background-clip: content-box, border-box; padding: .8rem; }*/
header .iconRound {
	display: flex;
	align-items: center; justify-content: center;
	background: transparent;
	padding: .8rem;
	background-image: linear-gradient(90deg, var(--bg-color-dark), var(--bg-color-dark)), linear-gradient(to top, #f9e0be 0%, #ed7442 50%, #ec76be 100%);
	background-clip: padding-box, border-box;
	background-origin: border-box;
	border: 1px solid transparent;
	border-radius: var(--radius-circle);
	transition: all .3s;
}
header .link-search { border-left: 1px solid rgba(255, 255, 255, 0.20); padding-left: 1rem; }
header.open .link-search .iconRound { background: var(--color-primary-blue); }
header.minimized .top-bar { margin-top: -50px; }
header.minimized .bar-wrapper, header.white-header .bar-wrapper, header.open.resp .bar-wrapper { background-color: var(--color-white); }
header.minimized .nav-bar .nav-link, header.white-header .nav-bar .nav-link { color: var(--color-blue-dark); }
header.minimized .nav-bar .nav-item a::after, header.minimized a.caret::after, header.white-header .nav-bar .nav-item a::after, header.minwhite-headerimized a.caret::after { content: url("../icons/nav_angle_down_blue.svg"); }
header.white-header .top-bar { background-color: var(--color-primary-blue-dark); }
header.white-header .nav-bar { border-bottom: 1px solid var(--color-blue-dark); }
/*header.white-header .top-bar .nav-link { color: var(--color-blue-dark); }
header.white-header .nav-bar .nav-item a::after, header.white-header a.caret::after { content: url("../icons/nav_angle_down_blue.svg"); }*/


main { position: relative; top: 0; left: 0; flex: 1; z-index: 1; }

.dummy { min-height: 1000px; border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); z-index: 1; position: relative; }
.dummy.white { background-color: var(--color-white); }

footer {
	background: url(../img/footer_bg.jpg) top left/cover no-repeat;
	/*position: sticky;
	bottom: 0;*/
	width: 100%;
	/*height: calc(100% + var(--radius-big));*/
	z-index: 0;
	padding: var(--radius-big) 0;
	/*transform: translateY(calc(-1 * var(--radius-big)));*/
	color: var(--color-white);
}
footer .logo { max-width: 261px; margin-bottom: 1.5rem; }
footer .arc { width: 100%; max-width: 785px; margin-bottom: 1.5rem; }
footer .logos-line { display: flex; justify-content: center; gap: 1rem; margin-bottom: var(--spacing-32); }
footer .divider { width: 100%; height: 1px; border-bottom: 1px solid rgba(255, 255, 255, 0.20); margin: var(--spacing-32) 0; }
footer .nav-footer { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); justify-content: center; gap: var(--spacing-20); font-size: var(--font-size-text-sm); line-height: var(--line-height-sm); margin-bottom: var(--spacing-32); }
footer .nav-footer .section { font-weight: var(--font-weight-bold); }
footer .nav-footer ul { list-style: none; padding: 0; margin: 0; }
footer .nav-footer ul li { margin: var(--line-height-sm) 0; }
footer .slogan { font-family: var(--font-inter); font-size: var(--font-size-display-sm); font-weight: var(--font-weight-black); }
footer .social-tools { display: flex; gap: .5rem; margin-left: 2rem; }
footer .social-tools .icon {
	width: 4rem; height: 4rem;
	border-radius: var(--radius-2xl);
	padding: .5rem;
	display: flex; align-items: center; justify-content: center;
	line-height: 0;
	background: transparent;
	background-image: linear-gradient(90deg, var(--bg-color-dark), var(--bg-color-dark)), linear-gradient(to top, #f9e0be 0%, #ed7442 50%, #ec76be 100%);
	background-clip: padding-box, border-box;
	background-origin: border-box;
	border: 1px solid transparent;
}
footer .social-tools .icon img { max-width: 1rem; filter: invert(); }
footer .bottom-bar { font-size: var(--font-size-text-sm); }
footer .bottom-bar ul { list-style: none; padding: 0; margin: 0; display: flex; }
footer .bottom-bar ul li { padding: 0 1rem; }
footer .bottom-bar ul a { color: var(--color-white); text-decoration: none; }


.photo {
    width: 100%;
    aspect-ratio: 1;
    border-radius: inherit;
    
    background: center/cover url("/medias/files/300032_ILLUSTRATION_0.jpg");
    .filter {
        height: 100%;
        border-radius: inherit;
        backdrop-filter: blur(20px);
        mask-image: linear-gradient(to right, black, transparent);
	    mask-size: 100%;
        transition: backdrop-filter .3s linear;
    }
}
/* homepage */
.hero { position: relative; }
.hero .video-container, .hero .image-container { width: 100vw; height: 100vh; /*overflow: hidden;*/ position: relative; top: 0; left: 0; z-index: 0; border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); }
.hero .video-container video { min-width: 100vw; min-height: 100vh; }
.hero .image-container img { width: 100vw; position: absolute; top: 50%; transform: translateY(-50%); }
.hero.animated-headline { position: relative; }
.hero.animated-headline .video-container { width: 50%; margin: 0 auto; top: initial; border-radius: initial; overflow: initial; } /* calc(100% - 8rem)*/
.hero.animated-headline .video-container video { min-width: initial; min-height: initial; }
.hero.animated-headline .video-container img { width: 100%; }
.hero .image-container { width: 100%; background-size: cover; background-position: center; position: relative; }
.article-full .hero .image-container { overflow: hidden; }
/*.blur {
	height: 100%; width: 100%; top: 0; left: 0;
	backdrop-filter: blur(20px);
	mask-image: linear-gradient(to right, black, transparent 50%);
	mask-size: 100%;
}*/
.hero .image-container:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	height: 100%;
	backdrop-filter: blur(10px);
	mask-image: linear-gradient(to right, black 40%, transparent 60%);
	/*mask-image: url(../img/mask_gradient_blur.png); mask-size: 100%; mask-mode: luminance;*/
	border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big);
}
.hero .image-container:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 10;
/*	box-shadow: 0 0 2000rem rgba(0, 0, 0, 0.5) inset;*/
	background: radial-gradient(at top 50% left 60%, transparent 50%, rgba(0, 0, 0, .6));
	border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big);
/*
with gradiant radial, more circular
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: radial-gradient(circle, transparent 50%, black 150%);
*/
}
.hero .hero-content, .hero .headline {
	/*font-family: var(--font-inter-tight);
	font-size: var(--font-size-display-sm);*/
	font-family: var(--font-inter);
	font-size: var(--font-size-text-xl);
	margin-top: -100vh;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 1;
}
.hero .hero-content.mire { margin-top: initial; }
.hero.animated-headline .hero-content { margin-top: initial; height: initial; padding: var(--spacing-64); }
.hero .hero-content.center { text-align: center; }
.hero .hero-content.left { text-align: left; }
.hero .hero-content.half { width: 50%; padding-left: var(--spacing-64); padding-right: var(--spacing-64); }
.hero .hero-content .baseline, .hero .hero-content h1, .hero-animated .hero-content .baseline { font-size: var(--font-size-display-2xl); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-16); color: var(--color-white); }
.hero .hero-content.without-pic h1 { font-size: var(--font-size-display-xl); color: var(--color-blue-dark); }
.hero .hero-content p, .hero-animated .hero-content p { font-family: var(--font-inter); font-size: var(--font-size-text-xl); }
.hero-animated .hero-content h1 { font-size: var(--font-size-display-sm); font-weight: var(--font-weight-regular); }
.hero .hero-content.without-pic, .hero .hero-content.search { margin-top: initial; height: initial; }
.hero .hero-content.search { background-image: url("../img/gradient.jpg"); background-size: 200%; background-position: center 10%; background-repeat: no-repeat; }


.box2 { margin: 0 auto; width: 50%; height: 300px; background-color: #fff; }
.hero-animated { padding: 0; }
.hero-animated .hero-content {
	font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm);
	display: flex; flex-direction: column; justify-content: center; text-align: center; color: var(--color-white); padding: var(--spacing-64) 0;
	position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 100; width: 100%;

}
.hero-animated .video-wrapper { width: 100%; }
.hero-animated .hero-animated-video { width: 80vw; height: 100vh; margin: 0 auto; position: relative; border-radius: var(--radius-xl); overflow: hidden; }
.hero-animated .hero-animated-video video { width: 100%; height: 100%; position: absolute; object-fit: cover; z-index: 0; }
.hero.with-large-block { height: initial; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.hero.with-large-block .image-container { height: 100%; position: absolute; }
.hero.with-large-block .hero-content { height: initial; margin: var(--spacing-80) 0; }
.hero.with-large-block .large-block { margin: 0 var(--spacing-64) var(--spacing-64); }
.hero.with-large-block h1 { font-size: var(--font-size-display-xl); }
.hero.with-large-block .logo { width: 300px; max-width: 300px; max-height: 200px; margin-bottom: var(--spacing-32); }
.hero.with-large-block .subsidiary { font-size: var(--font-size-display-sm); font-weight: var(--font-weight-bold); }
.hero .block-social-networks { position: absolute; bottom: var(--spacing-64); right: var(--spacing-64); background-color: var(--color-white); padding: var(--spacing-8); border-radius: var(--radius-2xl); display: flex; align-items: center; font-size: var(--font-size-text-sm); }
.hero .block-social-networks .label { margin: 0 var(--spacing-16); }
.hero .block-social-networks .icon { display: flex; align-items: center; justify-content: center; border-radius: var(--radius-2xl); padding: var(--spacing-16); margin: 0 var(--spacing-4); }
.hero .block-social-networks .icon:first-child { margin-left: 0; }
.hero .block-social-networks .icon:last-child { margin-right: 0; }
.hero .block-social-networks .icon img { max-width: 1rem; filter: invert(); }

/* communs */
.section-subhead { font-size: var(--font-size-text-xs); margin-top: .5rem; margin-bottom: var(--spacing-32); text-transform: uppercase; }
.section-subhead:before { content: "•"; margin-right: .5rem; color: var(--color-primary-blue); }
.whiteBg { background-color: var(--color-white) !important; }
.yellowBg { background-color: var(--color-secondary-light-yellow) !important; }
.pinkBg { background-color: var(--color-secondary-light-pink) !important; }
.greenBg { background-color: var(--color-secondary-light-green) !important; }
.blueBg { background-color: var(--color-secondary-light-cyan) !important; }
.lilacBg { background-color: var(--color-primary-blue-light) !important; }
.darkBlueBg { background-color: var(--color-primary-blue-dark) !important; }
.lilacBottomSmallGradientBg { background: linear-gradient(to top, var(--color-white), var(--color-primary-blue-light) 8%) !important; }
.lilacGradientBottomBg { background: linear-gradient(to bottom, var(--color-white) 30%, var(--color-primary-blue-light)) !important; }
.lilacGradientBottomBg.x-reflex-object-type-113 { background: linear-gradient(to bottom, var(--color-white), var(--color-primary-blue-light)) !important; }
.lilacBottomBigGradientBg { background: linear-gradient(to bottom, var(--color-white) 8%, var(--color-primary-blue-light)) !important; }
.lilacGradientTopBg { background: linear-gradient(to bottom, var(--color-primary-blue-light), var(--color-white)) !important; }
.lilacGradientTopBg.x-reflex-object-type-113 { background: linear-gradient(to bottom, var(--color-primary-blue-light), var(--color-white) 150%) !important; }
.blueTextureBg { background: url(../img/footer_bg.jpg) top left/cover no-repeat; color: var(--color-white); }
.blueTextureBg h1, .blueTextureBg h2, .blueTextureBg h3, .blueTextureBg h4, .techTextureBg h1, .techTextureBg h2, .techTextureBg h3, .techTextureBg h4 { color: var(--color-white); }
.techTextureBg { background: url(../img/tech_texture_bg.jpg) top left/cover no-repeat; color: var(--color-white); }
.pictureBg { background-size: cover; /*background-position: 0 20%;*/ background-position: center center; overflow: hidden; position: relative; color: var(--color-white); padding: var(--spacing-96) 0 !important; }
.pictureBg > * { position: relative; z-index: 100; }
.pictureBg:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	mask: linear-gradient(to right, black 40%, transparent 60%);
	backdrop-filter: blur(10px);
}
.pictureBg:before {
	position: absolute;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 10;
	background: radial-gradient(at top 50% left 80%, transparent 20%, rgba(0, 0, 0, .9));
}
.bg-findel-primary { background-color: var(--color-findel-primary); }
.bg-findel-secondary { background-color: var(--color-findel-secondary); color: var(--color-white); }

.stripWrapper { width: 100%; overflow: hidden; }
.strip { width: 104%; transform: translateX(-2%); height: 13rem; display: flex; gap: 2rem; }
.strip.strip2 { width: 110%; transform: translateX(-10%); }

.text-gradient { background-image: url("../img/gradient.jpg"); color: transparent; background-size: 150%; background-position: center center; background-repeat: no-repeat; background-clip: text; }
.text-gradient.moving { animation-name: moveBg; animation-duration: 5s; animation-timing-function: linear; animation-direction: alternate; animation-iteration-count: infinite; }
@keyframes moveBg {
   0% { background-position: 0% 50%; }
   25% { background-position: 50% 0%; }
   50% { background-position: 100% 50%; }
   75% { background-position: 50% 100%; }
   100% { background-position: 0% 50%; }
}

/* listes */
ul.list-bullet-check { padding-left: 0; }
ul.list-bullet-check li { list-style-type: none; /*background: url("../icons/bullet_check_blue.svg") no-repeat 0px 0px;*/ padding: 0px 0px 1rem 2.4rem !important; position: relative; }
ul.list-bullet-check li:before { display: inline-block; content: url(/medias/icons/feather/check_white.svg); background-color: var(--color-primary-blue); width: 2rem; height: 2rem; padding-left: .4rem; padding-top: .25rem; border-radius: var(--radius-md); position: absolute; left: 0; top: -.2rem; }
ul.list-bullet-check li:last-child { padding: 0px 0px 0px 2.4rem !important; }

ul.list-check { padding-left: 0; }
ul.list-check li { list-style-type: none; background: url("../icons/feather/check.svg") no-repeat 0px 0px; padding: 0px 0px 1rem 2rem !important; }

/* formes */
.shape-world, .shape-round, .shape-pill, .shape-shortpill, .shape-halfpill, .shape-square { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.shape-world {
	mask-image: url("../img/shape_world.svg");
	mask-size: 100% 100%;
	mask-clip: content-box;
	mask-position: center center;
	mask-repeat: no-repeat;
	height: 100%;
	aspect-ratio: 1.3 / 1;
}
.imgBg { background-size: cover; background-position: center center; background-repeat: no-repeat; }
.shape-round { border-radius: var(--radius-circle); height: 100%; aspect-ratio: 1 / 1; }
.shape-pill { border-radius: var(--radius-circle); height: 100%; aspect-ratio: 2.5 / 1; }
.shape-shortpill { border-radius: var(--radius-circle); height: 100%; aspect-ratio: 1.8 / 1; }
.shape-halfpill { border-top-right-radius: var(--radius-circle); border-bottom-right-radius: var(--radius-circle); height: 100%; aspect-ratio: 1.5 / 1; }
.scenery-right .shape-halfpill { border-top-left-radius: var(--radius-circle); border-bottom-left-radius: var(--radius-circle); border-top-right-radius: initial; border-bottom-right-radius: initial; }
.shape-square { border-radius: var(--radius-l); height: 100%; aspect-ratio: 1 / 1; }
.shape-rect { border-radius: var(--radius-l); height: 100%; aspect-ratio: 1.3 / 1; }
.shape-vertical-rect { border-radius: var(--radius-l); height: 100%; }
.no-shape { height: 100%; width: 100%; aspect-ratio: 1.3 / 1; }
.no-shape.imgBg { background-size: contain; }
.grid-with-shapes .shape-world, .grid-with-shapes .shape-round { height: initial; }
.gradientBg { background-image: url("../img/gradient.jpg"); background-size: auto; background-position: center center; background-repeat: no-repeat; }
.block.gradientBg { background-size: 200%; }
.large-block { border-radius: var(--radius-2xl); padding: var(--spacing-32); font-size: var(--font-size-text-md); position: relative; z-index: 10; }
.large-block.gradientBg { background-size: 200%; background-position: left center; gap: 2rem; }
.large-block .logo { width: 12rem; }
.large-block .small-title { font-size: var(--font-size-text-sm); text-transform: uppercase; margin-bottom: var(--spacing-24); }
.large-block .small-title img { filter: invert(); max-height: 1rem; }
.large-block.grid { display: flex; }
.large-block.grid > div { border-left: 1px solid rgba(255, 255, 255, .2); padding: 0 2rem; flex: 1 1 0px; }
.large-block.grid > div:first-child { border-left: none; }

.logo-small-wrapper { background-color: var(--color-white); color: var(--color-primary-blue-dark); font-size: var(--font-size-text-xs); padding: var(--spacing-16); border-radius: var(--radius-sm); display: flex; flex-direction: column; align-items: center; justify-content: start; text-align: center; }
.logo-small-wrapper .logo-small { max-height: 5rem; max-width: 8rem; }
.large-block .logo-small, footer .logo-small { max-height: 2.5rem; max-width: 8rem; }
.block .logo-small-wrapper h3 { font-size: var(--font-size-display-xxs); margin: var(--spacing-16) 0 0; }
.block .logo-small-wrapper p { margin: var(--spacing-16) 0 0; }


/* blocs */
.block { padding: var(--spacing-64) 0; background-color: var(--color-white); overflow-x: hidden; }
.block.pictureBg { min-height: max(70vh, 600px); display: flex; flex-direction: column; justify-content: center; }
.block h2 { font-size: var(--font-size-display-md); font-weight: var(--font-weight-black); }
.tem-52 .block.x-reflex-object-type-100 h2 { font-size: var(--font-size-display-sm); } /* spécifique intro pages filiales */
.block h2.bigger { font-size: var(--font-size-display-2xl); margin-bottom: var(--spacing-64); }
.block h3 { font-size: var(--font-size-display-xs); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-20); }
.block h4 { font-size: var(--font-size-display-xs); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-10); }
.block.bottomRound { border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); }
.block.pictureBg h2 { color: var(--color-white); }
.block.brandColor, .block.brandColor h1, .block.brandColor h2, .block.brandColor h3 { color: var(--color-white); }
.roundedBottom { width: 100%; border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); height: var(--radius-big); position: absolute; top: 0; z-index: 100; }
.roundedBottom.whiteBg { background-color: var(--color-white); }
.roundedCorners { border-bottom-left-radius: var(--radius-big); border-bottom-right-radius: var(--radius-big); }
.content p { line-height: var(--line-height-lg); }
.content h2 { margin-bottom: var(--spacing-32); }
.content p { margin-bottom: var(--spacing-24); }
.block ul:not(.sliding-button, .timeline-vertical, .menu, .carousel-arrows-wrapper) { list-style-type: "·"; }
.block ul:not(.sliding-button, .timeline-vertical, .menu, .carousel-arrows-wrapper) li { padding-left: .5rem; }

.title-with-teaser .col:first-child { padding-right: var(--spacing-32); }
.title-with-teaser .col:last-child { padding-left: var(--spacing-32); }

.block.two-texts .left-col { padding-right: calc(var(--bs-gutter-x) * 2); }
.block.two-texts .right-col { padding-left: calc(var(--bs-gutter-x) * 2); }
.block.two-texts .icon { width: 4rem; margin-right: var(--spacing-24); transform: translateY(-.5rem); }


/* elements */
.large-pill { border-radius: var(--radius-circle); padding: var(--spacing-16); display: flex; align-items: center; background-color: var(--color-white); color: var(--color-primary-blue-dark); }
.large-pill .text { font-size: var(--font-size-text-lg); margin-left: var(--spacing-80); margin-right: var(--spacing-64); flex-grow: 1; }
.large-pill.pill2 .text { margin-left: var(--spacing-64); margin-right: var(--spacing-80); }
.large-pill .text p { margin-bottom: var(--spacing-32); }
.large-pill .pict { border-radius: var(--radius-circle); min-width: 360px; min-height: 240px; background-size: cover; background-repeat: no-repeat; background-position: center center; }
.large-pill .portrait { aspect-ratio: 1 / 1; flex: 1 0 auto; height: 100%; width: 20%; max-width: 20%; border-radius: var(--radius-circle); background-size: cover; background-repeat: no-repeat; background-position: center center; }
.large-pill.quotation p { font-style: italic; }
.quotation .icon-quote { color: var(--color-secondary-yellow); }
.divider { display: flex; align-items: center; }
.divider .line { border-bottom: 1px solid var(--color-primary-blue-light-dark); flex-grow: 1; margin-right: var(--spacing-16); }
.divider.left-quote .line { margin-right: initial; margin-left: var(--spacing-16); }
.divider img { flex-grow: 0; }
.ruler { border-bottom: 1px solid var(--color-primary-blue-light-dark); margin: var(--spacing-32) 0; height: 1px; }

.large-pill2 { border-radius: var(--radius-circle); position: relative; }
.large-pill2 .inner { border: 1px solid red; position: relative; z-index: 1; margin: 3px; border-radius: var(--radius-circle); padding: var(--spacing-16); /*background-color: var(--color-white);*/ background-color: lime; display: flex; align-items: center; }
.large-pill2 .inner .text { font-size: var(--font-size-text-lg); margin-left: var(--spacing-64); margin-right: var(--spacing-64); }
.large-pill2 .inner .text p { margin-bottom: var(--spacing-32); font-style: italic; }
.large-pill2 .inner .portrait { aspect-ratio: 1 / 1; flex: 1 0 auto; width: 20%; border-radius: var(--radius-circle); background-size: cover; background-repeat: no-repeat; background-position: center center; }

.large-pill3 { border-radius: var(--radius-circle); position: relative; width: 100%; min-height: 100px; overflow: hidden; }
.large-pill3:after {
	content: "";
	position: absolute;
	width: 100%; height: 100%;
	top: 100%; left: -100%;
	/*translate: -100% 100%;*/
	background-image: linear-gradient(90deg, #FF784C, #A650F6, #3D67FF, #ED719D, #EE8263);
	z-index: 0;
	/*rotate: -45deg;*/
}
.large-pill3:hover:after { animation: .5s slideBorder linear forwards; }
.large-pill3 .inner { border-radius: var(--radius-circle); background-color: var(--color-white); width: calc(100% - 6px); height: calc(100% - 6px); margin: 3px; z-index: 10; border: 0px solid red; position: relative; padding: var(--spacing-16); display: flex; align-items: center; }
.large-pill3 .inner .text { font-size: var(--font-size-text-lg); margin-left: var(--spacing-64); margin-right: var(--spacing-64); }
.large-pill3 .inner .text p { margin-bottom: var(--spacing-32); font-style: italic; }
.large-pill3 .inner .portrait { aspect-ratio: 1 / 1; flex: 1 0 auto; width: 20%; border-radius: var(--radius-circle); background-size: cover; background-repeat: no-repeat; background-position: center center; }


/* grid */
.grid-2-2 { display: grid; grid-template: auto 1fr / auto 1fr; }


/* chiffres */
.figure-wrapper .figure { font-family: var(--font-inter-tight); font-size: var(--font-size-display-xl); font-weight: var(--font-weight-bold); }
.figure-wrapper p { font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); line-height: var(--line-height-display-sm); }


/* video Youtube */
.youtube-container { display: flex; justify-content: center; }
.youtube-container iframe { aspect-ratio: 16 / 9; width: 100% !important; border-radius: var(--radius-md); }


/* hero Nous rejoindre */
.hero-nous-rejoindre { width: 100%; padding: 0; } /* padding: var(--spacing-64) 0; */
.hero-nous-rejoindre .hero-row { display: flex; justify-content: space-between; height: 13rem; margin-bottom: 4rem; }
.hero-nous-rejoindre .hero-row:last-child { margin-bottom: 0; }
.hero-nous-rejoindre .headline-centered { font-family: var(--font-inter-tight); font-size: var(--font-size-display-xl); font-weight: var(--font-weight-black); text-align: center; line-height: 6rem; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; }
.hero-nous-rejoindre .sub-headline { font-size: var(--font-size-display-md); line-height: var(--font-size-display-md); margin-top: var(--spacing-24); }
.hero-nous-rejoindre .big-headline { font-size: 8rem; margin-top: var(--spacing-24); }
.hero-nous-rejoindre .logo-gptw {
	mask-image: url("../img/logo_GPTW.svg");
	mask-size: 100% 100%;
	mask-clip: content-box;
	mask-position: center center;
	mask-repeat: no-repeat;
	height: 100%;
	aspect-ratio: 1 / 1;
}
.hero-nous-rejoindre .headline-centered.logo-wrapper .logo { z-index: 10; opacity: 0; animation: 3s .5s 1 forwards animLogo; width: 300px; }
.hero-nous-rejoindre .headline-centered.logo-wrapper .big-headline { position: absolute; margin: 0; top: 25px; }
.hero-nous-rejoindre .headline-centered.logo-wrapper .headline-wrapper { position: relative; }
.hero-nous-rejoindre .headline-centered.logo-wrapper .big-headline .we { position: absolute; transform: translate(calc(-100% - 100px), 0%); opacity: 0; animation: 3s .5s 1 forwards animWe; }
.hero-nous-rejoindre .headline-centered.logo-wrapper .big-headline .are { position: absolute; transform: translate(60px, 0%); opacity: 0; animation: 3s .5s 1 forwards animAre; }
@keyframes animLogo {
	from { opacity: 0; transform: scale(1.8); }
	to { opacity: 1; transform: scale(1); }
}
@keyframes animWe {
	from { opacity: 0; letter-spacing: 1rem; transform: translate(calc(-100% - 100px), 0%); }
	to { opacity: 1; letter-spacing: 0; transform: translate(calc(-100% - 60px), 0%); }
}
@keyframes animAre {
	from { opacity: 0; letter-spacing: 1rem; transform: translate(100px, 0%); }
	to { opacity: 1; letter-spacing: 0; transform: translate(60px, 0%); }
}

/* hero annonce emploi */
.hero-vacancy { width: 100%; position: relative; text-align: center; min-height: 13rem; }
.hero-vacancy .hero-content { padding: var(--spacing-64) 0; }
.hero-vacancy .shapes-left { left: -120px; position: absolute; display: flex; gap: 2rem; height: 13rem; }
.hero-vacancy .shapes-right { right: -120px; position: absolute; display: flex; gap: 2rem; height: 13rem; }
.hero-vacancy .title { height: 13rem; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.hero-vacancy .title h1 { font-family: var(--font-inter-tight); font-size: var(--font-size-display-lg); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-32); }
.hero-vacancy .title .logo { text-align: center; width: 10rem; margin-bottom: var(--spacing-16); }
.hero-vacancy .title .logo img { width: 100%; }
.hero-vacancy .title .tag, .article-full .content .tag { display: inline-block; font-family: var(--font-inter); font-size: var(--font-size-text-sm); font-weight: var(--font-weight-bold); background-color: var(--color-primary-blue-light); color: var(--color-primary-blue-dark); padding: var(--spacing-4) var(--spacing-8); border-radius: var(--radius-xs); }
.vacancy-content { padding: var(--spacing-64) var(--spacing-32); color: var(--color-primary-blue-dark); position: relative; }
.vacancy-content h2 { color: var(--color-primary-blue-dark); font-family: var(--font-inter-tight); font-size: var(--font-size-display-md); font-weight: var(--font-weight-black); margin: 2rem 0 1rem; }
.vacancy-content h2:first-child { margin-top: 0; }
.vacancy-content * { z-index: 10; position: relative; }
.vacancy-content:after { content: ""; width: 100vw; height: 100%; position: absolute; z-index: 0; right: 0; top: 0; background-color: var(--color-white); border-top-right-radius: var(--radius-2xl); border-bottom-right-radius: var(--radius-2xl); }
.vacancy-details { border-radius: var(--radius-2xl); padding: var(--spacing-32); background-image: url("../img/gradient.jpg"); background-size: 500%; background-position: 30% 10%; background-repeat: no-repeat; color: var(--color-primary-blue-dark); font-size: var(--font-size-text-md); }
.vacancy-details > div { margin-bottom: var(--spacing-16); }
.vacancy-details > div:last-child { margin-bottom: 0; }
.vacancy-details .icon { margin-right: .5rem; margin-bottom: .3rem; width: 1.25rem; }
.vacancy-details .label { font-weight: var(--font-weight-bold); }


/* icone souris découvrir avec bordure gradient */
@property --angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.hero-mouse-button { display: inline-flex; align-items: center; color: var(--color-white); text-decoration: none; width: fit-content; }
.hero-mouse-button .text { font-size: var(--font-size-text-sm); margin: 0 1rem; }
.icon-mouse {
	display: flex; justify-content: center; align-items: center;
	border-radius: var(--radius-big);
	width: 5rem; height: 5rem;
	border: 1px solid rgba(255, 255, 255, .3);
	position: relative;
}
.hero-mouse-button:hover .icon-mouse::after, .icon-mouse:hover::after {
	position: absolute;
	top: -2px; left: -2px;
	left: -2px; right: -2px;
	width: cacl(100% + 4px); height: calc(100% + 4px);
	mask: url(../img/circle_mask.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	background-image: conic-gradient(from var(--angle), transparent 50%, #FF784C, #A650F6, #3D67FF);
	content: '';
	z-index: 1;
	animation: 2s spinBorder linear infinite;
}
@keyframes spinBorder {
	from { --angle: 0deg; }
	to { --angle: 360deg; }
}


/* offres d'emploi */
a.vacancy-teaser-link { text-decoration: none; }
.vacancy-teaser { background-color: var(--color-white); border-radius: calc(var(--radius-xl) + 3px); margin-bottom: var(--spacing-16); cursor: pointer; color: var(--color-primary-blue-dark); }
.vacancy-teaser .inner {
	background-color: var(--color-white);
	width: calc(100% - 6px); height: calc(100% - 6px);
	margin: 3px;
	padding: var(--spacing-16);
	border-radius: var(--radius-xl);
	position: relative;
	z-index: 10;
	display: flex; align-items: stretch;
	gap: var(--spacing-32);
}
.vacancy-teaser .inner .pict { border-radius: var(--radius-l); width: 20%; background-size: cover; background-position: center; }
.vacancy-teaser .inner h3 { margin-bottom: var(--spacing-32); }
.vacancy-teaser .inner .service { background-color: var(--color-primary-blue-light); color: var(--color-primary-blue-dark); border-radius: var(--radius-sm); font-size: var(--font-size-text-sm); padding: var(--spacing-2) var(--spacing-8); }
.vacancy-teaser .inner .date { font-size: var(--font-size-text-md); }
.vacancy-teaser .inner .flag { width: 1.5rem; margin-right: var(--spacing-8); }
.vacancy-teaser .inner .icon-more { width: 3rem; height: 3rem; padding: .5rem; background: var(--color-primary-blue-light); border-radius: 1.5rem; position: relative; transition: .3s all; }
.vacancy-teaser .inner .icon-more:before { content: url("../icons/feather/chevron-right.svg"); position: absolute; top: 50%; left: 50%; transform: translate(-52%, -42%); }
.vacancy-teaser:hover .inner .icon-more { background-color: var(--color-primary-blue) !important; }
.vacancy-teaser:hover .inner .icon-more:before { filter: invert(); }
.vacancy-teaser .service-date { display: flex; margin-bottom: var(--spacing-32); }
.filters-bar { padding: var(--spacing-32) 0; background-color: var(--color-primary-blue-light); }
.filters-bar.light { padding: var(--spacing-16) 0; }
.filters-bar.whiteBg { background-color: var(--color-white); }
.filters-bar-wrapper { display: flex; align-items: center; gap: var(--spacing-24); }
.vacancies-list { height: 80vh; overflow-y: scroll; }
.vacancies-list::-webkit-scrollbar { width: 3px; }
.vacancies-list::-webkit-scrollbar-track { background: #CBD3FF; }
.vacancies-list::-webkit-scrollbar-thumb { background: var(--color-primary-blue); }
.vacancies-list::-webkit-scrollbar-thumb:hover { background: var(--color-primary-blue); }
.vacancies-count { font-size: var(--font-size-display-xs); font-weight: var(--font-weight-black); margin: var(--spacing-24) 0; }
.vacancies-list-paginated { margin-bottom: 2rem; }
.vacancies-list-paginated .vacancy-teaser .inner .icon-more { background-color: var(--color-white); }
/* spécifique template filiale */
.tem-52 .vacancies-list { height: initial; overflow: initial; max-height: 600px; overflow-y: auto; }
.tem-52 .vacancies-list .vacancy-teaser-link:last-child .vacancy-teaser { margin-bottom: 0; }
.tem-52 .vacancy-teaser .inner h3, .tem-52 .vacancy-teaser .service-date { margin-bottom: var(--spacing-16); }
.tem-52 .vacancy-teaser .inner .pict { width: 30%; }
/* témoignages */
.testimonials-list-paginated { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--spacing-16); }
/* actus */
.filters-bar label, .form-check-label { font-size: var(--font-size-text-sm); }
.form-check-inline { margin-right: 0rem; }
.ruler-right { padding-right: var(--spacing-10); border-right: 1px solid var(--color-primary-blue-light-dark); }


/* actualité & portrait */
body.tem-7 { background-color: var(--color-white); }
.article-full, .portrait-full { width: 100%; }
.article-full .hero, .portrait-full .hero { z-index: -1; position: absolute; width: 100%; }
.article-full .hero .image-container, .portrait-full .hero .image-container { height: initial; min-height: 70vh; }
.article-full .hero .image-container::before { background: linear-gradient(to bottom, rgba(0, 0, 0, .3) 30%, transparent 70%); }
.portrait-full .hero .image-container::before { background: none; box-shadow: none; }
.article-full .hero .image-container::after { mask: none; filter: none; }
.portrait-full .hero .image-container::after { mask: none; backdrop-filter: none; }
.article-full .hero .image-container img { filter: blur(10px) brightness(.8) contrast(120%); }
.article-full .content, .portrait-full .content { z-index: 100; }
.article-full .content .picture, .portrait-full .content .picture { background-size: cover; border-radius: var(--radius-l); width: 100%; aspect-ratio: 2 / 1; position: relative; }
.portrait-full .content .picture { display: flex; align-items: end; padding: var(--spacing-64); }
.article-full .content h1 { color: var(--color-white); font-size: var(--font-size-display-lg); font-weight: var(--font-weight-black); text-align: center; margin-top: var(--spacing-24); margin-bottom: var(--spacing-24); }
.article-full .content .date, .article-full .content .reading-time { color: var(--color-white); font-size: var(--font-size-text-sm); text-align: center; margin-bottom: var(--spacing-24); margin-left: var(--spacing-16); margin-right: var(--spacing-16); }
.article-full .content .reading-time { padding-left: 1.5rem; position: relative; }
.article-full .content .reading-time:before { content: ""; background-size: 16px 16px; background-image: url('/medias/icons/feather/clock.svg'); background-repeat: no-repeat; filter: invert(); width: 16px; height: 16px; display: inline-block; position: absolute; left: 0; top: 2px; }
.article-full .content .header { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.article-full .content .text, .portrait-full .content .text { padding-top: var(--spacing-32); padding-bottom: var(--spacing-64); }
.article-full .content .text h3, .portrait-full .content .text h3 { font-family: var(--font-inter-tight); font-size: var(--font-size-display-md); font-weight: var(--font-weight-black); color: var(--color-primary-blue-dark) !important; margin-bottom: var(--spacing-24) }
.article-full .content .text h3 *, .portrait-full .content .text h3 * { color: inherit !important; }
body.tem-13 { background-color: var(--color-white); }
.portrait-full .content .picture .identity { color: var(--color-white); }
.portrait-full .content .picture .identity h1 { color: var(--color-white); font-family: var(--font-inter-tight); font-size: var(--font-size-display-xl); font-weight: var(--font-weight-black); }
.portrait-full .content .picture .identity .subtitle { font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); }
.portrait-full .content .picture .identity .quote { margin-bottom: var(--spacing-16); }

/* Map Europe */
.map-container { width: 100%; height: 100%; }
.map-container iframe { width: 100%; height: 100%; border: 0; border-radius: var(--radius-xl); }
.gradientMapBg { background-image: url("../img/gradient.jpg"); background-size: 200%; background-position: 5% 10%; background-repeat: no-repeat; }
#block-map-homepage { height: 860px; padding: 0; position: relative; overflow: hidden; }
#block-map-homepage .container { height: 100%; display: flex; align-items: center; z-index: 100; }
#planet-wrapper { position: absolute; left: 52%; top: -100%; position: relative; height: 100%; width: 100%; }
#map-planet { position: absolute; left: 0px; top: 0; z-index: 1; height: 100%; transition: .5s all ease-in-out; }
#map-planet.zoom-in { transform: scale(1.1) translateY(30px); }
#map-europe { height: 100%; transform: translate(140px, -80px); transition: .5s all ease-in-out; }
#map-europe-wrapper { position: absolute; left: 10px; z-index: 1; height: 100%; mask-image: url(/medias/img/mask_europe.svg); mask-size: 86%; /*background-color: rgba(255, 0, 0, .5);*/ transition: .5s all ease-in-out;  }
#map-europe-wrapper.zoom-in { transform: scale(1.1) translateY(30px); left: 20px; }
.map-link { cursor: pointer; }
.subsidiaries-details { display: none; }
.map-subsidiary-popover { display: flex; flex-direction: column; gap: var(--spacing-4); font-size: var(--font-size-text-md); }
.map-subsidiary-popover h3 { font-size: var(--font-size-display-xs); font-weight: var(--font-weight-black); }
.map-subsidiary-popover .icon { width: 20px; height: 20px; }

/* fil d'Ariane */
#breadcrumb { position: absolute; z-index: 10; margin: var(--spacing-32) 0; width: 100%; }
.breadcrumb { margin: 0 var(--spacing-64); font-size: var(--font-size-text-sm); }
.breadcrumb .icon-home { height: 18px; transform: translateY(-2px); }
.breadcrumb a { color: var(--color-white); text-decoration: none; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--color-white); }
#breadcrumb.color-dark a, #breadcrumb.color-dark .breadcrumb-item + .breadcrumb-item::before { color: var(--color-blue-dark); }


/* recherche */
.hero .hero-content .search-form-wrapper { margin-top: var(--spacing-80); margin-bottom: var(--spacing-80); color: var(--color-primary-blue-dark); text-align: left; }
.hero .hero-content .search-form-wrapper h1 { color: var(--color-primary-blue-dark) !important; font-size: var(--font-size-display-lg); margin-bottom: var(--spacing-32); }
.search-form-wrapper .input-wrapper { position: relative; width: 100%; }
.search-form-wrapper #search-input {
	width: 100%;
	box-sizing: border-box;
	background-color: var(--color-white);
	border-radius: var(--radius-l);
	border-width: 0;
	padding: .5rem 3.5rem;
}
.search-form-wrapper #search-input::placeholder { color: var(--color-primary-blue-dark); opacity: .5; }
.search-form-wrapper .icon-reset { position: absolute; top: 50%; transform: translateY(-50%); left: .3rem; background-color: var(--color-primary-blue-light); height: calc(100% - .5rem); aspect-ratio: 1 / 1; border-radius: var(--radius-circle); cursor: pointer; }
.search-form-wrapper .icon-reset:before, .search-form-wrapper .icon-search:before { content: url("../icons/feather/x.svg"); line-height: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.search-form-wrapper .icon-search { position: absolute; top: 50%; transform: translateY(-50%); right: .3rem; background-color: var(--color-primary-blue); height: calc(100% - .5rem); aspect-ratio: 1 / 1; border-radius: var(--radius-circle); cursor: pointer; }
.search-form-wrapper .icon-search:before { content: url("../icons/magnifier.svg"); }
.block-search-results .search-results-remind { font-family: var(--font-inter-tight); font-size: var(--font-size-display-sm); font-weight: var(--font-weight-medium); margin-bottom: var(--spacing-32); }
.block-search-results .search-results-remind .keywords { color: var(--color-primary-blue); font-weight: var(--font-weight-black); }

.article-teaser-search { border-bottom: 1px solid var(--color-primary-blue-light-dark); padding-bottom: var(--spacing-24); margin-bottom: var(--spacing-24); }
.article-teaser-search a, .article-teaser-search a * { text-decoration: none; color: var(--color-primary-blue-dark); }
.article-teaser-search .pict { border-radius: var(--radius-l); background-size: cover; background-position: center; width: 100%; aspect-ratio: 16 / 9; }
.article-teaser-search .tag { font-family: var(--font-inter); font-size: var(--font-size-text-sm); font-weight: var(--font-weight-bold); background-color: var(--color-primary-blue-light); color: var(--color-primary-blue-dark); padding: var(--spacing-4) var(--spacing-8); border-radius: var(--radius-xs); margin-right: var(--spacing-8); }
.article-teaser-search .date { font-size: var(--font-size-text-sm); }
.article-teaser-search h3 { margin: var(--spacing-16) 0; font-family: var(--font-inter-tight); font-size: var(--font-size-text-xl); font-weight: var(--font-weight-black); }
.article-teaser-search .teaser { font-size: var(--font-size-text-md); }

/* modal recherche */
#modal-search { backdrop-filter: blur(1rem); }
#modal-search .modal-content { border-radius: var(--radius-l); color: var(--color-primary-blue-dark);  }
#modal-search .modal-body { background-image: url("../img/modal_search_bg.jpg"); background-size: cover; background-position: center center; background-repeat: no-repeat; border-radius: var(--radius-l); padding: var(--spacing-32); }
#modal-search .modal-body .title { font-family: var(--font-inter); font-size: var(--font-size-text-lg); font-weight: var(--font-weight-black); margin-bottom: var(--spacing-16); }
#modal-search .btn-close { float: right; width: .5rem; height: .5rem; }
#modal-search .search-form-wrapper #search-input { padding: .5rem 3.5rem .5rem 1rem; }
.modal-backdrop.show { backdrop-filter: blur(2rem); }

/* logos */
.logos .thumbnail {
	padding: 1rem; background-color: #FFFFFF;
	border-radius: calc(var(--radius-l));
	/*-webkit-box-shadow: 0px 0px 10px 0px rgba(6,33,46,0.2);
	-moz-box-shadow: 0px 0px 10px 0px rgba(6,33,46,0.2);
	box-shadow: 0px 0px 10px 0px rgba(6,33,46,0.2);*/
	height: 100%;
}
.logos .row { margin-bottom: 30px; }
.logos > .row.equal-height .thumbnail, .row.equal-height > [class*="col-"] > .thumbnail > .caption {
	align-items: center;
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	justify-content: center;
}
.logos > .row.equal-height .thumbnail { min-height: 200px; }
.thumbnail .logo { max-width: 140px; }
.logos .thumbnail a { display: flex; align-items: center; justify-content: center; }


/* 404 */
.page404 .scene { width: 100%; height: 100vh; display: flex; flex-direction: column; align-items: center; padding: 5rem; }
.page404 .scene #logo { width: 14rem; }
.page404 .scene .figure { font-size: 14rem; font-family: var(--font-inter); font-weight: var(--font-weight-black); }
.page404 .scene .text { font-size: var(--font-size-display-sm); margin: 0 4rem 2rem 4rem; white-space: nowrap; }


/* admin */
.article.cke_editable { background: var(--color-white); }
body.admin .x-reflex-object-type-100, body.admin .x-reflex-object-type-101, body.admin .x-reflex-object-type-107, body.admin .x-reflex-object-type-127, body.admin .x-reflex-object-type-130 { top: 0px; transition: all 0.3s ease-in-out; }
body.admin .x-reflex-object-type-100:hover, body.admin .x-reflex-object-type-101:hover, body.admin .x-reflex-object-type-107:hover, body.admin .x-reflex-object-type-127:hover, body.admin .x-reflex-object-type-130:hover { top: 100px; z-index: 100000 !important; }


/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 768px) {
	/*html { font-size: 62.5%; }*/
	:root {
		--font-size-display-2xl: 3.75rem;
		--font-size-display-xl: 3rem;
		--font-size-display-lg: 2.25rem;
		--font-size-display-md: 1.5rem;
		--font-size-display-sm: 1.25rem;
		--font-size-display-xs: 1rem;
		--font-size-display-xxs: 1rem;

		--font-size-text-xl: 1.125rem;
		--font-size-text-lg: 1rem;
		--font-size-text-md: 0.875rem;
		--font-size-text-sm: 1rem;
		--font-size-text-xs: 0.75rem;

		--line-height-xl: 1.75rem;
		--line-height-lg: 1.5rem;
		--line-height-md: 1.25rem;
		--line-height-sm: 1.125rem;
		--line-height-xs: 1.125rem;
		--line-height-display-2xl: 4.5rem;
		--line-height-display-xl: 3.75rem;
		--line-height-display-lg: 2.75rem;
		--line-height-display-md: 2.375rem;
		--line-height-display-sm: 2rem;
		--line-height-display-xs: 2rem;

		--radius-xs: .25rem;
		--radius-sm: .5rem;
		--radius-md: 1rem;
		--radius-l: 1rem;
		--radius-xl: 1.5rem;
		--radius-2xl: 2rem;
		--radius-big: 2.5rem;
		--radius-circle: 1000px;
	}

	header .nav-bar { padding: var(--spacing-10); }
	header .link-search { border-left: none; }

	.mt-64 { margin-top: var(--spacing-32) !important; }
	.mb-64 { margin-bottom: var(--spacing-32) !important; }
	.mt-32 { margin-top: var(--spacing-16) !important; }
	.mb-32 { margin-bottom: var(--spacing-16) !important; }

/*	.hero .image-container { background: url(../img/footer_bg.jpg) top left/cover no-repeat !important; }
	.hero .video-container, .hero .image-container { height: 100% !important; }*/
	.hero-animated .hero-content { padding: var(--spacing-48) 0; }
	.hero-animated .hero-content h1 { font-size: var(--font-size-display-sm); }
	.hero .hero-content .baseline, .hero .hero-content h1 { font-size: var(--font-size-display-lg); line-height: var(--line-height-display-lg); }
	.hero-animated .hero-content .baseline { font-size: var(--font-size-display-xl); line-height: var(--line-height-display-xl); }
	.hero-animated .hero-animated-video { width: 90vw; }
	.large-pill { border-top-left-radius: 7rem; border-top-right-radius: 7rem; border-bottom-left-radius: var(--radius-2xl); border-bottom-right-radius: var(--radius-2xl); flex-direction: column-reverse; }
	.large-pill.pill2 { flex-direction: column; }
	.large-pill .text, .large-pill.pill2 .text { margin: var(--spacing-16) 0 0 0; width: 100%; }
	.large-pill .text p { margin-bottom: var(--spacing-16); }
	.large-pill .pict, .large-pill .portrait { width: 100%; min-width: initial; min-height: 200px; border-radius: 8rem; aspect-ratio: initial; max-width: initial; }
	.large-pill .icon-quote { display: none; }
	#news-block-carousel-title .ms-auto, .title-with-right-cta .ms-auto { margin-left: 0 !important; }
	footer .logo, .large-block .logo { max-width: 200px; }
	footer .logos, .large-block .logos { gap: var(--spacing-24); justify-content: center !important; }
	footer .socials-networks { margin: var(--spacing-32) 0 0 0 !important; }
	footer .bottom-bar { display: flex; flex-direction: column; align-items: flex-start !important; }
	footer .bottom-bar ul { flex-direction: column; }
	footer .bottom-bar > div { margin-left: 0 !important; }
	footer .bottom-bar ul li { padding: .3rem 0; }
	.breadcrumb { font-size: var(--font-size-text-xs); margin: 0 var(--spacing-32); }

	.hero .image-container img { width: initial; left: -25%; transform: translate(-50%, -50%); }
	.hero .image-container::before { background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent 50%); }
	.hero .image-container::after { mask: linear-gradient(to top, black, transparent 50%); }
	.hero .hero-content.half { width: 100%; padding: 0 var(--spacing-32) var(--spacing-32) var(--spacing-32); justify-content: flex-end; }
	.hero.with-large-block { padding-bottom: var(--spacing-16); }
	.hero.with-large-block .hero-content { margin: 0; height: 100vh; }
	.hero.with-large-block .logo { max-width: 120px; max-height: 120px; }
	.hero.with-large-block .large-block { margin: 0 var(--spacing-16) !important; flex-direction: column; gap: var(--spacing-16); padding: var(--spacing-24); border-bottom-left-radius: calc(var(--radius-big) - .5rem) !important; border-bottom-right-radius: calc(var(--radius-big) - .5rem) !important; }
	.large-block.grid > div { border: none; padding: 0; }
	.hero.with-large-block .large-block .small-title { margin-bottom: var(--spacing-8); }
	.hero.with-large-block .large-block .t-black { font-weight: var(--font-weight-bold); }

	.content p { margin-bottom: var(--spacing-16); }
	.block { padding: var(--spacing-32) 0; }
	.block.gradientBg { background-size: 400%; }
	.block .content.w-80p { width: 100%; }
	.block h3 { font-size: var(--font-size-display-sm); }
	.block h2.bigger { font-size: var(--font-size-display-xl); margin-bottom: var(--spacing-32); }
	.strip { height: 7rem; gap: 1rem; }

	.large-block .arc { max-width: 100%; }
	.large-block.gradientBg { background-size: 300%; }

	.block.two-texts .left-col { padding-right: initial; }
	.block.two-texts .right-col { padding-left: initial; }
	.x-reflex-object-type-128 .content h2 { margin-bottom: var(--spacing-16); }

	.hero .headline { height: initial; }
	.hero-nous-rejoindre { padding-top: var(--spacing-80); }
	.hero-nous-rejoindre .hero-row { height: 4rem; margin-bottom: 2rem; }
	.hero-nous-rejoindre .hero-row:nth-child(2) { height: initial; }
	.headline-resp-wrapper { margin-left: auto; margin-right: auto; font-family: var(--font-inter-tight); font-size: var(--font-size-display-2xl); font-weight: var(--font-weight-black); height: 100px; }
	.headline-resp-wrapper .logo { height: 100px; z-index: 1000; }
	.headline-resp-wrapper .we { transform: translate(3.2rem, -.5rem); }
	.headline-resp-wrapper .are { transform: translate(-3.2rem, -.5rem); }
	.hero .hero-content.mire { height: initial; }

	.filters-bar-wrapper { flex-direction: column; gap: var(--spacing-8); }
	.filters-bar-wrapper .select-menu, .filters-bar-wrapper .select-menu .btn { width: 100%; }
	.filters-bar-wrapper .select-menu .btn:after { margin-left: auto; }

	.hero .block-social-networks { position: relative; right: initial; bottom: initial; width: fit-content; margin-left: var(--spacing-32); margin-bottom: var(--spacing-16); }
	.hero.x-reflex-object-type-130 .hero-content.half { padding-bottom: var(--spacing-16); }

	/* logos récompenses pages filiales carrières */
	.x-reflex-object-type-131 .d-flex.ml-auto.justify-content-center { flex-wrap: wrap; gap: var(--spacing-16); }

	.testimonials-list-paginated { grid-template-columns: 1fr; }
	.article-full .hero .image-container, .portrait-full .hero .image-container { min-height: 300px; }
	.portrait-full .content .picture { padding: var(--spacing-24); }
	.portrait-full .content .picture .identity h1 { font-size: var(--font-size-display-lg); }

	#formFilter .d-flex { flex-direction: column; }
	#formFilter .filters-bar-wrapper { margin-left: initial !important; align-items: flex-start; display: grid; grid-template-columns: 1fr 1fr; }
	#formFilter .filters-bar-wrapper label { grid-column: 1 / -1; }

	.article-full .content .header * { order: 2; color: var(--color-primary-blue-dark) !important; }
	.article-full .content .header .picture { order: 1; margin-bottom: var(--spacing-16); }
	.article-full .content .reading-time::before { filter: none; }
	.article-full .content h1 { margin: var(--spacing-16) 0; }
	.article-full .content .date, .article-full .content .reading-time { margin-bottom: 0; }
	.article-teaser-search .pict { margin-bottom: var(--spacing-16); }

	.gradientMapBg { background-size: initial; }
	#block-map-homepage { height: initial; padding: var(--spacing-32) 0; }
	#planet-wrapper { display: none; }

	.tem-52 .vacancies-list { max-height: 400px; }
}

/* Large devices (desktops, 992px and up) */
@media (max-width: 992px) {
	:root {
		--font-size-display-2xl: 3rem;
		--font-size-display-xl: 2.5rem;
		--font-size-display-lg: 2rem;
		--font-size-display-md: 1.5rem;
		--font-size-display-sm: 1.25rem;
		--font-size-display-xs: 1rem;
		--font-size-display-xxs: 1rem;

		--font-size-text-xl: 1.125rem;
		--font-size-text-lg: 1rem;
		--font-size-text-md: 0.875rem;
		--font-size-text-sm: 1rem;
		--font-size-text-xs: 0.75rem;

		--line-height-xl: 1.75rem;
		--line-height-lg: 1.5rem;
		--line-height-md: 1.25rem;
		--line-height-sm: 1.125rem;
		--line-height-xs: 1.125rem;
		--line-height-display-2xl: 4.5rem;
		--line-height-display-xl: 3.75rem;
		--line-height-display-lg: 2.75rem;
		--line-height-display-md: 2.375rem;
		--line-height-display-sm: 2rem;
		--line-height-display-xs: 2rem;

		--radius-xs: .25rem;
		--radius-sm: .5rem;
		--radius-md: 1rem;
		--radius-l: 1rem;
		--radius-xl: 1.5rem;
		--radius-2xl: 2rem;
		--radius-big: 2.5rem;
		--radius-circle: 1000px;
	}
	.hero .hero-content .baseline, .hero .hero-content h1, .hero-animated .hero-content .baseline { font-size: var(--font-size-display-xl); }
	.hero .hero-content.half { width: 75%; }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (max-width: 1200px) {

}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {

}