/*
 * Styles autonomes des pages fonctionnalites Easy CRM Formation Continue.
 * Source de depart : styles utiles du theme WordPress Easy Marketing, centralises et allegees.
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	width: 100%;
	overflow-x: hidden;
}

body {
	width: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	color: #11172b;
	font-family: Poppins, Calibri, sans-serif;
	background: #fff;
}

::selection {
	color: #fff;
	background: rgb(26 31 66);
}

::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.2);
}

::-webkit-scrollbar-thumb {
	background: #004e83;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 22px;
	color: #11172b;
	font-family: Poppins, Calibri, sans-serif;
	font-style: normal;
	font-weight: 200;
	line-height: 1.2;
}

p,
li,
a,
input,
select,
textarea,
span {
	font-family: Poppins, Calibri, sans-serif;
}

p {
	margin: 0 0 18px;
	color: #11172b;
	font-size: 16px;
	line-height: 1.5rem;
}

ul,
ol {
	margin: 0 0 20px;
}

ul li,
ol li {
	margin: 0;
	padding-left: 8px;
}

a {
	color: #0089c9;
	text-decoration: none;
	border: none;
	outline: none;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

a:hover {
	color: #71d4ff;
}

strong {
	font-weight: 500;
}

img,
video,
iframe,
svg {
	max-width: 100%;
}

button {
	font: inherit;
}

body.mobile-menu-open,
body.lightbox-open {
	overflow: hidden;
}

.mobiles-only {
	display: none;
}

header,
header #menu,
header #coordonnees,
header #logo img,
header ul li a::after {
	transition: all 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}

header {
	z-index: 200;
	position: fixed;
	top: 0;
	width: 100%;
	height: 80px;
	padding: 0;
	background: #171b36;
	background-repeat: no-repeat;
	background-size: 100%;
}

header #coordonnees {
	display: grid;
	grid-template-columns: repeat(4, 300px);
	align-items: center;
	justify-items: end;
	position: absolute;
	top: 0;
	right: 8%;
	width: 1100px;
	height: 65px;
	color: #fff;
}

header #coordonnees .col {
	display: flex;
	align-items: flex-end;
	gap: 15px;
	min-width: 0;
}

header #coordonnees .col a,
header #coordonnees .col p {
	display: inline;
	margin: 0;
	color: #fff;
	font-size: 0.8rem;
	line-height: 1.3;
	white-space: nowrap;
}

header #coordonnees .col svg {
	flex: 0 0 16px;
	width: 16px;
	max-height: 18px;
	transform: translateY(-1px);
}

header #coordonnees .col.col-2 {
	transform: translateX(-30px);
}

header #coordonnees .col.col-2 svg {
	transform: translateY(-3px);
}

header #coordonnees .col.col-4 a {
	display: inline-flex;
	align-items: center;
}

header #coordonnees .col.col-4 svg {
	width: 18px;
	max-height: 18px;
}

header #logo {
	z-index: 20;
	position: absolute;
	top: 10px;
	left: 5%;
	width: 170px;
	height: 65px;
}

header #logo a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 65px;
}

header #logo a img {
	width: auto;
	height: 100%;
}

header #menu {
	position: absolute;
	top: 65px;
	left: 0;
	width: 100%;
	height: 100px;
	text-align: right;
	border-top: 1px solid rgb(255 255 255 / 20%);
}

header #menu .menu-menu-principal-container {
	display: inline-block;
	height: 100%;
}

header #menu ul {
	margin: 0 90px;
	padding: 0;
	list-style: none;
}

header #menu ul li {
	position: relative;
	display: inline-block;
	padding: 0;
}

header #menu ul li a {
	display: inline-block;
	padding: 0 30px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 100px;
	letter-spacing: 1px;
}

header #menu ul li.current-menu-item a {
	color: #71d4ff;
	font-weight: 500;
}

header ul li a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	width: calc(90% - 60px);
	height: 2px;
	margin: auto;
	visibility: hidden;
	background: #059dc6;
	border-radius: 7px;
	transform: scaleX(0);
}

header ul li a:hover::after {
	visibility: visible;
	transform: scaleX(1);
}

header #menu ul li .sub-menu {
	display: none;
	position: absolute;
	min-width: 330px;
	margin-left: 15%;
	padding: 15px 20%;
	background: rgb(17 23 43 / 100%);
	border-radius: 10px;
}

header #menu ul li:hover > ul {
	display: block;
}

header #menu ul li .sub-menu li {
	display: block;
	border: none;
}

header #menu ul li .sub-menu li a {
	display: block;
	position: relative;
	padding: 10px 5%;
	color: #fff;
	font-size: 0.8rem;
	line-height: 15px;
	text-align: left;
}

header #menu ul li .sub-menu li a:hover {
	color: #71d4ff;
}

header #menu ul li ul li a::before,
header #menu ul li ul li a::after {
	display: none;
}

header #menu .bouton {
	margin-right: 7%;
	padding: 10px 30px;
	color: #fff;
	font-family: Poppins, Roboto, Calibri, sans-serif;
	font-size: 0.9rem;
	border: 2px solid #fff;
	border-radius: 50px;
}

header #menu .bouton:hover {
	color: #fff;
	border-color: #004e83;
	background: #004e83;
}

header .menu-btn {
	display: none;
}

header.mini #coordonnees {
	top: -65px;
}

header.mini #menu {
	top: 0;
	height: 80px;
	background: #11172b;
}

header.mini #logo a {
	height: 60px;
}

header.mini #menu ul li a {
	padding: 0 25px;
	font-size: 0.85rem;
	line-height: 80px;
}

header.mini #menu ul li .sub-menu {
	background: rgb(17 23 43 / 90%);
	border-radius: 20px;
}

.scrollToTop {
	z-index: 50;
	position: fixed;
	right: 1%;
	bottom: 3%;
	width: 58px;
	height: 58px;
	padding: 15px;
	text-align: center;
	text-decoration: none;
	border: 2px solid #004e83;
	background-color: #004e83;
	opacity: 0;
	border-radius: 50px;
	transform: scale(0);
	cursor: pointer;
	transition: all 0.5s;
}

.scrollToTop.visible {
	opacity: 1;
	transform: scale(1);
}

.scrollToTop svg {
	display: block;
	width: 20px;
	height: 24px;
	margin: 0 auto;
}

.scrollToTop:hover {
	background-color: rgb(17 23 43);
}

#footer {
	display: grid;
	grid-template-columns: repeat(3, 33.33%);
	align-items: center;
	justify-items: center;
	position: relative;
	width: 100%;
	min-height: 280px;
	padding-top: 50px;
	background: #171b36;
}

#footer::before {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 40px;
	background-image: url("data:image/svg+xml,%3Csvg width='1600' height='50' viewBox='0 0 1600 50' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='50' fill='%23171b36'/%3E%3Cpath fill='%23fff' d='M0 0H1600V32H1412C1376 32 1363 50 1330 50H270C237 50 224 32 188 32H0V0Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% 100%;
	pointer-events: none;
}

#footer .col {
	position: relative;
	z-index: 20;
	width: 100%;
	text-align: center;
}

#footer .col p,
#footer .col a {
	margin: 10px 0;
	color: #fff;
	font-size: 0.9rem;
	line-height: 1.3em;
	text-align: center;
}

#footer .col section a {
	display: block;
	color: #fff;
}

#footer .col section a:hover {
	color: #c8e9ff;
}

#footer .col.col-1 img {
	width: 200px;
	max-width: 70%;
	height: auto;
}

#content.support-page {
	overflow: hidden;
}

#content.support-page article,
#content.support-page .post {
	width: 100%;
}

.feature-hero {
	position: relative;
	min-height: 300px;
	padding: 200px 8% 80px;
	background: #171b36;
}

.feature-hero::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 40px;
	background-image: url("data:image/svg+xml,%3Csvg width='1600' height='50' viewBox='0 0 1600 50' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='50' fill='%23171b36'/%3E%3Cpath fill='%23fff' d='M0 100H1600V36H1412C1376 36 1363 0 1330 0H270C237 0 224 36 188 36H0V100Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100% 100%;
}

.feature-hero h1 {
	max-width: 1440px;
	margin: 0 auto;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 200;
	line-height: 1.2;
	text-align: center;
}

.dynamic-summary-shell {
	display: contents;
}

.dynamic-summary {
	position: fixed;
	z-index: 90;
	top: 350px;
	left: 24px;
	width: 300px;
	max-height: calc(100vh - 450px);
	padding: 22px 28px;
	overflow-y: auto;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(0, 78, 131, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(17, 23, 43, 0.12);
	transition: top 0.35s ease, transform 0.35s ease;
	scrollbar-width: thin;
}

.dynamic-summary-inner {
	display: block;
}

.dynamic-summary-title {
	margin: 0 0 16px;
	color: #004e83;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
}

.dynamic-summary ol {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dynamic-summary li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dynamic-summary a {
	display: block;
	padding: 10px 0px;
	color: #004e83;
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.3;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
}

.dynamic-summary a:hover,
.dynamic-summary a:focus {
	/*color: #004e83;
	background: #edf7fc;
	border-color: rgba(0, 78, 131, 0.32);*/
}

.dynamic-summary a.active {
	color: #c60579;
}

.dynamic-summary .dynamic-summary-hub-link {
	display: inline-block;
	margin-top: 14px;
	padding: 8px 15px;
	border-color: rgba(198, 5, 121, 0.18);
	color: #c60579;
}

.dynamic-summary-toggle {
	display: none;
}

.dynamic-summary-target {
	scroll-margin-top: 92px;
}

@media screen and (min-width: 1500px) {
	.dynamic-summary-shell {
		display: block;
		position: fixed;
		z-index: 96;
		top: 350px;
		left: 24px;
		width: 338px;
		transition: top 0.35s ease, transform 0.35s ease;
	}

	.dynamic-summary {
		position: relative;
		top: auto;
		left: auto;
		width: 300px;
		max-height: calc(100vh - 450px);
		transition: max-height 0.35s ease;
	}

	.dynamic-summary-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		z-index: 96;
		top: -17px;
		right: 23px;
		left: auto;
		width: 34px;
		height: 34px;
		padding: 0;
		overflow: hidden;
		color: #fff;
		font-size: 0;
		background: #004e83;
		border: 0;
		border-radius: 50%;
		box-shadow: 0 10px 22px rgba(17, 23, 43, 0.16);
		cursor: pointer;
		transition: background-color 0.3s ease, transform 0.3s ease;
	}

	.dynamic-summary-toggle::before {
		content: "";
		width: 18px;
		height: 14px;
		background:
			linear-gradient(#fff, #fff) 0 0 / 18px 2px no-repeat,
			linear-gradient(#fff, #fff) 0 6px / 14px 2px no-repeat,
			linear-gradient(#fff, #fff) 0 12px / 18px 2px no-repeat;
		border: 0;
	}

	.dynamic-summary-toggle:hover,
	.dynamic-summary-toggle:focus {
		background: #0089c9;
		transform: translateY(-2px);
	}

	.dynamic-summary.collapsed {
		transform: none;
	}

	body.summary-scrolled .dynamic-summary-shell {
		top: 52%;
		transform: translateY(-50%);
	}

	body.summary-scrolled .dynamic-summary {
		max-height: calc(100vh - 200px);
	}

	body.summary-collapsed .dynamic-summary-shell {
		transform: translateX(calc(-100% + 7px));
	}

	body.summary-scrolled.summary-collapsed .dynamic-summary-shell {
		transform: translateX(calc(-100% + 7px)) translateY(-50%);
	}

	body.summary-collapsed .dynamic-summary-toggle {
		right: -17px;
		left: auto;
		background: #c60579;
	}

	body.summary-collapsed .dynamic-summary-toggle::before {
		transform: none;
	}

	.has-dynamic-summary .feature-section-inner {
		box-sizing: border-box;
		padding-left: 270px;
		transition: all 0.1s;
	}

	.has-dynamic-summary .feature-section-inner.single {
		box-sizing: border-box;
		max-width: 1620px;
		padding-left: 270px;
	}

	body.summary-collapsed.has-dynamic-summary .feature-section-inner,
	body.summary-collapsed.has-dynamic-summary .feature-section-inner.single {
		padding-left: 0;
	}
}

@media screen and (max-width: 1499px) {
	.dynamic-summary-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		z-index: 96;
		top: 76px;
		left: 12px;
		width: 42px;
		height: 42px;
		padding: 0;
		overflow: hidden;
		color: #fff;
		font-size: 0;
		background: #004e83;
		border: 0;
		border-radius: 50%;
		box-shadow: 0 12px 26px rgba(17, 23, 43, 0.18);
		cursor: pointer;
		transition: background-color 0.3s ease, transform 0.3s ease;
	}

	.dynamic-summary-toggle::before {
		content: "";
		width: 18px;
		height: 14px;
		background:
			linear-gradient(#fff, #fff) 0 0 / 18px 2px no-repeat,
			linear-gradient(#fff, #fff) 0 6px / 14px 2px no-repeat,
			linear-gradient(#fff, #fff) 0 12px / 18px 2px no-repeat;
	}

	.dynamic-summary-toggle:hover,
	.dynamic-summary-toggle:focus {
		background: #0089c9;
		transform: translateY(-2px);
	}

	.dynamic-summary {
		top: 0;
		left: 0;
		width: min(340px, 88vw);
		max-height: 100vh;
		height: 100vh;
		padding: 92px 18px 28px;
		border: 0;
		border-radius: 0;
		box-shadow: 22px 0 44px rgba(17, 23, 43, 0.18);
		transform: translateX(-105%);
		transition: transform 0.35s ease;
	}

	.dynamic-summary.open {
		transform: translateX(0);
	}

	body.summary-open {
		overflow: hidden;
	}

	body.summary-open .dynamic-summary-toggle {
		background: #c60579;
		transform: translateX(min(276px, calc(88vw - 54px)));
	}

	.dynamic-summary-target {
		scroll-margin-top: 78px;
	}
}

.feature-section {
	position: relative;
	padding: 50px 8%;
}

.feature-section[id] {
	scroll-margin-top: 60px;
}

.feature-section:nth-child(odd) {
	padding: 100px 8% 70px;
	background: #f7fbfe;
}

.feature-section + .feature-section {
	margin-top: -1px;
	padding-top: 86px;
}

.feature-section + .feature-section::before {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 70px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% 100%;
	transform: translateY(-50px);
	pointer-events: none;
}

.feature-section:nth-child(odd)::before {
	background-image: url("data:image/svg+xml,%3Csvg width='1600' height='50' viewBox='0 0 1600 50' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='50' fill='%23f7fbfe'/%3E%3Cpath fill='%23fff' d='M0 0H1600V32H1412C1376 32 1363 50 1330 50H270C237 50 224 32 188 32H0V0Z'/%3E%3C/svg%3E");
}

.feature-section:nth-child(even)::before {
	background-image: url("data:image/svg+xml,%3Csvg width='1600' height='80' viewBox='0 0 1600 80' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M0 80H1600V0H1412C1376 0 1363 36 1330 36H270C237 36 224 0 188 0H0V80Z'/%3E%3C/svg%3E");
}

.feature-section-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
	align-items: start;
	max-width: 1620px;
	margin: 0 auto;
}

.feature-section-inner.single {
	display: block;
	max-width: 1180px;
}

.feature-section h2 {
	margin: 10px 0 22px;
	color: #0089c9;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
}

.feature-section h3 {
	margin: 10px 0 22px;
	color: #0089c9;
	font-size: 1.0rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
}

.feature-section p,
.feature-section li {
	color: #11172b;
	font-size: 0.95rem;
	line-height: 1.5rem;
	text-align: left;
}

.feature-section ul {
	margin: 20px 0;
}

.feature-section li {
	position: relative;
	margin: 0;
	padding: 10px 2px;
	list-style-type: none;
	color: #11172b;
}

.feature-section li::before {
	content: "";
	position: absolute;
	top: 12px;
	left: -40px;
	width: 23px;
	height: 20px;
	background-image: url("/wp-content/themes/easy-marketing/img/icon-check.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.feature-media video,
.feature-media img,
.feature-video iframe,
.youtube-facade {
	display: block;
	width: 100%;
	border-radius: 0;
	box-shadow: none;
}

.feature-media figure img {
	height: auto;
	object-fit: contain;
}

.feature-media video {
	aspect-ratio: 16 / 9;
	height: auto;
	background: #f7fbfe;
	object-fit: cover;
	cursor: pointer;
}

.feature-video iframe,
.youtube-facade,
.lazy-video-shell {
	position: relative;
	aspect-ratio: 16 / 9;
	height: auto;
	overflow: hidden;
	border: 0;
	background: #11172b;
}

.feature-video-summary {
	margin-top: 28px;
	padding: 22px 24px;
	border-left: 4px solid #0089c9;
	background: #f6fbfe;
}

.feature-video-summary h3 {
	margin: 0 0 12px;
	color: #0089c9;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35rem;
	text-align: left;
}

.feature-video-summary p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.45rem;
}

.feature-video-summary ul {
	margin: 12px 0 0;
	padding-left: 34px;
}

.feature-video-summary li {
	padding: 7px 0;
	font-size: 0.9rem;
	line-height: 1.45rem;
}

.feature-video-summary li::before {
	top: 9px;
	left: -34px;
	width: 18px;
	height: 16px;
	background-size: contain;
}

.youtube-facade {
	padding: 0;
	cursor: pointer;
}

.youtube-facade img,
.lazy-video-poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media-play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 72px;
	height: 50px;
	padding: 0;
	background: #ff0000;
	border: 0;
	border-radius: 14px;
	transform: translate(-50%, -50%);
	cursor: pointer;
}

.media-play-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 52%;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 18px solid #fff;
	transform: translate(-50%, -50%);
}

.lazy-video-shell .media-play-button {
	background: #004e83;
}

.feature-media figure {
	margin: 0;
}

.feature-media figcaption {
	margin-top: 14px;
	color: #004e83;
	font-size: 0.92rem;
	line-height: 1.5;
	text-align: center;
}

.feature-gallery {
	width: 100%;
	max-width: none;
	margin: 0;
}

.feature-gallery-main {
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 78, 131, 0.16);
	border-radius: 6px;
	box-shadow: 0 16px 36px rgba(17, 23, 43, 0.08);
}

.feature-gallery-main a {
	display: block;
}

.feature-gallery-main img {
	aspect-ratio: 1904 / 951;
	object-fit: contain;
}

.feature-gallery-contain .feature-gallery-main a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background: #f7fbfe;
}

.feature-gallery-contain .feature-gallery-main img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: contain;
}

.feature-gallery-main figcaption {
	margin: 0;
	padding: 14px 18px 16px;
}

.feature-gallery-thumbnails {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.feature-gallery-thumbnail {
	aspect-ratio: 4 / 3;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 78, 131, 0.16);
	border-radius: 6px;
	box-shadow: 0 8px 22px rgba(17, 23, 43, 0.06);
	transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
	cursor: pointer;
}

.feature-gallery-thumbnail:hover,
.feature-gallery-thumbnail:focus-visible {
	border-color: rgba(0, 137, 201, 0.55);
	box-shadow: 0 10px 26px rgba(17, 23, 43, 0.1);
	transform: translateY(-2px);
}

.feature-gallery-thumbnail.active {
	border-color: #0089c9;
	box-shadow: 0 0 0 1px rgba(0, 137, 201, 0.2), 0 10px 26px rgba(17, 23, 43, 0.1);
}

.feature-gallery-thumbnail img {
	height: 100%;
	object-fit: cover;
}

.feature-media-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	padding: 34px;
	background: #f7fbfe;
	border: 1px dashed rgba(0, 78, 131, 0.28);
}

.feature-media-placeholder h3 {
	margin: 0 0 12px;
	color: #004e83;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
}

.feature-media-placeholder p {
	max-width: 520px;
	margin: 0;
	color: #4b587c;
	font-size: 0.92rem;
	line-height: 1.5;
	text-align: center;
}

.feature-tag-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px;
	margin-top: 26px;
	padding-left: 0;
}

.feature-section .feature-tag-list li {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 14px;
	color: #11172b;
	font-size: 0.86rem;
	line-height: 1.3;
	background: #f7fbfe;
	border: 1px solid rgba(0, 78, 131, 0.12);
	border-radius: 8px;
}

.feature-section .feature-tag-list li::before {
	display: none;
}

.feature-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin: 28px 0 38px;
}

.feature-button-primary,
.feature-button-secondary,
.feature-context-cta a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 28px;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	border-radius: 50px;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.feature-button-primary,
.feature-context-cta a {
	color: #fff;
	background: #c60579;
	border: 2px solid #c60579;
}

.feature-button-primary:hover,
.feature-button-primary:focus,
.feature-context-cta a:hover,
.feature-context-cta a:focus {
	color: #c60579;
	background: transparent;
}

.feature-button-secondary {
	color: #004e83;
	background: transparent;
	border: 2px solid #004e83;
}

.feature-button-secondary:hover,
.feature-button-secondary:focus {
	color: #fff;
	background: #004e83;
}

.feature-inline-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 22px;
	font-size: 0.92rem;
}

.feature-inline-links a {
	color: #004e83;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.feature-inline-links a:hover,
.feature-inline-links a:focus {
	color: #c60579;
}

.feature-inline-links span {
	color: #98a2b3;
}

.feature-context-cta {
	margin-top: 24px;
}

.label-mobile {
	display: none;
}

.feature-cta {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 500;
	background: #c60579;
	border: 2px solid #c60579;
	border-radius: 50px;
}

.feature-cta:hover {
	color: #c60579;
	background: transparent;
}

.feature-video + .feature-cta {
	display: table;
	margin-right: auto;
	margin-left: auto;
}

.feature-cta-panel {
	padding: 50px 8% 82px;
	background: #fff;
}

.feature-cta-panel-inner {
	isolation: isolate;
	position: relative;
	overflow: hidden;
	max-width: 1320px;
	margin: 0 auto;
	padding: 64px 9%;
	color: #fff;
	background: radial-gradient(circle at 50% 0%, rgba(65, 82, 142, 0.32), transparent 42%), #11172b;
	border-radius: 8px;
	box-shadow: 0 28px 60px rgba(17, 23, 43, 0.18);
	transition: box-shadow 0.5s ease;
}

.feature-cta-panel-inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(circle at 50% 0%, rgba(198, 5, 121, 0.2), transparent 44%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s ease;
}

.feature-cta-panel-inner:hover {
	box-shadow: 0 32px 68px rgba(17, 23, 43, 0.22);
}

.feature-cta-panel-inner:hover::before {
	opacity: 1;
}

.feature-cta-content {
	position: relative;
	z-index: 2;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.feature-cta-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 28px;
	color: #d9e3ff;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;
}

.feature-cta-eyebrow span {
	display: inline-block;
	width: 22px;
	height: 22px;
	background: #9eb5ff;
	clip-path: polygon(50% 0, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
	box-shadow: inset 0 0 0 7px #11172b;
}

.feature-cta-panel h2 {
	margin: 0 0 22px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.18;
}

.feature-cta-content > p:not(.feature-cta-eyebrow) {
	color: rgba(255, 255, 255, 0.86);
	font-size: 1.12rem;
	line-height: 1.6;
	text-align: center;
}

.feature-cta-panel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	min-width: 300px;
	margin-top: 24px;
	padding: 20px 34px;
	color: #11172b;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.2;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 8px;
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
	transition: all 0.35s;
}

.feature-cta-panel-button:hover,
.feature-cta-panel-button:focus {
	color: #fff;
	background: transparent;
}

.feature-cta-panel-button svg {
	flex: 0 0 auto;
	transition: transform 0.35s;
}

.feature-cta-panel-button:hover svg,
.feature-cta-panel-button:focus svg {
	transform: translateX(5px);
}

.feature-cta-dots,
.feature-cta-line,
.feature-cta-files {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	transform: translate3d(0, 0, 0);
	transition: opacity 0.5s ease, transform 0.5s ease;
	will-change: opacity, transform;
}

.feature-cta-dots {
	bottom: 60px;
	left: 28px;
}

.feature-cta-panel-inner:hover .feature-cta-dots {
	opacity: 0.3;
	transform: scale(2) translate3d(10px, 10px, 0);
}

.feature-cta-line {
	bottom: -8px;
	left: -70px;
}

.feature-cta-panel-inner:hover .feature-cta-line {
	opacity: 0.9;
	transform: translate3d(18px, -7px, 0);
}

.feature-cta-files {
	right: 26px;
	bottom: -2px;
	width: 28%;
	max-width: 330px;
	min-width: 230px;
	opacity: 0.95;
}

.feature-cta-panel-inner:hover .feature-cta-files {
	opacity: 1;
	transform: translate3d(-10px, -8px, 0);
}

.feature-hub-section {
	position: relative;
	overflow: hidden;
	padding-bottom: 86px;
	background:
		radial-gradient(circle at 50% 50%, rgba(0, 78, 131, 0.06), transparent 8%),
		linear-gradient(180deg, #fff 0%, #f7fbff 50%, #fff 100%);
	background-attachment: fixed;
}

.feature-hub-section::before,
.feature-hub-section::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.feature-hub-section::before {
	top: 34px;
	right: 8%;
	width: 180px;
	height: 64px;
	border: 0;
	border-top: 2px solid rgba(0, 78, 131, 0.08);
	border-radius: 50%;
	transform: rotate(8deg);
}

.feature-hub-section::after {
	left: 8%;
	bottom: 42px;
	width: 240px;
	height: 82px;
	border-bottom: 2px solid rgba(198, 5, 121, 0.08);
	border-radius: 50%;
	transform: rotate(-6deg);
}

.feature-hub-background {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.feature-hub-background::before,
.feature-hub-background::after {
	content: "";
	position: absolute;
	width: 420px;
	height: 170px;
	background: radial-gradient(circle, rgba(0, 78, 131, 0.12) 2px, transparent 2px);
	background-size: 22px 22px;
	opacity: 0.45;
}

.feature-hub-background::before {
	bottom: 12%;
	left: -120px;
}

.feature-hub-background::after {
	top: 24%;
	right: -180px;
}

.feature-hub-section .feature-section-inner {
	position: relative;
	z-index: 2;
}

.feature-hub-intro {
	max-width: 900px;
	margin: 0 auto 42px;
	text-align: center;
}

.feature-hub-intro h2,
.feature-hub-intro p {
	text-align: center;
}

.feature-hub-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.feature-hub-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 24px;
	background: #fff;
	border: 1px solid rgba(0, 78, 131, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(17, 23, 43, 0.08);
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.feature-hub-card:hover,
.feature-hub-card:focus-within {
	border-color: rgba(0, 78, 131, 0.28);
	box-shadow: 0 24px 52px rgba(17, 23, 43, 0.12);
	transform: translateY(-4px);
}

.feature-section .feature-hub-badge {
	display: inline-flex;
	align-self: flex-start;
	margin: 0 0 18px;
	padding: 5px 12px;
	color: #004e83;
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	background: #edf7fc;
	border-radius: 999px;
}

.feature-hub-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	margin-bottom: 22px;
}

.feature-hub-visual svg,
.feature-hub-visual img {
	width: 100%;
	max-width: 180px;
	height: auto;
	filter: drop-shadow(0 18px 26px rgba(17, 23, 43, 0.08));
	transition: transform 0.35s ease;
}

.feature-hub-visual img.feature-icon-svg {
	width: 80px;
}

.feature-hub-card:hover .feature-hub-visual svg,
.feature-hub-card:hover .feature-hub-visual img,
.feature-hub-card:focus-within .feature-hub-visual svg,
.feature-hub-card:focus-within .feature-hub-visual img {
	transform: translateY(-4px);
}

.feature-hub-card h3 {
	margin: 0 0 14px;
	color: #11172b;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.25;
}

.feature-hub-card > p:not(.feature-hub-badge) {
	margin-bottom: 26px;
	color: #4b587c;
	font-size: 0.88rem;
	line-height: 1.55;
}

.feature-hub-card a {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	margin-top: auto;
	color: #004e83;
	font-size: 0.9rem;
	font-weight: 500;
}

.feature-hub-card a svg {
	width: 18px;
	height: 18px;
	transition: transform 0.3s ease;
}

.feature-hub-card a:hover svg,
.feature-hub-card a:focus svg {
	transform: translateX(4px);
}

.feature-carousel-section {
	position: relative;
	overflow: hidden;
	padding: 60px 8% 64px;
	background: radial-gradient(circle at 50% 0%, rgba(0, 78, 131, 0.08), transparent 42%), linear-gradient(180deg, #fff 0%, #f7fbff 48%, #fff 100%);
}

.feature-carousel-background {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.feature-carousel-background::before,
.feature-carousel-background::after {
	content: "";
	position: absolute;
	width: 420px;
	height: 170px;
	background: radial-gradient(circle, rgba(0, 78, 131, 0.12) 2px, transparent 2px);
	background-size: 22px 22px;
	opacity: 0.45;
}

.feature-carousel-background::before {
	bottom: 12%;
	left: -120px;
}

.feature-carousel-background::after {
	top: 24%;
	right: -180px;
}

.feature-carousel-section::before,
.feature-carousel-section::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.feature-carousel-section::before {
	top: 34px;
	right: 8%;
	width: 180px;
	height: 64px;
	border-top: 2px solid rgba(0, 78, 131, 0.08);
	border-radius: 50%;
	transform: rotate(8deg);
}

.feature-carousel-section::after {
	bottom: 42px;
	left: 10%;
	width: 240px;
	height: 82px;
	border-bottom: 2px solid rgba(198, 5, 121, 0.08);
	border-radius: 50%;
	transform: rotate(-6deg);
}

.feature-carousel-heading {
	position: relative;
	z-index: 2;
	max-width: 880px;
	margin: 0 auto 42px;
	text-align: center;
}

.feature-carousel-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	color: #004e83;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;
}

.feature-carousel-eyebrow span {
	display: inline-block;
	width: 22px;
	height: 22px;
	background: #004e83;
	clip-path: polygon(50% 0, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
	box-shadow: inset 0 0 0 7px #f7fbff;
}

.feature-carousel-heading h2 {
	margin: 0 0 14px;
	color: #11172b;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

.feature-carousel-heading > p:not(.feature-carousel-eyebrow) {
	max-width: 760px;
	margin: 0 auto;
	color: #4b587c;
	font-size: 1rem;
	line-height: 1.55;
	text-align: center;
}

.feature-carousel-hub-link {
	display: inline-flex;
	margin-top: 18px;
	color: #004e83;
	font-weight: 500;
}

.feature-carousel-shell {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 54px;
	gap: 22px;
	align-items: center;
	position: relative;
	z-index: 2;
	max-width: 1540px;
	margin: 0 auto;
}

.feature-carousel-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: max(260px, calc((100% - 66px) / 4));
	gap: 22px;
	overflow-x: auto;
	padding: 8px 2px 18px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.feature-carousel-track::-webkit-scrollbar {
	display: none;
}

.feature-carousel-single .feature-carousel-track {
	justify-content: center;
	grid-auto-columns: minmax(280px, 360px);
}

.feature-carousel-card {
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: 440px;
	padding: 28px 30px 30px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 78, 131, 0.12);
	border-radius: 8px;
	box-shadow: 0px 4px 10px 0px rgba(17, 23, 43, 0.08);
	scroll-snap-align: start;
	transform: translate3d(0, 0, 0);
	transition: border-color 0.45s ease, box-shadow 0.45s ease, transform 0.45s ease;
}

.feature-carousel-card:hover,
.feature-carousel-card:focus-within {
	border-color: rgba(0, 78, 131, 0.48);
	box-shadow: 0px 4px 15px 0px rgba(17, 23, 43, 0.12);
	transform: translate3d(0, -6px, 0);
}

.feature-carousel-badge {
	align-self: flex-start;
	margin: 0 0 22px;
	padding: 6px 12px;
	color: #004e83;
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	background: #edf7fc;
	border-radius: 999px;
}

.feature-carousel-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 130px;
	margin-bottom: 20px;
}

.feature-carousel-visual svg,
.feature-carousel-visual img {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
	filter: drop-shadow(0 12px 18px rgba(0, 78, 131, 0.16));
	transition: transform 0.45s ease, filter 0.45s ease;
}

.feature-carousel-visual img.feature-icon-svg {
	width: 100px;
}

.feature-carousel-card:hover .feature-carousel-visual svg,
.feature-carousel-card:hover .feature-carousel-visual img,
.feature-carousel-card:focus-within .feature-carousel-visual svg,
.feature-carousel-card:focus-within .feature-carousel-visual img {
	filter: drop-shadow(0 16px 24px rgba(0, 78, 131, 0.22));
	transform: translate3d(0, -4px, 0) scale(1.02);
}

.feature-carousel-card h3 {
	margin: 0 0 14px;
	color: #11172b;
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
}

.feature-carousel-card > p:not(.feature-carousel-badge) {
	margin: 0 0 26px;
	color: #4b587c;
	font-size: 0.94rem;
	line-height: 1.55;
	text-align: left;
}

.feature-carousel-card a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	color: #004e83;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.2;
}

.feature-carousel-card a svg {
	width: 18px;
	height: 18px;
	transition: transform 0.25s ease;
}

.feature-carousel-card a:hover svg,
.feature-carousel-card a:focus svg {
	transform: translateX(4px);
}

.feature-carousel-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	color: #11172b;
	background: rgba(255, 255, 255, 0.95);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 16px 34px rgba(17, 23, 43, 0.1);
	cursor: pointer;
	transition: color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

.feature-carousel-arrow:hover,
.feature-carousel-arrow:focus {
	color: #004e83;
	box-shadow: 0 18px 38px rgba(17, 23, 43, 0.14);
	transform: translateY(-2px);
}

.feature-carousel-arrow[disabled] {
	opacity: 0.34;
	cursor: default;
	transform: none;
}

.feature-carousel-arrow svg {
	width: 26px;
	height: 26px;
}

.feature-carousel-single .feature-carousel-arrow {
	visibility: hidden;
}

.feature-carousel-dots {
	display: flex;
	gap: 14px;
	justify-content: center;
	position: relative;
	z-index: 2;
	margin-top: 20px;
}

.feature-carousel-dots span {
	width: 11px;
	height: 11px;
	background: #c8d7fb;
	border-radius: 50%;
	transition: width 0.25s ease, background-color 0.25s ease;
}

.feature-carousel-dots span.active {
	width: 28px;
	background: #004e83;
	border-radius: 999px;
}

.page-updated {
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 8% 50px;
	color: #667085;
	font-size: 0.9rem;
	line-height: 1.5;
	text-align: right;
}

.image-lightbox {
	display: none;
	align-items: center;
	justify-content: center;
	position: fixed;
	inset: 0;
	z-index: 1000;
	padding: 32px;
	background: rgba(17, 23, 43, 0.92);
}

.image-lightbox.visible {
	display: flex;
}

.image-lightbox figure {
	width: 100%;
	max-width: min(1280px, 94vw);
	max-height: 92vh;
	margin: 0;
}

.image-lightbox img,
.image-lightbox video,
.image-lightbox iframe {
	display: block;
	height: auto;
	max-width: 100%;
	max-height: 82vh;
	margin: 0 auto;
	border: 0;
	background: #fff;
}

.image-lightbox img {
	width: auto;
	object-fit: contain;
}

.image-lightbox video,
.image-lightbox iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.image-lightbox [hidden] {
	display: none;
}

.image-lightbox figcaption {
	margin-top: 14px;
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.5;
	text-align: center;
}

.image-lightbox-counter {
	display: block;
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.82rem;
	text-align: center;
}

.image-lightbox-navigation {
	position: fixed;
	top: 50%;
	z-index: 1;
	width: 50px;
	height: 50px;
	padding: 0;
	color: #fff;
	font-size: 1.65rem;
	line-height: 1;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	transform: translateY(-50%);
	transition: background 0.25s, border-color 0.25s;
	cursor: pointer;
}

.image-lightbox-navigation:hover,
.image-lightbox-navigation:focus-visible {
	background: rgba(255, 255, 255, 0.24);
	border-color: rgba(255, 255, 255, 0.8);
}

.image-lightbox-previous {
	left: 22px;
}

.image-lightbox-next {
	right: 22px;
}

.image-lightbox-close {
	position: fixed;
	top: 18px;
	right: 22px;
	width: 44px;
	height: 44px;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	transition: all 0.5s;
	cursor: pointer;
}

.image-lightbox-close:hover,
.image-lightbox-close:focus {
	background: rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 1650px) {
	header #menu ul {
		margin: 0 50px;
	}

	header #menu ul li a {
		padding: 0 20px;
		font-size: 0.8rem;
	}
}

@media screen and (max-width: 1200px) {
	.mobiles-only {
		display: initial;
	}

	header {
		height: 65px;
		background: #11172b;
	}

	header #coordonnees {
		display: none;
	}

	header .menu-btn {
		display: block;
		position: fixed;
		z-index: 400;
		top: 20px;
		right: 10%;
		width: 30px;
		height: 30px;
		padding: 0;
		color: #fff;
		background: transparent;
		border: 0;
		cursor: pointer;
		pointer-events: auto;
		touch-action: manipulation;
	}

	header .icon {
		display: block;
		position: absolute;
		top: 0;
		width: 30px;
	}

	header .icon .line {
		display: block;
		width: 100%;
		height: 3px;
		margin-top: 10px;
		background: #fff;
		border-radius: 5px;
		transition: all 0.5s;
	}

	header .icon .line.line-1 {
		margin-top: 0;
	}

	header .icon.cross .line.line-1 {
		transform: rotate(45deg) translate(10px, 9px);
	}

	header .icon.cross .line.line-2 {
		transform: scale(0);
	}

	header .icon.cross .line.line-3 {
		transform: rotate(-45deg) translate(9px, -9px);
	}

	header #logo {
		z-index: 20;
		top: 10px;
		left: 14%;
		transform: scale(0.7);
		transform-origin: left top;
	}

	header #logo a {
		height: 65px;
	}

	header #menu,
	header.mini #menu {
		top: 0;
		height: 65px;
		background: #11172b;
		border-top: 0;
	}

	header #menu.visible,
	header.mini #menu.visible {
		height: calc(100vh - 66px);
	}

	header #menu .menu-menu-principal-container {
		z-index: 10;
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		height: auto;
		padding-right: 0;
		overflow: auto;
		background-color: rgb(18 23 42 / 98%);
		transform: translate(0, 0) scale(1);
		transition: all 0.5s;
	}

	header #menu.visible .menu-menu-principal-container {
		left: 0;
		width: 100%;
		height: calc(100vh - 60px);
		padding: 60px 0 0;
	}

	body.mobile-menu-open header #menu .menu-menu-principal-container {
		left: 0;
		width: 100%;
		height: calc(100vh - 60px);
		padding: 60px 0 0;
	}

	header #menu ul {
		margin: 0;
		padding: 0;
	}

	header #menu ul li {
		display: block;
	}

	header #menu ul li a,
	header.mini #menu ul li a {
		display: block;
		padding: 10px 0 0;
		color: #fff;
		font-size: 1.1rem;
		line-height: 1.8em;
		text-align: center;
	}

	header #menu ul li.current-menu-item a {
		color: #fff;
	}

	header #menu ul li a::after {
		display: none;
	}

	header #menu ul li .sub-menu,
	header.mini #menu ul li .sub-menu {
		display: block;
		position: relative;
		min-width: 0;
		margin: 0 auto;
		padding: 15px 5%;
		background: transparent;
		border-radius: 0;
	}

	header #menu ul li .sub-menu li a {
		padding: 5px 0;
		font-size: 0.8rem;
		line-height: 1.5em;
		text-align: center;
	}

	header #menu ul li .sub-menu li a:hover {
		color: #0089c9;
	}

	header #menu .bouton {
		z-index: 25;
		position: absolute;
		left: -100%;
		color: #fff;
		border: 2px solid #fff;
	}

	header #menu.visible .bouton {
		bottom: 80px;
		left: calc(50% - 92px);
		width: 140px;
		margin: 0;
		text-align: center;
	}

	body.mobile-menu-open header #menu .bouton {
		position: absolute;
		bottom: 20px;
		width: auto;
		margin: auto;
		text-align: center;
	}

	.feature-hero {
		min-height: 260px;
		padding: 125px 8% 70px;
	}

	.feature-hero::after {
		display: none;
	}

	.feature-hero h1 {
		font-size: 1.45rem;
		line-height: 1.25;
	}

	.feature-section {
		padding: 45px 7%;
	}

	.feature-section:nth-child(odd)::before {
		background-image: none;
	}

	.feature-section:nth-child(even)::before {
		background-image: none;
	}

	.feature-section-inner {
		display: block;
	}

	.feature-section h2 {
		padding: 0 25px;
		font-size: 1.2rem;
		text-align: center;
	}

	.feature-actions,
	.feature-inline-links {
		justify-content: center;
	}

	.feature-media {
		margin: 30px 0;
	}

	.feature-cta-panel {
		padding: 40px 7% 64px;
	}

	.feature-cta-panel-inner {
		padding: 50px 8%;
	}

	.feature-cta-panel h2 {
		font-size: 1.65rem;
	}

	.feature-cta-content > p:not(.feature-cta-eyebrow) {
		font-size: 1rem;
	}

	.feature-cta-files {
		right: -30px;
		width: 34%;
		min-width: 190px;
		opacity: 0.38;
	}

	.feature-hub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.feature-carousel-section {
		padding: 46px 7% 54px;
	}

	.feature-carousel-heading h2 {
		font-size: 1.6rem;
	}

	.feature-carousel-shell {
		display: block;
	}

	.feature-carousel-track {
		grid-auto-columns: minmax(78%, 78%);
		padding-right: 4px;
		padding-left: 4px;
	}

	.feature-carousel-single .feature-carousel-track {
		justify-content: stretch;
		grid-auto-columns: minmax(100%, 100%);
	}

	.feature-carousel-arrow {
		display: none;
	}

	#footer {
		display: flex;
		flex-direction: column;
		min-height: 436px;
		padding: 45px 8% 35px;
		background-size: cover;
	}

	#footer::before {
		display: none;
	}

	#footer .col {
		margin: 10px 0;
	}
}

@media screen and (max-width: 640px) {
	header #logo {
		left: 8%;
	}

	header .menu-btn {
		right: 8%;
	}

	.feature-hero {
		padding-right: 6%;
		padding-left: 6%;
	}

	.feature-section {
		padding: 38px 6%;
	}

	.feature-actions {
		display: block;
	}

	.feature-button-primary,
	.feature-button-secondary,
	.feature-context-cta a {
		width: 100%;
		margin-top: 12px;
		padding-right: 22px;
		padding-left: 22px;
		text-align: center;
		white-space: normal;
	}

	.label-desktop {
		display: none;
	}

	.label-mobile {
		display: inline;
	}

	.feature-inline-links {
		display: block;
		text-align: center;
	}

	.feature-inline-links a {
		display: block;
		margin: 8px 0;
	}

	.feature-inline-links span {
		display: none;
	}

	.feature-cta-panel {
		padding: 34px 6% 50px;
	}

	.feature-cta-panel-inner {
		padding: 42px 7%;
	}

	.feature-cta-eyebrow {
		margin-bottom: 20px;
		font-size: 0.82rem;
	}

	.feature-cta-panel h2 {
		font-size: 1.4rem;
	}

	.feature-cta-content > p:not(.feature-cta-eyebrow) {
		font-size: 0.95rem;
	}

	.feature-cta-panel-button {
		width: 100%;
		min-width: 0;
		padding: 16px 20px;
		font-size: 0.98rem;
	}

	.feature-cta-dots {
		bottom: 32px;
		left: -35px;
		opacity: 0.5;
	}

	.feature-cta-line,
	.feature-cta-files {
		display: none;
	}

	.feature-hub-intro {
		margin-bottom: 30px;
	}

	.feature-hub-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.feature-hub-card {
		padding: 22px;
	}

	.feature-carousel-section {
		padding: 38px 6% 44px;
	}

	.feature-carousel-heading {
		margin-bottom: 28px;
	}

	.feature-carousel-heading h2 {
		font-size: 1.35rem;
	}

	.feature-carousel-heading > p:not(.feature-carousel-eyebrow) {
		font-size: 0.92rem;
	}

	.feature-carousel-track {
		grid-auto-columns: minmax(100%, 100%);
		gap: 16px;
	}

	.feature-carousel-card {
		min-height: 390px;
		padding: 24px 24px 26px;
	}

	.feature-carousel-card h3 {
		font-size: 1.22rem;
	}

	.feature-carousel-background::before,
	.feature-carousel-background::after {
		opacity: 0.25;
	}

	.page-updated {
		padding: 0 6% 38px;
		text-align: center;
	}

	.scrollToTop {
		right: 16px;
		bottom: 16px;
		width: 50px;
		height: 50px;
		padding: 12px;
	}

	.feature-gallery {
		width: 100%;
		margin: 30px 0;
	}

	.feature-gallery-thumbnails {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.feature-gallery-main figcaption {
		padding: 12px 14px 14px;
		font-size: 0.84rem;
	}

	.image-lightbox {
		padding: 20px 10px;
	}

	.image-lightbox-navigation {
		width: 42px;
		height: 42px;
		font-size: 1.35rem;
	}

	.image-lightbox-previous {
		left: 10px;
	}

	.image-lightbox-next {
		right: 10px;
	}
}
