@charset "UTF-8";

@font-face {
	font-family: 'MuseoModerno';
	src: url('../fonts/MuseoModerno-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'MuseoModerno';
	src: url('../fonts/MuseoModerno-dark.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*--------------------------------------------------------------
Reset
--------------------------------------------------------------*/

html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,legend,hr,h1,h2,h3{margin:0;padding:0}button,input,select,textarea{all:unset;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}img,video,svg{display:block;height:auto;max-width:100%;border:0}

/*--------------------------------------------------------------
Vars
--------------------------------------------------------------*/

:root{
	--leading:1rem;

	--white:#fff;
	--blue:#1d6ba1;
	--light_blue:#39afd4;
	--purple:#38357f;
	--dark:#313131;

	--font_default: 'Poppins',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
	--font_heading: 'MuseoModerno',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
}

/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/

html{
	font-size:100%;
	-webkit-text-size-adjust:100%;
}
body{
	position:relative;
	min-height: 100vh;
	text-rendering:optimizeSpeed;
	background:var(--white);
	color:var(--dark);
	font-family:var(--font_default);
	font-size:1rem;
	line-height:1.75;
	overflow-x:hidden;
	word-wrap: break-word;
}
a{
	color:inherit;
	text-underline-offset:.25em;
	text-decoration-color:currentColor;
	text-decoration-thickness: 1px;
}
a:hover,a:focus{
	text-decoration-color:currentColor;
	text-decoration-thickness: 2px;
}
* + :is(figure,h1,h2,h3,p,ul,ol,blockquote,table,.btn,.grid), p+div{margin-top:1.75em}
h1,h2,h3{
	font-family: var(--font_heading);
	color:var(--blue);
	font-weight:700;
	line-height:1.3;
	font-size:2.75rem;
}
h1{line-height: 1}
h2{font-size:2rem}
h3{
	font-size:1.25rem;
	color:var(--light_blue)
}
:not(nav):not(.main-menu) > :is(ul,ol):not([class]), .flex-list{list-style: none}
:not(nav):not(.main-menu) > :is(ul,ol):not([class]) li, .flex-list li{
	color:var(--light_blue);
	padding:.25rem 1rem;
	border:1px solid currentColor;
	border-radius:1.25rem;
}
:not(nav):not(.main-menu) > :is(ul,ol):not([class]) li + li{margin-top:1rem}
nav ul, nav ol{
	list-style: none;
	margin:0
}
em,address,cite{
	font-style:italic;
	position:relative;
	vertical-align:baseline;
}
address{font-style: normal}
abbr{
	text-transform:uppercase;
	letter-spacing:.05em;
}
abbr[title]{
	text-decoration:none;
	border-bottom:1px dotted;
}
summary{cursor: pointer}
sup,sub{
	font-size:.8rem;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}
sup{top:-.5em}
sub{bottom:-.5em}
small{font-size:.8rem;}
blockquote{
	font-style:italic;
	padding-left:1.75rem;
}

/*--------------------------------------------------------------
Forms
--------------------------------------------------------------*/

button, .btn{cursor: pointer}
.btn{
	display:block;
	margin-inline:auto;
	width:100%;
	max-width:40rem;
	text-align: center;
	font-weight: 700;
	color:var(--white);
	background: var(--blue);
	padding:.5rem 1rem;
	text-transform: uppercase;
	border-radius:1.5rem;
	text-decoration: none;
	font-size:1.25rem
}
.bg-purple .btn, .bg-blue .btn{background: var(--light_blue)}
.btn-purple{background: var(--purple)}
input,textarea{
	border:1px solid var(--blue);
	border-radius:1.25rem;
	padding:.25rem 1rem;
	font-family: inherit;
	color:var(--blue);
	width:100%
}
input{text-align: center}

/*--------------------------------------------------------------
Utilities
--------------------------------------------------------------*/

@media (prefers-reduced-motion: no-preference) {
	html:focus-within{scroll-behavior:smooth}
}

:focus:not(:focus-visible){outline:0;}
:focus-visible{
	outline-color: gray;
	outline-offset:5px;
	outline-width: 1px;
	outline-style: dashed;
}
::selection{
	background:var(--purple);
	color:var(--white);
}
.sr,.email{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
}
.sr:focus{
	background-color:var(--red);
	color:var(--white);
	display:block;
	width:auto;
	height:auto;
	top:0;
	left:0;
	padding:.5em 1em;
	text-decoration:none;
	z-index:9;
}

.wrapper{
	max-width:var(--width);
	padding-left:var(--leading);
	padding-right:var(--leading);
	margin-left:auto;
	margin-right:auto;
}

/* Grids */
.grid{display: grid}
.grid,.gap-l{gap:var(--leading)}

/* Text alignments */
.txt-center{text-align: center}
.txt-right{text-align: right}

/* Icon blocks */
.icon-block{
	aspect-ratio:1/1;
	display: flex;
	flex-direction: column;
	gap:1rem;
	justify-content: center;
	align-items: center;
	color:var(--blue);
	text-align: center;
	padding:1rem;
	border:2px solid currentColor;
	border-radius: 1.25rem;
}
.icon-block .complement{
	font-size:.825rem;
	color:var(--dark);
	margin-top:1rem
}

/* Colored backgrounds */
.bg-blue, .bg-light_blue, .bg-purple{padding:1.75rem}
.bg-blue *, .bg-light_blue *, .bg-purple *{color:var(--white)}
.bg-blue li:not(.text-only), .bg-light_blue li:not(.text-only), .bg-purple li:not(.text-only){color:var(--white) !important}
.bg-blue{background: var(--blue);}
.bg-light_blue{background: var(--light_blue);}
.bg-purple{background: var(--purple);}

/* Rounded corners */
.bg-blue, .bg-light_blue, .bg-purple, .content img{border-radius:2.5rem}

/* Borders */
.bordered-columns > *{
	border:1px solid currentColor;
	border-radius: 1.25rem;
	padding:1rem
}

/* Alignments */
.items-align-center > *{
	display:flex;
	flex-direction: column;
	justify-content: center
}

/* Full height images */
.full-height{height:100%}
.full-height img{
	width:100%;
	height:100%;
	object-fit: cover
}

/* Badges */
.badge{
	background: var(--dark);
	color:var(--white);
	border-radius:6px;
	padding:0 .25rem;
	font-weight: 600;
	display: inline-block;
	font-size:.825rem
}
.badge-blue{background: var(--blue)}
.badge-light-blue{background: var(--light_blue)}
.badge-purple{background: var(--purple)}

/* Lists */
.flex-list{
	display: flex;
	flex-wrap: wrap;
	gap:1rem
}

/*--------------------------------------------------------------
Main Header
--------------------------------------------------------------*/

/* Main header container */
.main-header{
	position:relative;
	padding:var(--leading) 0
}
.main-header .wrapper{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;	
}
/* Logo
------------------------*/
.logo{border:none}
.logo svg{height:2rem;}

/* Nav toggle
------------------------*/
.menu-toggle{
	border:none;
	display:inline-flex;
	align-items: center;
	position: relative;
	font-variant: small-caps;
	font-weight: 700;
	font-size:.825rem;
	z-index: 2;
	background: transparent
}
.menu-toggle:hover, .menu-toggle:focus{
	background:var(--white);
	color:var(--blue)
}
.menu-toggle svg{
	fill:var(--blue);
	width:1.4rem;
}
.menu-toggle path{transition:opacity .2s, transform .2s;}
.menu-toggle[aria-expanded=true] path:nth-child(1) {
	transform: rotate(-45deg) translateX(-11px) translateY(-5px);
}
.menu-toggle[aria-expanded=true] path:nth-child(2) {
	opacity: 0;
}
.menu-toggle[aria-expanded=true] path:nth-child(3) {
	transform: rotate(45deg) translateX(4px) translateY(-6px);
}

/* Main menu
------------------------*/
.menu-container{
	position:fixed;
	background:var(--white);
	top:4rem;
	left:0;
	bottom:0;
	right:0;
	z-index:2;
	padding:var(--leading);
	opacity:0;
	transform:scale(.5);
	transform-origin:100% 0;
	pointer-events: none;
	transition:opacity .2s,transform .2s;
	display:flex;
	flex-direction:column;
	justify-content: space-between;
	overflow-y: scroll;
	text-align: center
}
.menu-container form{
	display:flex;
	gap:.5rem;
	justify-content: center
}
.menu-container ul{margin:0}
.menu-container.active{
	opacity:1;
	pointer-events:auto;
	transform:scale(1);
}
.main-menu{
	display: flex;
	flex-direction: column;
	gap:1rem;
}
.main-menu a, .main-menu button{
	display:block;
	border:none;
	text-decoration: none;
	color:var(--blue);
	padding:0 .5rem;
}
.main-menu a:hover, .main-menu a:focus, .main-menu a.active, .main-menu button:hover, .main-menu button:focus{
	color:var(--blue);
	background: transparent
}
.main-menu button{
	display:inline-flex;
	align-items: center;
	gap:.5rem;
	margin:0;
	line-height: 1.75
}
.main-menu button svg{
	stroke:var(--blue);
	height:1rem;
}
.main-menu a.active, .main-menu button.active{
	border:1px solid var(--blue);
	border-radius: 1.5rem
}
.submenu{
	display: none;
	opacity: 0;
	transition: opacity .2s ease;
}
.submenu.active{
	display: block;
	opacity: 1
}

/* Secondary menu
------------------------*/
.secondary-menu{
	order:1
}
.secondary-menu li + li{margin-top: .5rem}
.secondary-menu a{
	display:flex;
	align-items: center;
	text-decoration: none;
	background: var(--blue);
	color:var(--white);
	gap:.5rem;
	padding:.25rem;
	border-radius:1.75rem;
}
.secondary-menu a:hover, .secondary-menu a:focus{background: var(--purple)}
.secondary-menu .icon{
	width:1.5rem;
	height:1.5rem;
	background: var(--white);
	padding:.25rem;
	border-radius:50%;
}
.secondary-menu .icon svg{stroke:var(--blue)}
.secondary-menu a:hover svg, .secondary-menu a:focus svg{stroke:var(--purple)}

/*--------------------------------------------------------------
Page header
--------------------------------------------------------------*/

.page-header{
	background: var(--light_blue);
	border-radius:2.5rem;
	display:grid;
	grid-template-areas: "content";
	align-items: center
}
.page-header > *{grid-area: content}
.page-header picture{position: relative}
.page-header picture:after{
	content:"";
	position: absolute;
	inset:0;
	border-radius:2.5rem;
	background: linear-gradient(to right, #39afda, rgba(56, 53, 127, .15));
}
.page-header h1{
	color:var(--white);
	text-align: center;
	margin:0;
	position: relative
}

/*--------------------------------------------------------------
Main content
--------------------------------------------------------------*/

.content{margin:3rem auto}
.content > * + *{margin-top:3rem}

/*--------------------------------------------------------------
Contact block and home blocks
--------------------------------------------------------------*/

.contact-block, .home-block-1, .home-block-2{
	display:grid;
	grid-template-areas: "content";
	align-items: center
}
.contact-block > *, .home-block-1 > *, .home-block-2 > *{
	grid-area: content;
	position:relative
}
.contact-block picture:after, .home-block-2 picture:after{
	content:"";
	position: absolute;
	inset:0;
	border-radius:2.5rem;
	background: linear-gradient(to left, rgba(29, 107, 161, 0.61), rgba(57, 175, 212, 0.09));
}
.contact-block div, .home-block-1 h2, .home-block-2 h2{
	padding:var(--leading);
	margin:0
}
.contact-block h2, .home-block-1 h2, .home-block-2 h2{
	font-size:2rem;
	color:var(--white)
}

/*--------------------------------------------------------------
Main footer
--------------------------------------------------------------*/

.main-footer{
	background: var(--blue);
	color:var(--white);
	border-radius: 3rem 3rem 0 0;
	padding-top:3rem;
	padding-bottom:3rem;
	display:grid;
	gap:3rem;
	text-align: center;
}
.main-footer strong{
	font-family: var(--font_heading);
	display:inline-block;
	margin-bottom: .5rem
}
.main-footer a{
	text-decoration: none;
	position:relative;
}
.main-footer a:after{
	content:"";
	position:absolute;
	left:0;
	bottom:-1px;
	width:100%;
	height:1px;
	background: currentColor;
	transform-origin: left;
	transform:scaleX(0);
	transition: transform .2s ease-out;
}
.main-footer a:hover:after, .main-footer a:focus:after{transform: scaleX(1)}
.footer-contact > * + *{margin-top:.5rem}
.footer-logo svg{
	filter:grayscale(1) brightness(100);
	max-width:12rem;
	margin-inline:auto
}

/*--------------------------------------------------------------
Home page
--------------------------------------------------------------*/

.home-header .subtitle{
	color:var(--light_blue);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.25rem
}
.home-icon-blocks .icon-block{color:var(--purple)}
.home-icon-blocks .icon-block .text{
	font-family: var(--font_heading);
	font-weight: 700
}
.home-goal li{max-width:max-content}

/* Home process */
.home-process ul{position:relative}
.home-process ul:before{
	content:"";
	position:absolute;
	height:calc(100% - 5rem);
	width:1px;
	left:2rem;
	top:2rem;
	background: var(--white)
}
.home-process li+li{margin-top:3rem !important}
.home-process li:not(.text-only){
	/*transform:translateX(calc(40% - 2.5rem));*/
	padding:0 !important;
	border:none !important;
	display:flex;
	gap:1rem;
	align-items: center
}
.home-process span{max-width: calc(100% - 5rem)}
.process-icon{
	position: relative;
	width:4rem;
	height: 4rem
}
.text-only{
	position: relative;
	border-radius:1.75rem !important;
	color:var(--blue) !important;
	background: var(--white);
	padding:1rem 2rem !important;
}

/*--------------------------------------------------------------
Offers page
--------------------------------------------------------------*/

.offer > strong, .offer > span{display: block}
.offer strong{
	color:var(--blue);
	font-family: var(--font_heading);
	font-size:1.5rem;
	font-weight: 700
}
.offer-profitability{
	margin-top:1rem;
	font-weight: 700;
}
.offer-price{
	max-width: max-content;
	margin-inline:auto;
	color:var(--blue);
	border:1px solid currentColor;
	padding:.25rem 1rem;
	border-radius:1rem
}
.badges{margin-top:1rem}
.badge-t1{background: #84c8ff}
.badge-t2{background: #72bbf6}
.badge-t3{background: #66afe9}
.badge-t4{background: #59a2dc}
.badge-t5{background: #468fc8}
.badge-t6{background: #337db4}
.badge-t7{background: #1d6ba1}
.badge-t8{background: #00598e}
.badge-t9{background: #014874}

/*--------------------------------------------------------------
Operator pages
--------------------------------------------------------------*/

.history h2{text-align: center}
.partner-size{
	border:2px solid var(--purple);
	border-radius:2.5rem;
	height:100%;
	padding:3rem;
	display:flex;
	flex-direction: column;
	justify-content: center;
	text-align: center
}
.partner-size h2{
	font-size:1.25rem;
	color:var(--purple)
}
.partner-size h2:before{
	content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 63' fill='none' stroke='%2338357f' stroke-width='2'%3E%3Cpath d='M63 28H11V9a7 7 0 0 1 7-7h44a7 7 0 0 1 7 7v19ZM2 60V40a12 12 0 0 1 12-12h52a12 12 0 0 1 12 12v20M2 60v-1a4 4 0 0 1 4-4h68a4 4 0 0 1 4 4v1M14 28v-3a6 6 0 0 1 6-5h14a6 6 0 0 1 6 5v3M40 28v-3a6 6 0 0 1 6-5h14a6 6 0 0 1 6 5v3'/%3E%3C/svg%3E");
	display:block;
	max-width:15rem;
	margin-inline:auto
}

/*--------------------------------------------------------------
You are pages
--------------------------------------------------------------*/

.comparison h2{color:var(--purple)}
.comparison .bordered-columns > *{border:2px solid var(--purple)}
.comparison .bordered-columns h3, .comparison .bordered-columns strong{color:var(--purple)}

/*--------------------------------------------------------------
Group page
--------------------------------------------------------------*/

.certifications.grid{gap:1rem}
.certifications > *{
	color:var(--purple);
	border:2px solid var(--purple);
	border-radius:2.5rem;
	padding:1rem
}
.certifications img{
	aspect-ratio:9/5.7;
	object-fit: contain;
	max-width:12rem;
	margin-inline:auto
}
.certifications h3{
	color:var(--purple);
	font-size:1.25rem
}

/*--------------------------------------------------------------
Actus page
--------------------------------------------------------------*/

.actu h2{margin:0}

/*--------------------------------------------------------------
Single actu page
--------------------------------------------------------------*/

.actu-content{
	max-width:50rem;
	margin-inline:auto
}
.actu-content h1{
	margin:1.5rem 0 5rem
}

/*--------------------------------------------------------------
Contact page
--------------------------------------------------------------*/

.contact-infos a{text-decoration: none}
.contact-infos a:hover, .contact-infos a:focus{text-decoration: underline}
.contact-infos strong{margin-bottom:.5rem}
.contact-form > * + *{margin-top:var(--leading)}

/*--------------------------------------------------------------
Partners slider
--------------------------------------------------------------*/

.slider {
	position: relative;
	margin-top:var(--leading);
	--snap-align: center;
	--item-width: 100%;
	--item-gap: var(--leading);
	--item-reveal: 4rem;
	--item-count: 1;
	--nav-zoom: .875;
}

.slider-container {
	list-style: none;
	--item-gap-totalwidth: calc(var(--item-gap) * (var(--item-count) - 1));
	--item-width: calc((100% - var(--item-reveal) - var(--item-gap-totalwidth)) / var(--item-count));
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	display: grid;
	grid: auto / auto-flow max-content;
	grid-auto-rows: 100%;
	grid-auto-columns: var(--item-width);
	grid-auto-flow: column;
	gap: var(--item-gap);
	scrollbar-width: none;
	& > * {
		scroll-snap-align: var(--snap-align);
		position: relative;
	}
}

.slider-indicators {
	position:relative;
	display: flex;
	max-width: max-content;
	justify-content: center;
	padding: 0;
	margin:var(--leading) auto 0;
}
.slider-indicators:before{
	content:"";
	position:absolute;
	width:100%;
	height:1px;
	background: var(--white);
	top:50%;
}
.slider-indicators > * {
	position: relative;
	flex: 0 1 auto;
	width: 3rem;
	height: .75rem;
	padding: 0;
	border: 1px solid var(--white);
	cursor: pointer;
	background: var(--purple);
	opacity: 0;
	transition: opacity .4s ease;
}
.slider-indicators > [aria-current="true"] {opacity: 1;}

.slider-nav {
	position: absolute;
	inset:0;
	right:unset;
	background-color: transparent;
	cursor: pointer;
	visibility: hidden;
	opacity: 0.8;
	transition: visibility 0.1s, opacity 0.2s linear;
	display: flex;
	padding: 0 .5rem;
	filter: drop-shadow(0 0 .5rem rgba(0, 0, 0, .5));
	transform: scale(var(--nav-zoom));
}
.slider-nav:after {
	content: "";
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23fff' stroke-width='2' viewBox='0 0 24 24'><path d='m15 18-6-6 6-6'/></svg>");
	mask-size: cover;
	background-color: var(--white);
	width: 2rem;
	height: 2rem;
}
.slider-nav.next {
	right: 0;
	left: unset;
}
.slider-nav.next:after {transform: rotate(180deg);}
.slider-nav:hover {opacity: 1;}
.slider:hover .slider-nav{visibility: visible;}
.first-visible:not([data-loop="true"]) .slider-nav:not(.next), .last-visible:not([data-loop="true"]) .slider-nav.next {visibility: hidden;}

.slider img{
	background: var(--white);
	width:100%;
	height:100%;
	object-fit: contain;
	border-radius: 0
}

/*--------------------------------------------------------------
Media queries
--------------------------------------------------------------*/

@media (min-width:62rem){

	:root{
		--leading:1.75rem;
		--width:80rem;
	}

	/* Typography */
	h1{font-size: 3.75rem}
	h2{font-size: 2.5rem}

	/* Utilities */
	.bg-blue, .bg-light_blue, .bg-purple{padding:3rem 8rem}
	.padding-5{padding:5rem}

	/* Grids */
	.grid{
		grid-template-columns: repeat(12, minmax(0,1fr));
		gap:3rem
	}
	.col-3{grid-column-end: span 3}
	.col-4{grid-column-end: span 4}
	.col-5{grid-column-end: span 5}
	.col-6{grid-column-end: span 6}
	.col-7{grid-column-end: span 7}
	.col-8{grid-column-end: span 8}
	.col-12{grid-column-end: span 12}

	.gap-l{gap:5rem}

	.align-center{align-items: center}

	/* Main header */
	.main-header{padding-top:3rem;}
	.main-header .wrapper{position: relative}
	.logo svg{height:4rem}
	.menu-toggle{display:none;}
	.menu-container{
		pointer-events: auto;
		visibility:visible;
		position:static;
		top:0;
		height:auto;
		opacity:1;
		flex-direction:row;
		align-items: center;
		background:transparent;
		transform:none;
		overflow:visible;
		gap:3rem;
		padding:0;
		flex-wrap: wrap;
		justify-content: flex-end
	}
	.main-menu{
		flex-direction: row;
		gap:1rem;
		align-items:center;
		flex-wrap: wrap;
		justify-content: flex-end
	}
	.has-submenu{position:relative}
	.main-menu a, .main-menu button{
		position:relative;
	}
	.main-menu button{margin:0}
	.main-menu a:after, .main-menu button:after{
		content:"";
		position:absolute;
		left:1.5rem;
		bottom:-1px;
		width:calc(100% - 3rem);
		height:1px;
		background: currentColor;
		transform-origin: left;
		transform:scaleX(0);
		transition: transform .2s ease-out;
	}
	.main-menu a:hover:after, .main-menu a:focus:after, .main-menu button:hover:after, .main-menu button:focus:after{transform: scaleX(1)}
	.main-menu a.active{color:var(--blue)}
	.submenu{
		display:flex;
		flex-direction: column;
		gap:1rem;
		padding:1rem .5rem;
		width:max-content;
		box-shadow: 0 1px 15px rgba(0,0,0,.15);
		position: absolute;
		z-index: 1;
		top:calc(100% + .5rem);
		left:50%;
		transform: translateX(-50%) scaleY(0);
		transform-origin: top;
		background: var(--white);
		transition: transform .3s ease, opacity .3s ease
	}
	.submenu.active{
		display: flex;
		opacity: 1;
		transform: translateX(-50%) scaleY(1)
	}
	.secondary-menu{
		position:absolute;
		top:-3rem;
		right:1.75rem;
		display:flex;
		gap:var(--leading);
		justify-content: flex-end;
		align-items: flex-start
	}
	.secondary-menu li + li{margin:0}
	.secondary-menu a{
		padding:.25rem .5rem;
		border-radius:0 0 .75rem .75rem
	}

	/* Main content */
	.content{margin:0 auto 5rem}
	.content > * + *{margin-top:5rem}

	/* Contact block */
	.contact-block div{margin-left:50%}

	/* Main footer */
	.main-footer{
		grid-template-columns: 3fr 2fr 2fr;
		text-align: left
	}
	.footer-logo{align-self:center}
	.footer-logo svg{max-width: 22rem;}
	.credits{
		grid-column-end: span 3;
		text-align: right
	}

	/* Home page */
	.contact-block h2, .home-block-1 h2, .home-block-2 h2{font-size: 3rem}
	.home-header img{width:100%}
	.home-header h1{
		margin-right:-10rem;
		position: relative
	}
	.home-goal{
		padding-right:45%;
		position:relative
	}
	.home-goal:before,.home-goal:after{
		content:"";
		position:absolute;
		height:calc(100% - 5rem);
		width:calc(28% - 1rem);
		top:2.5rem;
		right:17%;
		border-radius:0 2.5rem 2.5rem 0;
		background: url("/assets/img/home-goal-1.jpg") 50% 50% no-repeat;
		background-size: cover
	}
	.home-goal:after{
		height:calc(100% - 10rem);
		width:calc(17% - 1rem);
		top:5rem;
		right:0;
		background: url("/assets/img/home-goal-2.jpg") 50% 50% no-repeat;
	}
	.home-goal-content{padding:5rem 3rem;}
	.home-goal h2{margin-bottom:3rem}

	.home-process{
		padding:3rem;
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
		height:100%
	}
	.home-process ul:before{
		left:40%;
		top:2.5rem;
	}
	.home-process li:not(.text-only){
		transform:translateX(calc(40% - 2.5rem));
	}
	.home-process span{max-width: calc(60% - 6rem)}
	.process-icon{
		width:5rem;
		height: 5rem
	}
	.text-only{
		border-radius:2.5rem !important;
	}

	/* Contact page */
	.contact-infos{
		padding:3rem;
		display:flex;
		flex-direction: column;
		justify-content: center
	}

	/* Partners slider */
	.slider {
		--item-reveal: 5rem;
		--item-count: 3;
		--nav-zoom: 1;
	}
	.slider[data-slides="even"][data-snap="center"] .slider-container > * {scroll-snap-align: unset;}
	.slider[data-slides="even"][data-snap="center"] .slider-container > *:before {
		content: "";
		display: block;
		position: absolute;
		left: calc((var(--item-gap)/2)*-1);
		top: 0;
		/*FF fix setting w+h to 1 px - otherwise snap will not occur*/
		width: 1px;
		height: 1px;
		scroll-snap-align: var(--snap-align);
	}
	.slider-nav:after {
		width: 3rem;
		height: 3rem;
		padding: 0.5rem;
	}

}