.display-none {display: none;}
.fit-content-w {width: fit-content;}
.fit-content-h {height: fit-content;}
.overflow-hidden {overflow: hidden;}
.user-select-none {user-select: none;-webkit-user-drag: none;user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;}

/*--------------------------------------------------------------
# Border radius
--------------------------------------------------------------*/
.border-radius-10 {border-radius: 10px;}
.border-radius-20 {border-radius: 20px;}
.border-radius-30 {border-radius: 30px;}
.border-radius-50 {border-radius: 50px;}
.border-radius-100 {border-radius: 100px;}
.border-radius-10-img img {border-radius: 10px;}

/*--------------------------------------------------------------
# Boutons
--------------------------------------------------------------*/
.btn-bleu-1 {
	text-align: center;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 12px 32px;
	border-radius: 5px;
	transition: 0.3s;
	line-height: 1;
	color: #fff;
	margin-top: 6px;
	background: var(--t-bleu-2);
	border: 2px solid var(--t-bleu-2);
}
.btn-bleu-1:hover {
	background: var(--t-bleu-1);
	border: 2px solid var(--t-bleu-1);
	color: #fff;
	text-decoration: none;
	box-shadow: 0px 20px 50px 0px rgba(37, 170, 225, 0.3);
}

.btn-bleu-2 {
	text-align: center;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 12px 32px;
	border-radius: 5px;
	transition: 0.3s;
	line-height: 1;
	color: var(--t-bleu-2);
	margin-top: 6px;
	border: 2px solid var(--t-bleu-2);
}
.btn-bleu-2:hover {
	background: var(--t-bleu-1);
	border: 2px solid var(--t-bleu-1);
	color: #fff;
	text-decoration: none;
	box-shadow: 0px 20px 50px 0px rgba(37, 170, 225, 0.3);
}

.btn-blanc-bright {
	text-align: center;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 12px 32px;
	border-radius: 5px;
	transition: transform 0.3s ease-in-out;
	line-height: 1;
	color: var(--t-bleu-fonce);
	margin-top: 6px;
	background: #FFF;
	border: 2px solid #FFF;
	animation: shadow-bright-blue 2s ease-in-out infinite alternate-reverse both;
}
.btn-blanc-bright:hover {
	background: #FFF;
	border: 2px solid #FFF;
	color: var(--t-bleu-fonce);
	text-decoration: none;
	transform: scale3d(1.05,1.05,1);
}

.btn-inactif {
	text-align: center;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 12px 32px;
	border-radius: 5px;
	transition: 0.3s;
	line-height: 1;
	color: #c8c8c8;
	margin-top: 6px;
	border: 2px solid #c8c8c8;
	cursor: not-allowed;
}
.btn-inactif:hover {
	border: 2px solid #c8c8c8;
	color: #c8c8c8;
	text-decoration: none;
}

/*--------------------------------------------------------------
# Lists
--------------------------------------------------------------*/
.list-start-1 {padding-inline-start: 20px !important;display: flex;flex-direction: column;}
.list-start-2 {padding-inline-start: 20px !important;display: flex;flex-direction: column;gap:0.5em;margin-bottom: 20px;}
.list-style-none {padding-inline-start: 0px;list-style: none;display: flex;flex-direction: column;gap:0.5em;margin-bottom: 20px;}

ul.color-list {padding-inline-start: 0px;list-style: none;display: flex;flex-direction: column;gap:0.5em;margin-bottom: 20px;}
.color-list li:before {
	content: "• "; 
	color: var(--t-bleu-2);
	font-family: "Jost", sans-serif;
	font-size: 35px;
	font-weight: 800;
	line-height: 15px;
	position: relative;
	top:10px;}

ol.color-num-list {
	padding-inline-start: 25px;
	list-style: none;
	counter-reset: li;
	display: flex; 
	flex-direction: column;
	gap: 1em;
	margin-bottom: 20px;}
.color-num-list > li:before {
	content: counter(li)'. '; 
	color: var(--t-bleu-2);
	font-family: "Jost", sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-align: right; 
	position: absolute;
	width: 15px;
	left: 0;}
.color-num-list > li {
	counter-increment: li;}

/*--------------------------------------------------------------
# Box shadows
--------------------------------------------------------------*/
.nice-bs {box-shadow: 0 20px 80px rgba(193, 199, 212, 0.3);}
.dark-bs {box-shadow: 0 10px 80px rgba(38, 75, 129, 0.5);}
.blue-bs {box-shadow: 0px 5px 50px 0px rgba(37, 170, 225, 0.7);}
.white-bs {box-shadow: 0px 5px 50px 0px rgba(255, 255, 255, 0.3);}

/*--------------------------------------------------------------
# Drop shadows
--------------------------------------------------------------*/
.nice-ds {filter: drop-shadow(0 20px 80px rgba(193, 199, 212, 0.3));}
.dark-ds {filter: drop-shadow(0 20px 80px rgba(38, 75, 129, 0.5));}
.blue-ds {filter: drop-shadow(0px 15px 50px rgba(37, 170, 225, 0.7));}
.blue-ds-s {filter: drop-shadow(0px 5px 15px rgba(37, 170, 225, 0.4));}
.blue-ds-m {filter: drop-shadow(0px 6px 20px rgba(37, 170, 225, 0.5));}
.white-ds {filter: drop-shadow(0px 5px 50px rgba(255, 255, 255, 0.3));}

/*--------------------------------------------------------------
# On hover
--------------------------------------------------------------*/
@media (min-width: 992px){
.zoom-on-hover {transition: transform 0.3s ease-in-out;}.zoom-on-hover:hover {transform: scale(1.05);}

.nice-bs-on-hover:hover {box-shadow: 0 20px 80px rgba(193, 199, 212, 0.3);}.nice-bs-on-hover{transition: filter 0.3s ease-in-out;}
.dark-bs-on-hover:hover {box-shadow: 0 10px 80px rgba(38, 75, 129, 0.5);}.dark-bs-on-hover{transition: filter 0.3s ease-in-out;}
.blue-bs-on-hover:hover {box-shadow: 0px 5px 50px 0px rgba(37, 170, 225, 0.7);}.blue-bs-on-hover{transition: filter 0.3s ease-in-out;}
.white-bs-on-hover:hover {box-shadow: 0px 5px 50px 0px rgba(255, 255, 255, 0.3);}.blue-bs-on-hover{transition: filter 0.3s ease-in-out;}

.nice-ds-on-hover:hover {filter: drop-shadow(0 20px 80px rgba(193, 199, 212, 0.3));}.nice-ds-on-hover{transition: filter 0.3s ease-in-out;}
.dark-ds-on-hover:hover {filter: drop-shadow(0 10px 80px rgba(38, 75, 129, 0.5));}.dark-ds-on-hover{transition: filter 0.3s ease-in-out;}
.blue-ds-on-hover:hover {filter: drop-shadow(0px 15px 50px rgba(37, 170, 225, 0.7));}.blue-ds-on-hover{transition: filter 0.3s ease-in-out;}
.blue-ds-s-on-hover:hover {filter: drop-shadow(0px 5px 15px rgba(37, 170, 225, 0.4));}.blue-ds-s-on-hover{transition: filter 0.3s ease-in-out;}
.blue-ds-m-on-hover:hover {filter: drop-shadow(0px 6px 20px rgba(37, 170, 225, 0.5));}.blue-ds-m-on-hover{transition: filter 0.3s ease-in-out;}
.white-ds-on-hover:hover {filter: drop-shadow(0px 5px 50px rgba(255, 255, 255, 0.3));}.white-ds-on-hover{transition: filter 0.3s ease-in-out;}
}

/*--------------------------------------------------------------
# Background blur
--------------------------------------------------------------*/
.bg-blur-2 {backdrop-filter: blur(2px);-webkit-backdrop-filter: blur(2px);}
.bg-blur-5 {backdrop-filter: blur(5px);-webkit-backdrop-filter: blur(5px);}
.bg-blur-6 {backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);}
.bg-blur-8 {backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);}
.bg-blur-10 {backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.bg-blur-12 {backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);}
.bg-blur-14 {backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);}
.bg-blur-16 {backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);}
.bg-blur-18 {backdrop-filter: blur(18px);-webkit-backdrop-filter: blur(18px);}
.bg-blur-20 {backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);}
.bg-blur-30 {backdrop-filter: blur(30px);-webkit-backdrop-filter: blur(30px);}
.bg-blur-40 {backdrop-filter: blur(40px);-webkit-backdrop-filter: blur(40px);}
.bg-blur-80 {backdrop-filter: blur(80px);-webkit-backdrop-filter: blur(80px);}
.bg-blur-100 {backdrop-filter: blur(100px);-webkit-backdrop-filter: blur(100px);}

/*--------------------------------------------------------------
# Liens ext
--------------------------------------------------------------*/
a.ext-link {
	color: var(--t-bleu-2);
	transition: all .2s ease;
}
a.ext-link:hover,
a.ext-link:focus {
	text-decoration: underline solid var(--t-bleu-2);
}
a.ext-link:hover:after,
a.ext-link:focus:after {
	content:'';
	background: url(/assets/img/external-link-small-1.svg) no-repeat, #FFFFFF;
	background-size: 11px;
	background-position: center center;
	position: absolute;
	transform: translate(3px, -3px);
	width: 15px; height: 15px;
	border-radius: 10px 10px 10px 0;
	box-shadow: 1px 1px 3px rgba(0, 55, 102, 0.2), 1px 2px 5px rgba(32, 111, 246, 0.5);
}

/*External link dark mode*/
a.ext-link-dark {
	color: #FFF;
	text-decoration: underline solid #FFF !important;
	transition: all .2s ease;
}
a.ext-link-dark:hover,
a.ext-link-dark:focus {
	color: #FFF;
	text-decoration: underline solid var(--t-bleu-1) !important;
}
a.ext-link-dark:hover:after,
a.ext-link-dark:focus:after {
	content:'';
	background: url(/assets/img/external-link-small-1.svg) no-repeat, var(--t-bleu-2);
	background-size: 11px;
	background-position: center center;
	position: absolute;
	transform: translate(3px, -3px);
	width: 15px; height: 15px;
	border-radius: 10px 10px 10px 0;
	box-shadow: 1px 1px 3px rgba(0, 55, 102, 0.2), 1px 2px 5px rgba(255, 255, 255, 0.5);
}


/*--------------------------------------------------------------
# Fleche after
--------------------------------------------------------------*/
.fleche-after a:after {
	content:'➜';
	font-size: 15px;
  font-weight: 400;
	position: relative !important;
	right: 0;
	margin-left: 8px;}
.fleche-after:hover a:after {
  margin-left: 12px;}
.fleche-after a {
	display: flex !important;
  justify-content: flex-start !important;}

/*--------------------------------------------------------------
# Cursors
--------------------------------------------------------------*/
.cursor-zoom-in,.cursor-zoom-in img{cursor: zoom-in !important;}
.cursor-move,.cursor-move img{cursor: move !important;}
.cursor-default,.cursor-default a,.cursor-default img{cursor: default !important;}

/*--------------------------------------------------------------
# Animations
--------------------------------------------------------------*/
.animation.up-down {animation: up-down 2s ease-in-out infinite alternate-reverse both;}
@keyframes up-down {0% {transform: translateY(10px);} 100% {transform: translateY(-10px);}}

.animation.up-down-alt {animation: up-down 2.8s ease-in-out infinite alternate both;}
@keyframes up-down {0% {transform: translateY(10px);} 100% {transform: translateY(-10px);}}

@keyframes scale-up {from {transform: scale(1);}to {transform: scale(0);}}

@keyframes slide-fade-down {from {transform: translateY(0);opacity: 1;}to {transform: translateY(300px);opacity: 0.2;}}

@keyframes shadow-bright-blue {
	from {
	box-shadow: 0px 10px 100px 15px rgba(37, 170, 225, 1);
	}
	to {
	box-shadow: 0px 10px 200px 50px rgba(40, 220, 225, 1);
	}
}

@keyframes d-shadow-bright-blue {
	from {
	filter: drop-shadow(0px 10px 100px rgba(37, 170, 225, 1));
	}
	to {
	filter: drop-shadow(0px 10px 250px rgba(40, 220, 225, 1));
	}
}

/*--------------------------------------------------------------
# Focus visible
--------------------------------------------------------------*/
a:focus-visible {
	outline: 5px auto Highlight !important;
	outline: 5px auto -webkit-focus-ring-color !important;
  }