/* latin-ext */
@font-face {
	font-family: "Alan Sans";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url(/css/_fonts/alan-sans-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Alan Sans";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url(/css/_fonts/alan-sans-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
	font-family: "Instrument Serif";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(/css/_fonts/instrument-serif-italic-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Instrument Serif";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(/css/_fonts/instrument-serif-italic-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
	font-family: "Instrument Serif";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/css/_fonts/instrument-serif-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Instrument Serif";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/css/_fonts/instrument-serif-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
	font-family: "Montserrat";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(/css/_fonts/montserrat-italic-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Montserrat";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(/css/_fonts/montserrat-italic-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(/css/_fonts/montserrat-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(/css/_fonts/montserrat-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html {
	margin: 0;
	padding: 0;
	background: rgb(19, 37, 64);
}
* {
	font-family: Montserrat;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	background: rgb(19, 37, 64);
	background: radial-gradient(circle, rgba(19, 37, 64, 1) 0%, rgba(7, 13, 22, 1) 65%);
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: cover;
}
svg {
	vertical-align: top;
}
.maj {
	text-transform: uppercase;
}
.gras {
	font-weight: bold;
}
.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}
.txtleft {
	text-align: left;
}
.txtcenter {
	text-align: center;
}
.txtright {
	text-align: right;
}
.bloc-classique {
	max-width: 1200px;
	margin: 0 auto;
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow:
		rgba(0, 0, 0, 0.2) 0px 12px 28px 0px,
		rgba(0, 0, 0, 0.1) 0px 2px 4px 0px,
		rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
	padding-bottom: 60px;
}
.grandecrannv {
	display: none;
}

.vcenter {
	align-content: center;
}
p {
	font-size: 18px;
	line-height: 28px;
}

img.arrondi {
	border-radius: 8px;
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	border: 1px solid #fff;
	position: relative;
	z-index: 100;
	max-width: 100%;
}
img.pngombre {
	filter: drop-shadow(rgba(149, 157, 165, 0.3) 0px 8px 24px);
	position: relative;
	z-index: 100;
	max-width: 100%;
}

main.erreur404 {
	padding: 200px 0 300px;
	min-height: 100vh;
	color: #fff;
	text-align: center;
}

main.erreur404 img {
	width: 80%;
	margin: 100px auto;
	display: block;
}

main.erreur404 a {
	color: #232323;
	background: #00fffc;
	border-radius: 8px;
	padding: 16px 32px;
	display: block;
	width: fit-content;
	margin: 50px auto;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: 800;
}

/* Menu code starts here */

#menuToggle {
	display: block;
	/* You can also use absolute here if you want to stay on the top */
	position: fixed;
	top: 50px;
	right: 50px;

	z-index: 1;

	-webkit-user-select: none;
	user-select: none;
}

#menuToggle a {
	text-decoration: none;
	color: #232323;

	transition: color 0.3s ease;
}

#menuToggle a:hover {
	color: tomato;
}

#menuToggle input {
	display: block;
	width: 40px;
	height: 32px;
	position: absolute;
	top: -7px;
	left: -5px;

	cursor: pointer;

	opacity: 0; /* hide this */
	z-index: 2; /* and place it over the hamburger */

	-webkit-touch-callout: none;
}

/*
   * Just a quick hamburger
   */
#menuToggle span {
	display: block;
	width: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;

	background: #cdcdcd;
	border-radius: 3px;

	z-index: 1;

	transform-origin: 4px 0px;

	transition:
		transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1),
		background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1),
		opacity 0.55s ease;
}

#menuToggle span:first-child {
	transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(2) {
	transform-origin: 0% 100%;
}

/* 
   * Transform all the slices of hamburger
   * into a crossmark.
   */
#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(45deg) translate(-2px, -1px);
	background: #232323;
}

/*
   * But let's hide the middle one.
   */
#menuToggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	transform: rotate(0deg) scale(0.2, 0.2);
}

/*
   * Ohyeah and the last one should go the other direction
   */
#menuToggle input:checked ~ span:nth-last-child(2) {
	opacity: 1;
	transform: rotate(-45deg) translate(0, -1px);
}

/*
   * Make this absolute positioned
   * at the top left of the screen
   */
#menu {
	position: absolute;
	max-width: 400px;
	width: 100vw;
	height: 100vh;
	max-height: 100vh;
	margin: -100px 0 0 0;
	padding: 50px;
	padding-top: 125px;
	right: -100px;

	box-sizing: border-box;
	overflow-y: auto;
	background: #ededed;
	list-style-type: none;

	-webkit-font-smoothing: antialiased;
	/* to stop flickering of text in safari */

	transform-origin: 0% 0%;
	transform: translate(100%, 0);

	transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}

#menu li {
	padding: 10px 0;
	font-size: 22px;
}

#menu li label {
	cursor: pointer;
}

/*
   * And let's fade it in from the right
   */
#menuToggle input:checked ~ ul {
	transform: none;
	opacity: 1;
}

header#headerhome {
	width: 100%;
	height: 100vh;
	position: relative;
	display: flex;
	justify-content: center;
}

/*
########  #######   #######  ######## ######## ########  
##       ##     ## ##     ##    ##    ##       ##     ## 
##       ##     ## ##     ##    ##    ##       ##     ## 
######   ##     ## ##     ##    ##    ######   ########  
##       ##     ## ##     ##    ##    ##       ##   ##   
##       ##     ## ##     ##    ##    ##       ##    ##  
##        #######   #######     ##    ######## ##     ## 
*/
#transitionfooter {
	position: relative;
	top: 10px;
	margin-top: -50px;
}

/* PRE FOOTER - 2 ACTIONS : NEWSLETTER + CONTACT */
#prefooter {
	background: #fff;
	padding-top: 150px;
	padding-bottom: 150px;
	padding: 150px 50px;
	box-shadow: 0px -110px 140px 0px rgba(0, 0, 0, 0.15);
	text-align: center;
}
#prefooter strong {
	font-size: 28px;
	font-weight: 900;
	text-transform: uppercase;
	display: block;
}

#prefooter #footer-contact a {
	position: relative;
	display: inline-block;
	background: #1989dd;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	padding: 8px 30px;
	font-size: 16px;
	border-radius: 3px;
	margin-top: 20px;
}
#prefooter #footer-contact a:hover {
	animation: blopblop 0.5s;
}
#sepafooter {
	margin-top: -20px;
	background: #fff;
}

/* FOOTER */
footer {
	background: #e4ecf0;
	padding: 1px 50px;
	font-size: 14px;
	padding-top: 100px;
	padding-bottom: 50px;
	position: relative;
	overflow: hidden;
}

footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("/css/pixelcreation-p.svg") no-repeat;
	background-size: 1000px;
	background-position: top 200px center;
	opacity: 0.08; /* <-- opacité du SVG */
	pointer-events: none;
	z-index: 0;
}

footer a {
	color: #5d6d81;
	border-bottom: 0px solid #5d6d81;
	text-decoration: none;
}
footer a:hover {
	border-bottom: none;
}
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	line-height: 30px;
}
footer ul a {
	color: #838f9f;
	display: inline-block;
	width: 100%;
	padding: 0;
}
footer ul a:hover {
	color: #1989dd;
}
footer ul li:first-of-type {
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 15px;
}
footer ul li:first-of-type a {
	color: #5d6d81;
}
footer ul li:first-of-type a:hover {
	color: #1989dd;
}
footer ul:first-of-type li:first-of-type a {
	color: #1989dd;
}
footer #adressepostale {
	line-height: 20px;
	margin: 10px 0;
}
footer #adressepostale a {
	color: #838f9f;
}
footer .grid4 {
	overflow: hidden;
	margin: 0 0 50px 0;
}
footer .grid4 ul {
	float: left;
	width: 25%;
	padding: 20px;
}

.pixelcreation-footer {
	text-align: center;
	margin-bottom: 80px;
}

.pixelcreation-footer img {
	max-width: 350px;
	padding: 20px;
	transition: all 0.5s ease;
}

#footer-social {
	text-align: center;
	border-bottom: 1px solid #bacfd9;
	margin-bottom: 0;
	padding-bottom: 40px;
}
#footer-social a {
	text-decoration: none;
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 10px;
	text-indent: -3000em;
	background-size: 24px;
	background-repeat: no-repeat;
	filter: invert(63%) sepia(3%) saturate(1530%) hue-rotate(175deg) brightness(89%) contrast(92%);
}
#footer-social a:hover {
	filter: invert(41%) sepia(51%) saturate(643%) hue-rotate(159deg) brightness(96%) contrast(99%);
	border-bottom: 0;
	background-size: 24px;
	transform: rotate(5deg);
	animation: blopblop 0.5s;
}
#footer-social-fb {
	background: url(/css/facebook.svg) center center;
}
#footer-social-me {
	background: url(/css/messenger.svg) center center;
}
#footer-social-in {
	background: url(/css/instagram.svg) center center;
}
#footer-social-li {
	background: url(/css/linkedin.svg) center center;
}
#footer-social-wa {
	background: url(/css/whatsapp.svg) center center;
}
#footer-copyright {
	font-size: 13px;
	color: #5d6d81;
	font-weight: 200;
	text-align: center;
	border-top: 1px solid #f1f5f7;
	padding: 40px 0;
	margin-top: 0;
}
#footer-copyright a {
	color: #5d6d81;
	border-bottom: 1px solid #c5cdd7;
}
#footer-copyright span {
	margin: 0 10px;
}
#footerbottom {
	background: var(--blue);
}
.footertitres {
	text-transform: uppercase;
}
#sepafooter svg {
	position: relative;
	top: 2px;
}

@media screen and (max-width: 1000px) {
	footer .grid4 ul {
		float: left;
		width: 100%;
		padding: 10px;
		font-size: 13px;
		text-align: center;
	}
	footer ul li:first-of-type {
		font-weight: 700;
		margin-bottom: 10px;
		font-size: 15px;
	}
	#footer-social a {
		margin: 2px;
	}
	footer .noresp {
		display: none;
	}
	.pixelcreation-footer {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	footer::before {
		content: "";
		position: absolute;
		inset: 0;
		background: url("/css/pixelcreation-p.svg") no-repeat;
		background-size: 500px;
		background-position: top 200px center;
		opacity: 0.08; /* <-- opacité du SVG */
		pointer-events: none;
		z-index: 0;
	}
	#prefooter .grid2 > div {
		float: none;
		text-align: center;
		width: 100%;
		max-width: 700px;
		margin: 150px auto;
	}
	#prefooter .grid2 > div#footer-contact {
		background: #1e2c3c;
		width: 100%;
		max-width: 100%;
		padding: 100px 20px;
		color: #f4f7f9;
	}
	#prefooter .grid2 > div#footer-contact p {
		color: #f4f7f9;
	}
	#prefooter .grid2 > div#footer-contact p strong {
		color: #f4f7f9;
	}
}

/*
##     ##    ###    ########   ######   ########  ######  
###   ###   ## ##   ##     ## ##    ##  ##       ##    ## 
#### ####  ##   ##  ##     ## ##        ##       ##       
## ### ## ##     ## ########  ##   #### ######    ######  
##     ## ######### ##   ##   ##    ##  ##             ## 
##     ## ##     ## ##    ##  ##    ##  ##       ##    ## 
##     ## ##     ## ##     ##  ######   ########  ######  
*/

.spacer100h {
	padding: 50px 0;
}

.mt0 {
	margin-top: 0;
}
.mtl {
	margin-top: 40px;
}
.mbl {
	margin-bottom: 40px;
}
.mbxl {
	margin-bottom: 100px;
}

/*
 ######   ########  #### ##       ##       ########  ######  
##    ##  ##     ##  ##  ##       ##       ##       ##    ## 
##        ##     ##  ##  ##       ##       ##       ##       
##   #### ########   ##  ##       ##       ######    ######  
##    ##  ##   ##    ##  ##       ##       ##             ## 
##    ##  ##    ##   ##  ##       ##       ##       ##    ## 
 ######   ##     ## #### ######## ######## ########  ######  

*/

.grille12 {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 2fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille13 {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 3fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}

.grille112 {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 2fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}

.grille121 {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 2fr 1fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille2 {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille21 {
	display: grid;
	width: 100%;
	grid-template-columns: 2fr 1fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille211 {
	display: grid;
	width: 100%;
	grid-template-columns: 2fr 1fr 1fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille3 {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille31 {
	display: grid;
	width: 100%;
	grid-template-columns: 3fr 1fr;
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille4 {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}
.grille5 {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 40px;
	/* margin-top: 20px; */
	/* padding-bottom: 20px; */
}

.inverse > div:nth-child(2) {
	grid-column-start: 1;
	grid-row-start: 1;
}

/*
##     ## ######## ##    ## ##     ##      ########  ########  #### ##    ##  ######  #### ########     ###    ##       
###   ### ##       ###   ## ##     ##      ##     ## ##     ##  ##  ###   ## ##    ##  ##  ##     ##   ## ##   ##       
#### #### ##       ####  ## ##     ##      ##     ## ##     ##  ##  ####  ## ##        ##  ##     ##  ##   ##  ##       
## ### ## ######   ## ## ## ##     ##      ########  ########   ##  ## ## ## ##        ##  ########  ##     ## ##       
##     ## ##       ##  #### ##     ##      ##        ##   ##    ##  ##  #### ##        ##  ##        ######### ##       
##     ## ##       ##   ### ##     ##      ##        ##    ##   ##  ##   ### ##    ##  ##  ##        ##     ## ##       
##     ## ######## ##    ##  #######       ##        ##     ## #### ##    ##  ######  #### ##        ##     ## ######## 
*/

#menu_principal {
	position: fixed;
	left: 0;
	top: 40px;
	right: 0;
	text-align: center;
	font-family: Montserrat, sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 12px;
	text-transform: uppercase;
	line-height: 1;
	padding: 0 16px;
	z-index: 999;
	transition: all 0.4s ease-in-out;
}

#menu_principal.nonvisible {
	transform: translateY(-120px);
}
#menu_principal.visible {
	transform: translateY(0);
}

#menu_principal * {
	transition: all 0.2s ease-in-out;
}

#menu_principal_interne {
	max-width: 1200px;
	margin: 0 auto;
	height: 65px;
	background: #fff;
	padding: 10px;
	border-radius: 8px;
	box-shadow:
		rgba(0, 0, 0, 0.2) 0px 12px 28px 0px,
		rgba(0, 0, 0, 0.1) 0px 2px 4px 0px,
		rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
	display: flex; /* Active le mode Flexbox */
	justify-content: space-between; /* Pousse les enfants aux deux extrémités */
	align-items: center;
}

#menu_principal_interne > nav {
	height: 45px;
}

#menu_principal_interne > nav > div {
	position: relative;
	float: left;
}

#menu_principal a {
	color: #333138;
	display: block;
	padding: 16px 12px;
	text-decoration: none;
	line-height: 13px;
	position: relative;
}
#menu_principal a:hover,
#menu_principal a.actif {
	color: #0879d1;
	font-weight: 800;
}

#menu_principal a.menu_principal_logo {
	float: left;
	padding: 0px;
	position: relative;
	top: 2px;
	left: 4px;
}
#menu_principal a.menu_principal_logo img {
	width: 200px;
	padding: 4px;
}

#menu_principal a.menu_principal_contact {
	color: #fff;
	background: #1989dd;
	background: linear-gradient(180deg, rgba(25, 137, 221, 1) 0%, rgba(25, 137, 221, 1) 100%);
	border-radius: 4px;
	margin-left: 28px;
	padding: 16px 20px;
}

#menu_principal a.menu_principal_contact:hover {
	background: #1989dd;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
	color: #fff;
	animation: blopblop 0.5s;
	box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
}

#menu_principal a.menu_principal_small {
	font-weight: 500;
}

#menu_principal span.separation {
	float: right;
	border-left: 1px dashed #cdcdcd;
	display: block;
	width: 0px;
	height: 20px;
	margin: 13px 24px;
}

.sous_menu {
	background: #fff;
	position: absolute;
	top: 40px;
	font-weight: 500;
	padding: 4px;
	padding-bottom: 8px;
	border-radius: 4px;
	width: 250px;
	display: none;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 0px;
}

.sous_menu > div {
	height: 3px;
	background-color: #1989dd;
}

#menu_principal .sous_menu a {
	float: none;
	text-align: left;
	text-transform: none;
	padding: 12px 8px;
}
#menu_principal_interne > nav > div:hover .sous_menu {
	display: block;
}
#menu_principal_interne > nav > div:hover > a {
	color: #1989dd;
}
#menu_principal_interne .fleche {
	display: inline-block;
	width: 4px;
	height: 4px;
	border-top: 1px solid #232323;
	border-right: 1px solid #232323;
	transform: rotate(135deg);
	position: relative;
	top: -3px;
	margin-left: 8px;
	opacity: 0.3;
}
#menu_principal_interne > div:hover .fleche {
	border-top: 1px solid #1989dd;
	border-right: 1px solid #1989dd;
	opacity: 1;
}

/*
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
*/
:root {
	--header-height: 70px;
	--color-primary: #005f73;
	--color-accent: #0a9396;
	--color-background: #f8f9fa;
	--color-text: #212529;
	--color-white: #ffffff;
	--transition-speed: 250ms;
	--container-width: 1200px;
	--breakpoint-desktop: 992px;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}
.mobile-nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	z-index: 1002;

	&[aria-expanded="true"] .mobile-nav-toggle__icon {
		background-color: transparent;

		&::before {
			transform: rotate(45deg);
			background-color: #fff;
			top: 0;
		}
		&::after {
			transform: rotate(-45deg);
			background-color: #fff;
			top: 0;
		}
	}

	.mobile-nav-toggle__icon {
		display: block;
		position: relative;
		width: 24px;
		height: 2px;
		background-color: var(--color-text);
		transition: all var(--transition-speed) ease-in-out;

		&::before,
		&::after {
			content: "";
			position: absolute;
			left: 0;
			width: 100%;
			height: 2px;
			background-color: var(--color-text);
			transition:
				transform var(--transition-speed) ease-in-out,
				top var(--transition-speed) ease-in-out;
		}

		&::before {
			top: -8px;
		}
		&::after {
			top: 8px;
		}
	}
}

#menu_principal a.menu_principal_icone {
	display: none;
}
.temoignages {
	position: relative;
	overflow: hidden;
	max-width: 900px;
	margin: auto;
}
.temoignages_pistes {
	display: flex;
	transition: transform 0.4s ease;
}
.temoignages_etoiles img {
	width: 150px;
}
.temoignage {
	min-width: 100%;
	box-sizing: border-box;
	padding: 10px 60px;
	text-align: center;
}
.temoignage_message {
	font-size: 30px;
	font-family: "Instrument Serif", serif;
	line-height: 40px;
}
.temoignage_auteur {
	font-weight: 600;
}
.temoignage_entreprise {
	font-style: italic;
	opacity: 0.7;
}

.slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	font-size: 40px;
	cursor: pointer;
	z-index: 2;
}

.slider-btn.prev {
	left: 10px;
}
.slider-btn.next {
	right: 10px;
}

.slider-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 15px;
}

.slider-dots button {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: none;
	background: #000;
	opacity: 0.3;
	cursor: pointer;
}

.slider-dots button.active {
	background: #000;
	opacity: 1;
}

/*
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
*/

/*
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
##################################################################################
*/

/*
   ###     ######   ######  ##     ## ######## #### ##       
  ## ##   ##    ## ##    ## ##     ## ##        ##  ##       
 ##   ##  ##       ##       ##     ## ##        ##  ##       
##     ## ##       ##       ##     ## ######    ##  ##       
######### ##       ##       ##     ## ##        ##  ##       
##     ## ##    ## ##    ## ##     ## ##        ##  ##       
##     ##  ######   ######   #######  ######## #### ######## 
*/

#home_pixelcrea {
	background: url("/css/fond-home.webp") bottom center;
	background-size: cover;
	height: 100dvh;
	max-height: 1200px;
	position: relative;
}
@keyframes anim_couleur {
	0%,
	100% {
	}
	25% {
		transform: scale(0.99, 1.01);
	}
	50% {
		scale: 1.01;
		transform: scale(1.02, 1);
	}
	75% {
		transform: scale(0.99, 1.01);
	}
}

#home_pixelcrea .pixelcreation {
	position: absolute;
	width: 170px;
	top: 60px;
	left: 50%;
	margin-left: -85px;
	opacity: 1;
	transition: all 0.3s ease;
}

#home_pixelcrea .pixelcreation.masque {
	opacity: 0;
}

.creableu {
	width: 700px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -350px;
	margin-top: -151px;
	opacity: 1;
	user-select: none;
	animation: anim_couleur 2s ease-in-out 0s infinite normal forwards;
}
@keyframes anim_noir {
	0%,
	100% {
		opacity: 0.8;
	}

	50% {
		opacity: 0.4;
		padding-top: 5px;
		scale: 1.001;
	}
}

.creanoir {
	width: 700px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -349px;
	margin-top: -152px;
	opacity: 0.1;
	animation: anim_noir 3s ease-in-out 0s infinite normal forwards;
	user-select: none;
}
@keyframes anim_zebre {
	0%,
	100% {
		opacity: 0.3;
	}

	50% {
		opacity: 0.2;
		scale: 1.1;
		rotate: 10deg;
	}
}

@keyframes anim_fleche {
	0% {
		padding-bottom: 10px;
		opacity: 0;
	}

	40% {
		opacity: 0.8;
	}

	60% {
		opacity: 1;
	}
	100% {
		padding-bottom: 0;
		opacity: 0;
	}
}

.creafleche {
	width: 20px;
	position: absolute;
	bottom: 10px;
	left: 50%;
	margin-left: -10px;
	animation: anim_fleche 1s ease-out 0s infinite normal forwards;
	user-select: none;
}

.courbebasse {
	width: 200px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -100px;
	user-select: none;
}

#home_presentation {
	color: #fff;
	background: #ff00b5;
	background: linear-gradient(180deg, rgba(255, 0, 181, 1) 0%, #b8008f 100%);
	padding: 200px 30px;
}

#home_presentation h1 {
	color: #fff;
	font-weight: 600;
	font-size: 48px;
	text-transform: uppercase;
	line-height: 1.3;
	max-width: 80%;
	margin-top: 16px;
	letter-spacing: -0.03em;
}

#home_presentation h1 span {
	font-weight: 750;
}

#home_presentation .textgauche {
	max-width: 500px;
	margin-left: auto;
}
#home_presentation .textdroite {
	max-width: 500px;
	margin-right: auto;
}
#home_presentation .textdroite p {
	line-height: 1.6;
	margin-bottom: 20px;
}

#home_presentation a.cta-principal {
	color: #12233c;
	background: #ffffff;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 800;
	padding: 16px 32px;
	font-size: 15px;
	text-transform: uppercase;
	border-radius: 3px;
	margin-top: 40px;
}
#home_presentation a.cta-principal:hover {
	animation: blopblop 0.5s;
}

#home_triptik {
	color: #fff;
	background: #12233c;
	background: radial-gradient(circle, #0a2853 0%, #12233c 100%);
	padding: 200px 0;
	text-align: center;
}

#home_triptik h2 {
	color: #ff00b5;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-size: 38px;
	margin-bottom: 120px;
}

#home_triptik h3 {
	color: #fff;
	position: relative;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-size: 30px;
	margin-bottom: 70px;
	margin-top: 10px;
}

#home_triptik h3::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	background: #ff00b5;
	margin-left: -20px;
	position: absolute;
	bottom: -20px;
	left: 50%;
}

#home_triptik img {
	filter: invert(17%) sepia(91%) saturate(7477%) hue-rotate(311deg) brightness(108%) contrast(108%);
	width: 40px;
}

#home_triptik a {
	color: #fff;
	background: #ff00b5;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 700;
	padding: 12px 28px;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 3px;
	margin-top: 30px;
}
#home_triptik a:hover {
	animation: blopblop 0.5s;
}

.home_texte {
	color: #232323;
	background: #f4f7f5;
	padding: 200px 0;
}

.home_texte .grille12,
.home_texte .grille2 {
	gap: 100px;
}

.home_texte h2 {
	color: #ff00b5;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-size: 38px;
	margin-bottom: 80px;
	margin-top: 0;
	text-align: center;
}

.home_texte p {
	margin-bottom: 30px;
}

.home_texte a {
	border-bottom: 1px solid #ff00b5;
	color: #ff00b5;
	text-decoration: none;
}

.home_texte a.cta-principal,
#home_blog a.cta-principal {
	color: #fff;
	background: #12233c;
	border: none;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 700;
	padding: 12px 28px;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 3px;
	margin-top: 40px;
}
.home_texte a.cta-principal:hover,
#home_blog a.cta-principal:hover {
	animation: blopblop 0.5s;
}

.home_texte ul {
	font-size: 18px;
	line-height: 1.4;
	list-style: none;
	padding-left: 0;
}

.home_texte li {
	margin-bottom: 32px;
	position: relative;
	padding-left: 38px;
}

.home_texte li::before {
	content: "";
	position: absolute;
	background: url("/css/valide.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: -1px;
	width: 26px;
	height: 26px;
}

.home_references {
	color: #fff;
	background: #12233c;
	background: radial-gradient(circle, rgba(10, 40, 83, 1) 0%, rgba(18, 35, 60, 1) 100%);
	padding: 100px 0;
	text-align: center;
}
.home_references img {
	filter: invert(100%) sepia(0%) saturate(7465%) hue-rotate(20deg) brightness(112%) contrast(108%);
	padding: 30px;
	transition: all 0.3s ease;
	opacity: 0.6;
}
.home_references img:hover {
	transform: scale(1.2);
	opacity: 1;
}
#home_portfolio {
	background: #12233c;
	overflow: hidden;
	cursor: hand;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

#home_portfolio .realisation {
	position: relative;
	overflow: hidden;
	display: block;
	max-width: 100%;
	color: #fff;
	text-transform: uppercase;
}

#home_portfolio .realisation img {
	width: 100%;
	vertical-align: top;
	transform: scale(1.02);
	-ms-transform: scale(1.02);
	-webkit-transform: scale(1.02);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

#home_portfolio .realisation:hover img {
	transform: scale(1.08);
	-ms-transform: scale(1.08);
	-webkit-transform: scale(1.08);
}

#home_portfolio .realisation .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

#home_portfolio .realisation:hover .overlay {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

#home_portfolio .realisation .overlaycolor {
	width: 100%;
	height: 100%;
	background: #12233c;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0.95;
	filter: alpha(opacity=75);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}

#home_portfolio .realisation .reatexte {
	width: 100%;
	text-align: center;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transition: top 0.3s ease;
	-moz-transition: top 0.3s ease;
	-o-transition: top 0.3s ease;
	-ms-transition: top 0.3s ease;
	transition: top 0.3s ease;
	margin-top: -25px;
}

#home_portfolio .realisation .titre {
	color: #f87882;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

#home_portfolio .realisation .categories {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0;
	margin-top: 4px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

#home_portfolio .realisation .categories span:not(:first-child)::before {
	content: "|";
	margin: 0 5px;
	color: #ffb9ba;
}

#home_portfolio .realisation:hover .reatexte {
	top: 50%;
}

#home_blog {
	background: #fff;
	padding: 200px 0;
	text-align: left;
}

#home_blog h2 {
	color: #12233c;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-size: 38px;
	margin-top: 0;
	margin-bottom: 80px;
	text-align: center;
}
#home_blog img {
	max-width: 100%;
}
#home_blog img:hover {
	transform: none;
}
#home_blog a {
	color: #333138;
	line-height: 1.6;
	text-decoration: none;
	border-bottom: 0;
	margin-bottom: 20px;
	padding: 12px;
	transition: all 0.3s ease;
	display: block;
}
#home_blog a:hover {
	transform: scale(1.02);
	border: none;
}
#home_blog a:hover strong {
	color: #ff00b5;
	opacity: 1;
}
#home_blog strong {
	display: block;
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 800;
	line-height: 1.1;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #333138;
	max-width: 80%;
}
#home_blog p {
	margin: 0;
}

#home_formation {
	color: #fff;
	background: #12233c;
	background: radial-gradient(circle, rgba(10, 40, 83, 1) 0%, rgba(18, 35, 60, 1) 100%);
	padding: 200px 0;
}

#home_formation h2 {
	color: #ff00b5;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-size: 38px;
	margin-bottom: 0px;
	margin-top: 16px;
	line-height: 1.3;
	text-align: left;
}

#home_formation a.cta-principal {
	color: #12233c;
	background: #ffffff;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 700;
	padding: 16px 32px;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 3px;
	margin-top: 40px;
}
#home_formation a.cta-principal:hover {
	animation: blopblop 0.5s;
}

/*
########  ########  ######  ####  ######   ##    ## 
##     ## ##       ##    ##  ##  ##    ##  ###   ## 
##     ## ##       ##        ##  ##        ####  ## 
##     ## ######    ######   ##  ##   #### ## ## ## 
##     ## ##             ##  ##  ##    ##  ##  #### 
##     ## ##       ##    ##  ##  ##    ##  ##   ### 
########  ########  ######  ####  ######   ##    ## 
*/
.designpart {
	color: #161528;
	background: #f87882;
	padding: 100px 10px 100px;
}

.designparttop {
	background: #f87882;
	background-image: url("/css/fond-graphiste-freelance.svg"), linear-gradient(180deg, #f87882 0%, rgba(255, 185, 186, 1) 100%);
	background-size: cover, contain;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	padding-top: 100px;
	padding-bottom: 200px;
}

.designparttop img {
	animation: anim_couleur 7s ease-in-out 0s infinite normal forwards;
	user-select: none;
}
.designparttopicon {
	float: left;
	margin-top: 40px;
	margin-right: 40px;
	width: 250px;
	font-weight: 600;
	letter-spacing: -0.03em;
}

.designparttopicon span {
	color: #fff;
	float: left;
	width: 60px;
	height: 60px;
	background: url("/css/fond-icongraphik.svg");
	filter: drop-shadow(rgba(248, 120, 130, 1) 0px 3px 0px);
	background-size: cover, contain;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	font-weight: 400;
	font-size: 28px;
	line-height: 60px;
	text-align: center;
	margin-right: 10px;
	position: relative;
	top: -10px;
}

.designpart.designparttop .grille2 {
	margin: 0;
}

.designpart.designparttop .grille3 {
	grid-auto-rows: 1fr;
}

.designpart.designparttop h2 {
	color: #161528;
	font-size: 40px;
	font-weight: 800;
	text-shadow: 0px 3px 0px #ffb9ba;
}

.designpart.designparttop .filariane {
	font-size: 15px;
	color: #ffb9ba;
}
.designpart.designparttop .filariane a {
	color: #161528;
	text-decoration-style: dotted;
}
.designpart.designparttop .filariane a:hover {
	color: #161528;
	text-decoration-style: solid;
}

.designpart a.designparttopliens {
	color: #fff;
	background: #161528;
	border-radius: 12px;
	text-align: center;
	padding: 40px 30px;
	text-decoration: none;
	box-shadow: rgba(63, 12, 16, 0.2) 0px 8px 24px;
	transition: all 0.3s ease;
	display: block;
}
.designpart a.designparttopliens:hover {
	background: #1f192c;
	box-shadow: rgba(63, 12, 16, 0.5) 0px 8px 24px;
	transform: scale(1.01);
	-moz-transform: rotate(5deg);
	-webkit-transform: rotate(5deg);
	outline: 1px solid #ffb9ba;
}
.designpart a.designparttopliens:hover img {
	opacity: 1;
}

.designparttopliens img {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(125deg) brightness(103%) contrast(101%);
	width: 40px;
	opacity: 0.9;
	transition: all 0.3s ease;
	user-select: none;
}

.designparttopliens p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}
.designparttopliens p.soustitre {
	color: #f87882;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	margin: 10px 0 20px;
}

.designpart.rose {
	color: #161528;
	background: #f26b75;
	padding-top: 0;
	padding-bottom: 100px;
}

.designpart.roseclair {
	color: #161528;
	background: #ffb9ba;
	padding-top: 0;
	padding-bottom: 100px;
}

.designpart.noir {
	color: #fff;
	background: #161528;
	padding-top: 0;
	padding-bottom: 100px;
}

.designpart.noir h2 {
	color: #fff;
}

.designpart.rose h2 {
	color: #fff;
}

.designpart h1 {
	color: #161528;
	text-shadow: 0px 3px 0px #ffb9ba;
	font-size: 50px;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.1;
	margin: 0;
	padding: 0;
	text-align: left;
}

.designpart h2 {
	line-height: 1.1;
	letter-spacing: -0.05em;
}
.designpart h2 {
	color: #161528;
	font-size: 42px;
	font-weight: 800;
	text-shadow: 0px 1px 0px #ffb9ba;
}

.designpart h3 {
	color: #f87882;
	font-size: 34px;
	font-weight: 650;
	line-height: 1.2;
	max-width: 80%;
	letter-spacing: -0.03em;
	margin: 0;
	text-align: left;
	margin-top: 0;
	padding-top: 10px;
	margin-bottom: 40px;
}

.designpart a {
	color: #161528;
	text-decoration-color: #f87882;
}
.designpart a:hover {
	text-decoration-color: #161528;
}

.designpart .designgrand {
	max-width: 400px;
}

.designpart .designmoyen {
	max-width: 200px;
}
.designpart .designmoyensmall {
	max-width: 150px;
}
.designpart .designpetit {
	max-width: 50px;
}
.designpart a.cta-principal {
	color: #fff;
	background-color: #f87882;
	border: none;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 800;
	padding: 12px 28px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 3px;
	margin-top: 40px;
}
.designpart a.cta-principal:hover {
	animation: blopblop 0.5s;
}

.designpart.rose a.cta-principal {
	background: #161528;
}
.designpart.rose h3 {
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
}

.designpart .bottomlarge {
	margin-bottom: 200px;
}

.designpart .noselect {
	user-select: none;
}

.designpart .separation {
	user-select: none;
	margin-bottom: 100px;
}

.designpart ul {
	font-size: 18px;
	line-height: 1.4;
	list-style: none;
	margin: 36px 0;
	padding: 0;
}

.designpart li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 4px;
}

.designpart li::before {
	content: "";
	position: absolute;
	background: url("/css/valide-design.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
}

.designhome {
	max-width: 900px;
	margin: 0 auto;
	color: #161528;
	font-weight: 450;
}

.designpart .realisation {
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 24px;
	position: relative;
	overflow: hidden;
	z-index: 100;
	display: block;
	max-width: 1000px;
	margin: 0 auto;
	margin-bottom: 40px;
	transition: all 0.3s ease;
}

.designpart .grille2 .realisation {
	margin-bottom: 0;
}

.designpart .realisation:hover {
	box-shadow: rgba(0, 0, 0, 0.5) 0px 8px 24px;
}

.designpart .realisation img {
	vertical-align: top;
	max-width: 1000px;
	width: 100%;
	transition: all 0.3s ease;
}

.designpart .realisation:hover img {
	vertical-align: top;
	max-width: 1000px;
	width: 100%;
	transform: scale(1.05);
}

.designpart .realisation .reatexte {
	z-index: 10;
	padding: 40px;
}

.designpart .realisation .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.designpart .realisation .titre {
	color: #f87882;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

.designpart .realisation .categories {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0;
	margin-top: 4px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.designpart .realisation .categories span:not(:first-child)::before {
	content: "|";
	margin: 0 5px;
	color: #ffb9ba;
}

.designpart .realisation:hover .overlay {
	opacity: 1;
}

.designpart .realisation .overlaycolor {
	width: 100%;
	height: 100%;
	background: #12233c;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0.95;
}

.designpart .portfolio_description h2 {
	color: #f87882;
	text-shadow: none;
	text-transform: uppercase;
	margin: 0;
	font-size: 24px;
	font-weight: 700;
}
.designpart .portfolio_description p {
	margin: 0;
	margin-top: 10px;
	font-size: 16px;
	line-height: 24px;
}

.designpart .portfolio_description .cta-principal {
	padding: 9px 21px;
	font-size: 12px;
	margin-top: 20px;
}

/*
########   #######  ########  ######## ########  #######  ##       ####  #######  
##     ## ##     ## ##     ##    ##    ##       ##     ## ##        ##  ##     ## 
##     ## ##     ## ##     ##    ##    ##       ##     ## ##        ##  ##     ## 
########  ##     ## ########     ##    ######   ##     ## ##        ##  ##     ## 
##        ##     ## ##   ##      ##    ##       ##     ## ##        ##  ##     ## 
##        ##     ## ##    ##     ##    ##       ##     ## ##        ##  ##     ## 
##         #######  ##     ##    ##    ##        #######  ######## ####  #######  
*/

.portfolio {
	background: #f87882;
	background-image: url("/css/fond-graphiste-freelance.svg"), linear-gradient(180deg, #f87882 0%, rgba(255, 185, 186, 1) 100%);
	background-size: cover, contain;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	padding-top: 100px;
	padding-bottom: 10px;
}

.portfolio .container {
	max-width: 1024px;
}

.portfolio img.arrondi {
	max-width: 100%;
	border: 1px solid #ffb9ba;
	transition: all 0.3s ease;
}
.portfolio img.arrondi:hover {
	transform: scale(1.01);
	box-shadow: rgba(149, 157, 165, 0.5) 0px 8px 24px;
}

.portfolio h1 {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	margin-bottom: 0px;
	margin-top: 0;
}

.portfolio a:hover {
	transform: scale(1.01);
}
.portfolio .filariane {
	margin-bottom: 100px;
	margin-top: 0;
	font-size: 15px;
	color: #ffb9ba;
}
.portfolio .filariane a {
	color: #161528;
	text-decoration-style: dotted;
}
.portfolio .filariane a:hover {
	color: #161528;
	text-decoration-style: solid;
}
.portfolio_interne .nextprev div,
.portfolio .nextprev div {
	padding: 0 20px;
}
.portfolio_interne .nextprev img,
.portfolio .nextprev img {
	height: 10px;
	padding: 0 10px;
	margin: 0;
	box-shadow: none;
}

.portfolio_interne .nextprev img.reverse,
.portfolio .nextprev img.reverse {
	transform: rotate(180deg);
}

.portfolio_interne .nextprev div:last-child,
.portfolio .nextprev div:last-child {
	text-align: right;
}
.portfolio_interne .nextprev a,
.portfolio .nextprev a {
	color: #161528;
	text-decoration: none;
}
.portfolio_interne .nextprev a:hover,
.portfolio .nextprev a:hover {
	color: #161528;
	text-decoration: underline;
}

.portfolio_interne {
	background-color: #fffcff;
	padding: 10px;
	margin-top: -100px;
	padding-top: 100px;
}

.portfolio_interne .prestations {
	text-align: center;
	margin-bottom: 10px;
	margin-top: 0;
}

.portfolio_interne .prestations a {
	display: inline-block;
	padding: 2px 18px;
	margin: 0 4px;
	border-radius: 4px;
	color: #161528;
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s ease;
	position: relative;
	text-transform: uppercase;
	font-weight: 600;
}

.portfolio_interne .prestations a:not(:last-child)::after {
	content: "";
	display: block;
	background: #ffb9ba;
	width: 3px;
	height: 3px;
	position: absolute;
	right: -6px;
	top: 15px;
}

.portfolio_interne .prestations a:hover {
	background: #f87882;
	color: #fff;
}

.portfolio_interne .container {
	max-width: 1024px;
}

.portfolio_interne .designpart {
	background: none;
	padding: 0;
	margin-top: 200px;
}
.portfolio_interne .designpart h2 {
	margin: 0px;
}
.portfolio_interne .designpart img {
	margin: 0;
	border: 0;
}

.portfolio_interne img {
	max-width: 100%;
	border-radius: 8px;
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	border: 1px solid #fff;
	position: relative;
	transition: all 0.3s ease;
	margin: 30px 0;
}

.portfolio_interne img:hover {
	transform: scale(1.01);
	box-shadow: rgba(149, 157, 165, 0.5) 0px 8px 24px;
}

.portfolio_interne .bloc_texte {
	max-width: 700px;
	margin: 0 auto;
	padding: 50px 20px;
	font-size: 15px;
	line-height: 20px;
}
.portfolio_interne .bloc_texte h2 {
	text-transform: uppercase;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	color: #161528;
	font-size: 30px;
	line-height: 30px;
	max-width: 70%;
	margin: 40px 0;
}
.portfolio_interne .bloc_texte h3 {
	text-transform: uppercase;
	font-weight: 400;
	color: #161528;
	font-size: 24px;
	line-height: 30px;
	margin: 40px 0 40px;
	opacity: 0.7;
}
.portfolio_interne .bloc_texte p {
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 40px;
	text-align: justify;
	color: #161528;
}
.portfolio_interne .bloc_texte p:last-child {
	margin-bottom: 0;
}
.portfolio_interne .bloc_texte ul {
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 40px;
	text-align: justify;
	color: #161528;
	list-style: none;
	padding: 0;
}

.portfolio_interne .bloc_texte li {
	position: relative;
	padding-left: 36px;
	margin-bottom: 20px;
}

.portfolio_interne .bloc_texte a {
	color: #f87882;
}

.portfolio_interne .bloc_texte li::before {
	content: "";
	position: absolute;
	background: url("/css/valide.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
}

.designpart .pagination {
	text-align: center;
	padding: 30px 0 70px 0;
	font-size: 15px;
	line-height: 40px;
}

.designpart .pagination a {
	text-decoration: none !important;
	display: inline-block;
	border: 1px solid #dedede;
	width: 42px;
	margin: 10px;
	border-radius: 3px;
	background: #fff;
}

.designpart .pagination a:hover {
	border: 1px solid #f87882;
	background: #f87882;
	color: #fff;
	font-weight: 600;
}

.designpart .pagination a.actif {
	border: 1px solid #f87882;
	background: #f87882;
	color: #fff;
	width: auto;
	padding: 0 13px;
}

.designpart .pagination a.actif:hover {
	font-weight: normal;
}

.designpart .pagination a.direction {
	width: 120px;
}

.designpart .pagination strong.direction {
	text-decoration: none !important;
	display: inline-block;
	border: 1px solid #dedede;
	width: 120px;
	font-weight: normal;
	color: #bababa;
	margin: 10px;
	border-radius: 3px;
}

/*
########  #######  ########  ##     ##    ###    ######## ####  #######  ##    ##  ######  
##       ##     ## ##     ## ###   ###   ## ##      ##     ##  ##     ## ###   ## ##    ## 
##       ##     ## ##     ## #### ####  ##   ##     ##     ##  ##     ## ####  ## ##       
######   ##     ## ########  ## ### ## ##     ##    ##     ##  ##     ## ## ## ##  ######  
##       ##     ## ##   ##   ##     ## #########    ##     ##  ##     ## ##  ####       ## 
##       ##     ## ##    ##  ##     ## ##     ##    ##     ##  ##     ## ##   ### ##    ## 
##        #######  ##     ## ##     ## ##     ##    ##    ####  #######  ##    ##  ######  
*/

#formation-top {
	background: #26646c;
	padding: 0 16px;
	padding-top: 200px;
	padding-bottom: 100px;
	color: #f2f5fa;
}
#formation-top .filariane {
	background: #1d4f55;
	display: block;
	width: fit-content;
	padding: 4px 16px;
	margin: 0 auto;
	border-radius: 40px;
	font-size: 13px;
	font-weight: 300;
	margin-bottom: 50px;
}

.formation h3.formation_acc_smallh3 {
	font-size: 24px;
}

.formation_nouveaute_icon {
	height: 18px;
	position: relative;
	top: 3px;
	margin-left: 8px;
}

.formation_favori_icon {
	height: 14px;
	position: relative;
	top: 1px;
	margin-left: 8px;
}

/*###################################################################*/

#formation-top.formations-web,
.formation-specialite.formations-web {
	background: #263a6c;
}
.formation.formations-web a.cta-principal {
	background: #e65f5c;
}
.formation.formations-web .fleches a,
.formation.formations-web .tab_contenu h3,
.formation.formations-web .tab_menu button.active,
.formation.formations-web .tab_menu button.active:hover {
	color: #e65f5c;
}

#formation-top.formations-web .filariane {
	background: #1d2e55;
}
.formation.formations-web.formation-gris {
	background: #f2f5fa;
}

.formation.formations-web h2,
.formation.formations-web .formations_item_link,
.formation.formations-web .tab_menu button:hover,
.formation.formations-web .detailformation h3,
.formation.formations-web .formdetailicon h3,
.formation.formations-web .fleches a:hover {
	color: #3b498d;
}
.formation.formations-web .tab_menu button:hover,
.formation.formations-web .tab_menu button.active {
	background: #fafcff;
}

.formation.formations-web .detailformation h2 img,
.formation.formations-web .formdetailicon img,
.formation.formations-web .fleches img,
.formation.formations-web .tablinks img {
	filter: invert(51%) sepia(34%) saturate(3961%) hue-rotate(328deg) brightness(97%) contrast(85%);
}

/*###################################################################*/

#formation-top.formations-print,
.formation-specialite.formations-print {
	background: #d28800;
}
.formation.formations-print a.cta-principal {
	background: #2e5077;
}
.formation.formations-print .fleches a,
.formation.formations-print .tab_contenu h3,
.formation.formations-print .tab_menu button.active,
.formation.formations-print .tab_menu button.active:hover {
	color: #2e5077;
}
#formation-top.formations-print .filariane {
	background: #b87700;
}
.formation.formations-print.formation-gris {
	background: #fef8f1;
}

.formation.formations-print h2,
.formation.formations-print .formations_item_link,
.formation.formations-print .tab_menu button:hover,
.formation.formations-print .detailformation h3,
.formation.formations-print .formdetailicon h3,
.formation.formations-print .fleches a:hover {
	color: #ffa500;
}
.formation.formations-print .tab_menu button:hover,
.formation.formations-print .tab_menu button.active {
	background: #fffcf8;
}
.formation.formations-print .detailformation h2 img,
.formation.formations-print .formdetailicon img,
.formation.formations-print .fleches img,
.formation.formations-print .tablinks img {
	filter: invert(27%) sepia(56%) saturate(483%) hue-rotate(171deg) brightness(95%) contrast(95%);
}

/*###################################################################*/

#formation-top.formations-photo-video,
.formation-specialite.formations-photo-video {
	background: #87a82e;
}
.formation.formations-photo-video a.cta-principal {
	background: #50808e;
}
.formation.formations-photo-video .fleches a,
.formation.formations-photo-video .tab_contenu h3,
.formation.formations-photo-video .tab_menu button.active,
.formation.formations-photo-video .tab_menu button.active:hover {
	color: #50808e;
}
#formation-top.formations-photo-video .filariane {
	background: #779429;
}
.formation.formations-photo-video.formation-gris {
	background: #f8fbf1;
}

.formation.formations-photo-video h2,
.formation.formations-photo-video .formations_item_link,
.formation.formations-photo-video .tab_menu button:hover,
.formation.formations-photo-video .detailformation h3,
.formation.formations-photo-video .formdetailicon h3,
.formation.formations-photo-video .fleches a:hover {
	color: #a3c93a;
}
.formation.formations-photo-video .tab_menu button:hover,
.formation.formations-photo-video .tab_menu button.active {
	background: #fcfdf8;
}
.formation.formations-photo-video .detailformation h2 img,
.formation.formations-photo-video .formdetailicon img,
.formation.formations-photo-video .fleches img,
.formation.formations-photo-video .tablinks img {
	filter: invert(52%) sepia(10%) saturate(1502%) hue-rotate(147deg) brightness(87%) contrast(84%);
}

/*###################################################################*/

#formation-top.formations-bureautique,
.formation-specialite.formations-bureautique {
	background: #3d4865;
}
.formation.formations-bureautique a.cta-principal {
	background: #da667b;
}
.formation.formations-bureautique .fleches a,
.formation.formations-bureautique .tab_contenu h3,
.formation.formations-bureautique .tab_menu button.active,
.formation.formations-bureautique .tab_menu button.active:hover {
	color: #da667b;
}
#formation-top.formations-bureautique .filariane {
	background: #323c52;
}
.formation.formations-bureautique.formation-gris {
	background: #f4f5f8;
}

.formation.formations-bureautique h2,
.formation.formations-bureautique .formations_item_link,
.formation.formations-bureautique .tab_menu button:hover,
.formation.formations-bureautique .detailformation h3,
.formation.formations-bureautique .formdetailicon h3,
.formation.formations-bureautique .fleches a:hover {
	color: #535b82;
}
.formation.formations-bureautique .tab_menu button:hover,
.formation.formations-bureautique .tab_menu button.active {
	background: #fafafc;
}
.formation.formations-bureautique .detailformation h2 img,
.formation.formations-bureautique .formdetailicon img,
.formation.formations-bureautique .fleches img,
.formation.formations-bureautique .tablinks img {
	filter: invert(73%) sepia(45%) saturate(5002%) hue-rotate(308deg) brightness(90%) contrast(90%);
}

/*###################################################################*/

.formation .fleches img {
	height: 10px;
	padding: 0 10px;
}
.formation .fleches img.reverse {
	transform: rotate(180deg);
}
.formation .fleches a {
	text-decoration: none;
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 400;
}
.formation .fleches a:hover {
	font-weight: 500;
}

.accessibilite-icons {
	max-width: 250px;
}

.formation .refclient {
	padding: 20px;
	margin: 100px auto;
	gap: 80px;
}
.formation .refclient img {
	opacity: 0.4;
	transition: all 0.3s ease;
}
.formation .refclient img:hover {
	opacity: 1;
	transform: scale(1.1);
	filter: invert(38%) sepia(82%) saturate(258%) hue-rotate(147deg) brightness(96%) contrast(98%) drop-shadow(rgba(255, 255, 255, 1) 0px 8px 24px);
}

.formation .formation-specialite {
	color: #fff;
	padding: 16px;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
}
.formation .formation-specialite:hover {
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	transform: scale(1.05);
}
.formation .formation-specialite:hover p {
	opacity: 1;
}
.formation .formation-specialite:hover img {
	transform: rotate(-10deg);
}
.formation .formation-specialite h3 {
	color: #fff;
	font-size: 22px;
	margin-bottom: 20px;
	margin-top: 10px;
}
.formation .formation-specialite p {
	font-size: 15px;
	opacity: 0.7;
	line-height: 1.6;
}
.formation .formation-specialite img {
	width: 50px;
	margin: 20px 0;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(287deg) brightness(109%) contrast(102%);
}
.formation .formation-specialite a {
	color: #232323;
	background: #fff;
	display: block;
	width: fit-content;
	border-radius: 4px;
	margin-top: 50px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 20px;
}

#formation-top .filariane a {
	color: #fff;
	font-weight: 500;
	margin: 0 4px;
	text-decoration: none;
}
#formation-top .filariane a:hover {
	border-bottom: 1px solid #fff;
}

#formation-top h1 {
	font-size: 80px;
	font-weight: 600;
	margin: 12px;
	letter-spacing: -0.03em;
	text-align: center;
}

#formation-top .intro {
	max-width: 800px;
	margin: 0 auto;
}

#formation-top .intro p:last-child {
	margin-top: 60px;
}

.formation.formation-gris {
	background: #f2f5fa;
}

.formation-resume img {
	margin: 0;
	margin-right: 4px;
}

.formation-resume span {
	margin: 16px;
	opacity: 0.2;
	font-size: 20px;
}

.formation a.cta-principal {
	background: #bf4e17;
	position: relative;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	padding: 8px 30px;
	font-size: 15px;
	border-radius: 3px;
}
.formation a.cta-principal:hover {
	animation: blopblop 0.5s;
}

.formation {
	color: #3b424d;
	background: #fff;
	padding: 0 16px;
	padding-top: 100px;
	padding-bottom: 100px;
}

.formation h2 {
	color: #3b7a8d;
	text-align: center;
	font-size: 50px;
	font-weight: 800;
	margin: 100px auto;
	max-width: 800px;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.formation h3 {
	color: #3b424d;
	font-size: 40px;
	font-weight: 600;
	margin: 0;
	margin-bottom: 40px;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.formation ul {
	font-size: 18px;
	line-height: 1.4;
	list-style: none;
	margin: 0;
	padding: 0;
}

.formation li {
	margin-bottom: 32px;
	position: relative;
	padding-left: 38px;
}

.formation li::before {
	content: "";
	position: absolute;
	background: url("/css/valide.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: -1px;
	width: 26px;
	height: 26px;
}

.formation_tabulations h2 {
	margin-bottom: 40px;
}
.formation_tabulations p.formation_tabp {
	margin-bottom: 100px;
}

.formation .tab_menu {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
}
.formation .tab_menu button {
	color: #637891;
	background: #fff;
	border: none;
	display: block;
	width: 100%;
	text-align: left;
	cursor: pointer;
	margin: 0;
	padding: 16px;
	font-size: 18px;
	font-weight: 400;
}
.formation .tab_menu button:hover,
.formation .tab_menu button.active {
	color: #3b498d;
	background: #f7f9fc;
	font-weight: 600;
}

.formation .tabcontent {
	padding-bottom: 40px;
}

.formation .formations_item_link {
	color: #3b498d;
	display: block;
	width: fit-content;
	text-align: left;
	cursor: pointer;
	margin: 0;
	padding: 12px 0;
	font-size: 18px;
	text-decoration: none;
	position: relative;
	padding-left: 38px;
	line-height: 1.4;
}

.formation .formations_item_link::before {
	content: "";
	position: absolute;
	background: url("/css/formation.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: 12px;
	width: 26px;
	height: 26px;
	opacity: 0.5;
}

.formation .formations_item_link span {
	color: #637891;
	font-size: 16px;
}

.formation .formations_item_link:hover strong {
	text-decoration: underline;
}

.formation_univers {
	background: #fff;
	padding: 20px;
	padding-top: 50px;
	border-radius: 8px;
	text-align: center;
}

.formation_univers img {
	width: 60px;
}

.formation_univers h3 {
	font-size: 30px;
	margin-top: 30px;
}

.formation .detailformation {
	margin-bottom: 0;
}

.detailformation h2 {
	font-size: 20px;
	text-align: left;
	margin: 0;
	font-weight: 600;
	padding-bottom: 4px;
	margin-bottom: 20px;
	padding-left: 28px;
	position: relative;
}

.detailformation h2 img {
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
}

.detailformation h3 {
	font-size: 17px;
	text-align: left;
	margin: 0;
	font-weight: 700;
	padding-bottom: 12px;
	margin-top: 40px;
}

.detailformation p {
	margin: 0;
	font-size: 15px;
	color: #3b424d;
}

.detailformation_bloc {
	margin-bottom: 30px;
	padding: 16px;
}

.detailformation_bloc_programme {
	background-color: #fff;
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	margin-bottom: 30px;
	padding: 24px;
	padding-bottom: 40px;
	border-radius: 8px;
}

.detailformation_bloc_programme h2 {
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}

.formdetailicon {
	text-align: center;
}

.formdetailicon img {
	width: 60px;
}

.formdetailicon h3 {
	font-size: 24px;
	margin: 40px 0 -4px;
}

.formation .tablinks img {
	width: 10px;
	margin-right: 10px;
}

/*
########  ##     ##  #######  ########  #######   ######   ########     ###    ########  ##     ## #### ######## 
##     ## ##     ## ##     ##    ##    ##     ## ##    ##  ##     ##   ## ##   ##     ## ##     ##  ##  ##       
##     ## ##     ## ##     ##    ##    ##     ## ##        ##     ##  ##   ##  ##     ## ##     ##  ##  ##       
########  ######### ##     ##    ##    ##     ## ##   #### ########  ##     ## ########  #########  ##  ######   
##        ##     ## ##     ##    ##    ##     ## ##    ##  ##   ##   ######### ##        ##     ##  ##  ##       
##        ##     ## ##     ##    ##    ##     ## ##    ##  ##    ##  ##     ## ##        ##     ##  ##  ##       
##        ##     ##  #######     ##     #######   ######   ##     ## ##     ## ##        ##     ## #### ######## 

*/

#photographie {
	background: url("/css/fond-photos.webp") no-repeat top center #fff;
	padding: 0 16px;
	padding-top: 320px;
	padding-bottom: 350px;
}

#photographie .grille2 {
	margin-top: 100px;
	margin-bottom: 100px;
}

#photographie h1 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 58px;
	text-align: center;
	letter-spacing: -0.03em;
	max-width: 80%;
	margin: 150px auto;
	margin-top: 0;
	line-height: 1;
	color: #333138;
}

#photographie h1::after {
	content: "";
	display: block;
	width: 80px; /* longueur du trait */
	height: 4px; /* épaisseur */
	background-color: #f5c400; /* jaune */
	margin: 30px auto 30px; /* centre horizontalement */
	border-radius: 2px;
}

#photographie h2 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	line-height: 1.66;
	max-width: 80%;
	line-height: 1.2;
	color: #333138;
	letter-spacing: -0.03em;
	padding-top: 20px;
	padding-bottom: 10px;
	position: relative;
	z-index: 100;
}

#photographie h2.h2center {
	text-align: center;
	max-width: 550px;
	margin: 150px auto;
}

#photographie h2.h2center::after {
	content: "";
	display: block;
	width: 80px; /* longueur du trait */
	height: 4px; /* épaisseur */
	background-color: #f5c400; /* jaune */
	margin: 30px auto 30px; /* centre horizontalement */
	border-radius: 2px;
}

#photographie h3 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 32px;
	max-width: 80%;
	line-height: 1.4;
	color: #5d6d81;
	letter-spacing: -0.03em;
	padding-top: 20px;
	padding-bottom: 10px;
	position: relative;
	z-index: 100;
}

#photographie p {
	margin-bottom: 50px;
}

#photographie ul {
	font-size: 18px;
	line-height: 28px;
	margin-top: -40px;
	margin-bottom: 50px;
}

#photographie .filariane {
	text-transform: uppercase;
	font-size: 13px;
	color: #5d6d81;
	text-align: center;
	margin: 0;
	margin-bottom: 30px;
}

#photographie .filariane a {
	border: none;
	text-decoration: none;
	margin: 4px;
	color: #1989dd;
	font-weight: 600;
}

#photographie a.cta-principal {
	position: relative;
	display: inline-block;
	background: #1989dd;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	padding: 8px 30px;
	font-size: 14px;
	border-radius: 3px;
}
#photographie a.cta-principal:hover {
	animation: blopblop 0.5s;
}

#photographie .galerie-photo a.glightbox {
	aspect-ratio: 1;
	display: flex;
	justify-content: center; /* horizontal */
	align-items: center; /* vertical */
	overflow: hidden;
	border-radius: 8px;
	border: 1px solid #fff;
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	transition: all 0.3s ease-in-out;
}

#photographie .galerie-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#photographie .galerie-photo a.glightbox:hover {
	box-shadow: rgba(149, 157, 165, 0.5) 0px 8px 24px;
	filter: grayscale(0);
	transform: scale(1.1);
}

.image-viewer {
	z-index: 999 !important;
}

/*
 ######   #######  ##    ## ########    ###     ######  ######## 
##    ## ##     ## ###   ##    ##      ## ##   ##    ##    ##    
##       ##     ## ####  ##    ##     ##   ##  ##          ##    
##       ##     ## ## ## ##    ##    ##     ## ##          ##    
##       ##     ## ##  ####    ##    ######### ##          ##    
##    ## ##     ## ##   ###    ##    ##     ## ##    ##    ##    
 ######   #######  ##    ##    ##    ##     ##  ######     ##    

*/

#bloc_contact {
	background: url("/css/zebre.svg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding: 0 16px;
	padding-top: 150px;
	padding-bottom: 200px;
}

#bloc_contact h1 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 48px;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: -0.03em;
	max-width: 80%;
	margin: 0 auto;
	line-height: 1;
	color: #333138;
	padding-bottom: 30px;
	margin-top: 50px;
}
#bloc_contact h2 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 32px;
	text-transform: uppercase;
	text-align: left;
	max-width: 80%;
	line-height: 1.2;
	color: #1e2c3c;
	padding-bottom: 10px;
	margin-top: 50px;
	opacity: 0.7;
}

#bloc_contact .bloc-classique {
	margin-bottom: 100px;
	padding-bottom: 30px;
}

.contact-infos {
	font-size: 13px;
	color: #5d6d81;
}

.contact_imgtitre {
	text-align: center;
	margin-bottom: 50px;
}
.contact_imgtitre img {
	max-width: 550px;
	animation: blopblop 25s ease-in-out;
	animation-iteration-count: infinite;
	-webkit-user-select: none; /* Chrome, Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* IE/Edge ancien */
	user-select: none; /* Standard */
}

.form-group {
	margin-bottom: 24px;
}

.form-group.forfax {
	display: none;
}

.form-contact label {
	display: block;
	padding-bottom: 4px;
	font-size: 14px;
	font-weight: bold;
	color: #5d6d81;
}
.form-contact textarea {
	resize: vertical;
	min-height: 200px;
}
.form-contact input,
.form-contact textarea {
	background: #f4f7f9;
	width: 100%;
	border: 1px solid #cdcdcd;
	padding: 9px 15px 9px 15px;
	font-size: 18px;
	border-radius: 3px;
	line-height: 34px;
	margin-right: 15px;
	color: #232323;
}
.form-contact input:focus,
.form-contact textarea:focus {
	border: 1px solid #1989dd;
	outline: none;
}
.form-contact input::placeholder,
.form-contact textarea::placeholder {
	color: #bacfd9;
}
.form-contact button {
	background: #1989dd;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
	border: 0px solid #1989dd;
	padding: 10px 30px 10px 30px;
	font-size: 14px;
	border-radius: 3px;
	line-height: 24px;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.form-contact button:hover {
	animation: blopblop 0.5s;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
}

.contact-envoi {
	background: #93c554;
	color: #fff;
	font-weight: 700px;
	padding: 12px 12px;
	border-radius: 3px;
	margin: 30px 0;
}

/*
########  ##        #######   ######   
##     ## ##       ##     ## ##    ##  
##     ## ##       ##     ## ##        
########  ##       ##     ## ##   #### 
##     ## ##       ##     ## ##    ##  
##     ## ##       ##     ## ##    ##  
########  ########  #######   ######   

*/

#blog {
	background: url("/css/blog-fond.gif") top center;
	padding: 0 16px;
	padding-top: 200px;
	padding-bottom: 200px;
}

#blog h1 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 48px;
	text-transform: uppercase;
	text-align: left;
	max-width: 80%;
	line-height: 1;
	color: #333138;
	padding-bottom: 30px;
	margin-top: 0;
}

#blog h1.principal {
	text-align: center;
	max-width: 100%;
	padding-top: 30px;
	padding-bottom: 100px;
}
#blog h1.principal span {
	font-family: "Times New Roman", Times, serif;
	font-style: italic;
	font-weight: normal;
	text-transform: none;
	font-size: 86px;
	letter-spacing: -0.05em;
	color: #fe5f55;
	display: block;
	margin-top: -15px;
}
#blog h2 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 36px;
	text-align: left;
	max-width: 80%;
	line-height: 1.1;
	padding-top: 70px;
	text-transform: uppercase;
	color: #333138;
}

#blog h3 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	line-height: 1.66;
	max-width: 80%;
	line-height: 1.1;
	color: #fe5f55;
	padding-top: 50px;
	padding-bottom: 10px;
}

#blog h3::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 2px;
	background: #fe5f55;
	margin-right: 16px;
	position: relative;
	top: -6px;
}

#blog a {
	color: #fe5f55;
	border-bottom: 1px dotted #fe5f55;
	text-decoration: none;
	transition: all 0.3s ease;
}

#blog a:hover {
	border-bottom: 1px solid #fe5f55;
}

#blog a.cta-principal {
	position: relative;
	display: inline-block;
	background: #1989dd;
	background: linear-gradient(180deg, rgba(30, 163, 241, 1) 0%, rgba(25, 137, 221, 1) 100%);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	padding: 8px 30px;
	font-size: 14px;
	border-radius: 3px;
	border: none;
}
#blog a.cta-principal:hover {
	animation: blopblop 0.5s;
	border: none;
}

#blog img {
	max-width: 100%;
	border-radius: 4px;
	border: 1px solid #fff;
	filter: grayscale(0.1);
	transition: all 0.7s ease;
}

#blog img:hover {
	box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
	transform: scale(1.01);
	filter: grayscale(0);
}

#blog .introduction {
	max-width: 1000px;
	margin: 0px auto;
	padding-left: 16px;
	margin-bottom: 150px;
	text-align: justify;
	border-left: 4px solid #838f9f;
	color: #5d6d81;
}

#blog .filariane {
	text-transform: uppercase;
	font-size: 13px;
	margin-left: -4px;
	color: #5d6d81;
}

#blog .filariane a {
	border: none;
	margin: 4px;
}

#blog #containeur {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 424px auto;
}

#blog #colgauche {
	font-size: 12px;
	padding: 16px;
	padding-bottom: 200px;
	font-size: 18px;
	line-height: 28px;
}

#blog #colgauche #sommaire {
	position: sticky;
	top: 150px; /* obligatoire : la “butée” */
	z-index: 10; /* pour passer au-dessus */
}

#blog #colgauche #sommaire .niveau2 {
	font-weight: bold;
	margin-top: 16px;
	font-size: 16px;
}

#blog #colgauche #sommaire .niveau2 a {
	color: #333138;
}
#blog #colgauche #sommaire .niveau3 {
	padding-left: 8px;
	font-size: 15px;
}

#blog #colgauche #sommaire a {
	border: none;
	color: #bababa;
}
#blog #colgauche #sommaire a:hover {
	border: none;
	color: #333138;
}

#blog #colgauche ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#blog #coldroite {
	padding: 16px;
	padding-bottom: 200px;
}

#blog #coldroite p {
	line-height: 32px;
	margin-bottom: 1.5em;
}

#blog #coldroite pre {
	background: #232323;
	border-radius: 4px;
	padding: 32px 16px;
	color: #f4f7f9;
	white-space: pre-wrap;
	line-height: 1.5;
}

#blog #coldroite a[name] {
	position: relative;
	top: -150px;
}

#listing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
#listing img:hover {
	transform: none;
}
#listing a {
	display: block;
	color: #333138;
	line-height: 1.6;
	text-decoration: none;
	border-bottom: 0;
	margin-bottom: 20px;
	padding: 12px;
}
#listing a:hover {
	transform: scale(1.02);
	border: none;
}
#listing a:hover strong {
	color: #fe5f55;
	opacity: 1;
}
#listing strong {
	display: block;
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 800;
	line-height: 1.1;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #333138;
	max-width: 80%;
}

#listing p {
	margin: 0;
}

#blog .pagination {
	text-align: center;
	padding: 30px 0 70px 0;
	font-size: 15px;
	line-height: 40px;
}

#blog .pagination a {
	text-decoration: none !important;
	display: inline-block;
	border: 1px solid #dedede;
	width: 42px;
	margin: 10px;
	border-radius: 3px;
	background: #fff;
}

#blog .pagination a:hover {
	border: 1px solid #fe5f55;
	font-weight: 600;
}

#blog .pagination a.actif {
	border: 1px solid #fe5f55;
	background: #fe5f55;
	color: #fff;
	width: auto;
	padding: 0 13px;
}

#blog .pagination a.actif:hover {
	font-weight: normal;
}

#blog .pagination a.direction {
	width: 120px;
}

#blog .pagination strong.direction {
	text-decoration: none !important;
	display: inline-block;
	border: 1px solid #dedede;
	width: 120px;
	font-weight: normal;
	color: #bababa;
	margin: 10px;
	border-radius: 3px;
}

#blog .apropos {
	margin-top: 150px;
	padding: 16px;
	border: 1px solid #fe5f55;
	border-radius: 4px;
}
#blog #coldroite .apropos p {
	font-size: 15px;
	line-height: 24px;
	margin-left: 166px;
	margin-top: 0;
}
#blog .apropos h2 {
	color: #fe5f55;
	text-align: left;
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 12px;
}
#blog .apropos img {
	filter: grayscale(1);
	float: left;
	margin-right: 16px;
	max-width: 150px;
	margin-top: 4px;
}
#blog .apropos img:hover {
	filter: grayscale(0);
}
#blog #containeurnav {
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 100px;
}

#blog #containeurnav div {
	padding: 16px;
}
#blog #containeurnav p {
	text-transform: uppercase;
	color: #fe5f55;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 12px;
}
#blog #containeurnav a {
	display: block;
	max-width: 80%;
	color: #232323;
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 800;
	line-height: 1.1;
	border: none;
}
#blog #containeurnav a:hover {
	color: #fe5f55;
}
#blog aside {
	padding-bottom: 100px;
}
#blog aside h2 {
	text-align: center;
	width: 100%;
	max-width: 100%;
	color: #fe5f55;
	margin-bottom: 80px;
}
/*
########  ########  ########  ######  ######## ##    ## ########    ###    ######## ####  #######  ##    ## 
##     ## ##     ## ##       ##    ## ##       ###   ##    ##      ## ##      ##     ##  ##     ## ###   ## 
##     ## ##     ## ##       ##       ##       ####  ##    ##     ##   ##     ##     ##  ##     ## ####  ## 
########  ########  ######    ######  ######   ## ## ##    ##    ##     ##    ##     ##  ##     ## ## ## ## 
##        ##   ##   ##             ## ##       ##  ####    ##    #########    ##     ##  ##     ## ##  #### 
##        ##    ##  ##       ##    ## ##       ##   ###    ##    ##     ##    ##     ##  ##     ## ##   ### 
##        ##     ## ########  ######  ######## ##    ##    ##    ##     ##    ##    ####  #######  ##    ## 
*/
#presentation {
	background: #fff;
	padding: 0 16px;
	padding-top: 5px;
	padding-bottom: 200px;
}
#presentation h2 {
	color: #2a2a72;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 44px;
	text-align: center;
	margin: 200px auto;
	max-width: 70%;
	line-height: 1.1;
	text-transform: uppercase;
	position: relative;
	z-index: 1;
}

#presentation h2:first-of-type {
	margin: 50px auto;
}

#presentation h3 {
	color: #ffa400;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size: 28px;
	line-height: 1.66;
	max-width: 80%;
	line-height: 1.1;
	padding-top: 20px;
	text-transform: uppercase;
	padding-bottom: 10px;
	position: relative;
	z-index: 100;
}

#presentation_top {
	background: url("/css/presentation_fond.webp") top right fixed;
	padding: 0 16px;
	padding-top: 200px;
	text-align: center;
}

#presentation_serparateur {
	margin: -16px;
	margin-top: 100px;
	margin-bottom: -1px;
}

#presentation .grille2 {
	row-gap: 240px;
}

#presentation .container {
	max-width: 1160px;
}
#presentation_top h1 {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 48px;
	text-transform: uppercase;
	text-align: center;
	max-width: 70%;
	margin: 0 auto;
	line-height: 1;
	padding-bottom: 100px;
	margin-top: 60px;
}

#presentation .citation {
	text-align: center;
	padding: 250px 0;
	position: relative;
	margin: 0 auto;
	width: 80%;
}

#presentation .citation p {
	font-size: 80px;
	margin: 0;
	margin-bottom: 20px;
	padding: 0;
	font-family: "Instrument Serif", serif;
	line-height: 1;
	color: #5d6d81;
	position: relative;
	z-index: 2;
}
#presentation .citation em {
	position: relative;
	z-index: 2;
	color: #bacfd9;
}

#presentation p {
	position: relative;
	z-index: 100;
}

#presentation .citation::before {
	content: "";
	position: absolute;
	left: 50%;
	width: calc(100vw - 30px);
	transform: translateX(-50%) translateY(-50%);
	top: 50%;
	aspect-ratio: 2 / 1;
	background-image: url("/css/separation1.svg");
	background-repeat: no-repeat; /* répété sur toute la largeur */
	background-position: center;
	background-size: auto 100%; /* ajuste la hauteur */
	pointer-events: none;
	z-index: 1;
}
#presentation .separation2::before {
	content: "";
	position: absolute;
	left: 50%;
	width: calc(100vw - 30px);
	transform: translateX(-50%) translateY(-50%);
	top: 50%;
	aspect-ratio: 1 / 1;
	background-image: url("/css/separation2.svg");
	background-repeat: no-repeat; /* répété sur toute la largeur */
	background-position: center;
	background-size: auto 100%; /* ajuste la hauteur */
	pointer-events: none;
	z-index: 1;
}
#presentation .separation2 span {
	z-index: 2;
	position: relative;
}
#presentation .separation3::before {
	content: "";
	position: absolute;
	left: 50%;
	width: calc(100vw - 30px);
	transform: translateX(-50%) translateY(-50%);
	top: 50%;
	aspect-ratio: 1 / 1;
	background-image: url("/css/separation3.svg");
	background-repeat: no-repeat; /* répété sur toute la largeur */
	background-position: center;
	background-size: auto 100%; /* ajuste la hauteur */
	pointer-events: none;
	z-index: 0;
}
#presentation .separation3 span {
	z-index: 2;
	position: relative;
}
#presentation .separation4::before {
	content: "";
	position: absolute;
	left: 50%;
	width: calc(100vw - 30px);
	transform: translateX(-50%) translateY(-50%);
	top: 50%;
	aspect-ratio: 1 / 1;
	background-image: url("/css/separation4.svg");
	background-repeat: no-repeat; /* répété sur toute la largeur */
	background-position: center;
	background-size: auto 100%; /* ajuste la hauteur */
	pointer-events: none;
	z-index: 0;
}
#presentation .separation4 span {
	z-index: 2;
	position: relative;
}

.logopixelcreation {
	position: absolute;
	width: 170px;
	margin: 20px;
	top: 10px;
	left: 50%;
	margin-left: -85px;
}

.contact {
	position: absolute;
	bottom: 0;
	right: 0;
}

#presentation .prez_formations {
	text-align: left;
}

#presentation .prez_formations img {
	width: 200px;
	padding: 10px;
	transition: all 0.4s ease;
}
#presentation .prez_formations img:hover {
	filter: none;
	transform: scale(1.1);
}

#presentation .prez_formations .date {
	color: #fff;
	background: #2a2a72;
	display: block;
	width: fit-content;
	padding: 4px 8px;
	border-radius: 20px;
	font-size: 13px;
	line-height: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#presentation .prez_formations h3 {
	color: #2a2a72;
	margin: 0;
	padding: 0;
	font-size: 24px;
	width: 100%;
	max-width: 100%;
}

#presentation .prez_loisirs h3 {
	width: 100%;
	max-width: 100%;
}

#presentation .prez_loisirs img {
	height: 100px;
	padding: 10px;
	transition: all 0.4s ease;
	opacity: 0.7;
	position: relative;
	z-index: 100;
}
#presentation .prez_loisirs img:hover {
	filter: none;
	transform: scale(1.1);
	opacity: 1;
}
#presentation .prez_loisirs h3 {
	color: #2a2a72;
	margin: 0;
	padding: 0;
	font-size: 24px;
	width: 100%;
	max-width: 100%;
}

#presentation a.cta-principal {
	color: #fff;
	background: #2a2a72;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 700;
	padding: 8px 30px;
	font-size: 14px;
	border-radius: 3px;
	border: none;
}
#presentation a.cta-principal:hover {
	animation: blopblop 0.5s;
	border: none;
}

/*
########     ###     ######   ########  ######       ########  ##          ###    ##    ##  ######  ##     ## ########  ######  
##     ##   ## ##   ##    ##  ##       ##    ##      ##     ## ##         ## ##   ###   ## ##    ## ##     ## ##       ##    ## 
##     ##  ##   ##  ##        ##       ##            ##     ## ##        ##   ##  ####  ## ##       ##     ## ##       ##       
########  ##     ## ##   #### ######    ######       ########  ##       ##     ## ## ## ## ##       ######### ######    ######  
##        ######### ##    ##  ##             ##      ##     ## ##       ######### ##  #### ##       ##     ## ##             ## 
##        ##     ## ##    ##  ##       ##    ##      ##     ## ##       ##     ## ##   ### ##    ## ##     ## ##       ##    ## 
##        ##     ##  ######   ########  ######       ########  ######## ##     ## ##    ##  ######  ##     ## ########  ######  
*/

#pageblanche {
	background: #fffcff;
}

#pageblanche .container {
	max-width: 700px;
	text-align: justify;
}

#pageblanche a {
	color: #0f59a6;
}

#pageblanche p,
#pageblanche ul {
	font-size: 16px;
	line-height: 28px;
	padding: 0;
	margin: 28px 0;
	list-style: none;
}

#pageblanche li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 8px;
}

#pageblanche li::before {
	content: "";
	position: absolute;
	background: url("/css/valide.svg") no-repeat center;
	background-size: contain;
	left: 0;
	top: 6px;
	width: 16px;
	height: 16px;
}

#pageblanche h1 {
	text-align: center;
	color: #1989dd;
	text-transform: uppercase;
	font-weight: 800;
	margin: 0;
}

#pageblanche h2 {
	color: #3b424d;
	text-transform: uppercase;
	font-weight: 800;
	margin: 100px 0 50px;
}

/*
   ###    ##    ## #### ##     ##    ###    ######## ####  #######  ##    ##  ######  
  ## ##   ###   ##  ##  ###   ###   ## ##      ##     ##  ##     ## ###   ## ##    ## 
 ##   ##  ####  ##  ##  #### ####  ##   ##     ##     ##  ##     ## ####  ## ##       
##     ## ## ## ##  ##  ## ### ## ##     ##    ##     ##  ##     ## ## ## ##  ######  
######### ##  ####  ##  ##     ## #########    ##     ##  ##     ## ##  ####       ## 
##     ## ##   ###  ##  ##     ## ##     ##    ##     ##  ##     ## ##   ### ##    ## 
##     ## ##    ## #### ##     ## ##     ##    ##    ####  #######  ##    ##  ######  
*/

@keyframes blopblop {
	25% {
		transform: scale(0.95, 1.05);
	}
	50% {
		transform: scale(1.05, 0.95);
	}
	75% {
		transform: scale(0.95, 1.05);
	}
}

/*
########  ########  ######  ########   #######  ##    ##  ######  #### ##     ## ######## 
##     ## ##       ##    ## ##     ## ##     ## ###   ## ##    ##  ##  ##     ## ##       
##     ## ##       ##       ##     ## ##     ## ####  ## ##        ##  ##     ## ##       
########  ######    ######  ########  ##     ## ## ## ##  ######   ##  ##     ## ######   
##   ##   ##             ## ##        ##     ## ##  ####       ##  ##   ##   ##  ##       
##    ##  ##       ##    ## ##        ##     ## ##   ### ##    ##  ##    ## ##   ##       
##     ## ########  ######  ##         #######  ##    ##  ######  ####    ###    ######## 


########  ########  ######  ########   #######  ##    ##  ######  #### ##     ## ######## 
##     ## ##       ##    ## ##     ## ##     ## ###   ## ##    ##  ##  ##     ## ##       
##     ## ##       ##       ##     ## ##     ## ####  ## ##        ##  ##     ## ##       
########  ######    ######  ########  ##     ## ## ## ##  ######   ##  ##     ## ######   
##   ##   ##             ## ##        ##     ## ##  ####       ##  ##   ##   ##  ##       
##    ##  ##       ##    ## ##        ##     ## ##   ### ##    ##  ##    ## ##   ##       
##     ## ########  ######  ##         #######  ##    ##  ######  ####    ###    ######## 


########  ########  ######  ########   #######  ##    ##  ######  #### ##     ## ######## 
##     ## ##       ##    ## ##     ## ##     ## ###   ## ##    ##  ##  ##     ## ##       
##     ## ##       ##       ##     ## ##     ## ####  ## ##        ##  ##     ## ##       
########  ######    ######  ########  ##     ## ## ## ##  ######   ##  ##     ## ######   
##   ##   ##             ## ##        ##     ## ##  ####       ##  ##   ##   ##  ##       
##    ##  ##       ##    ## ##        ##     ## ##   ### ##    ##  ##    ## ##   ##       
##     ## ########  ######  ##         #######  ##    ##  ######  ####    ###    ######## 


########  ########  ######  ########   #######  ##    ##  ######  #### ##     ## ######## 
##     ## ##       ##    ## ##     ## ##     ## ###   ## ##    ##  ##  ##     ## ##       
##     ## ##       ##       ##     ## ##     ## ####  ## ##        ##  ##     ## ##       
########  ######    ######  ########  ##     ## ## ## ##  ######   ##  ##     ## ######   
##   ##   ##             ## ##        ##     ## ##  ####       ##  ##   ##   ##  ##       
##    ##  ##       ##    ## ##        ##     ## ##   ### ##    ##  ##    ## ##   ##       
##     ## ########  ######  ##         #######  ##    ##  ######  ####    ###    ######## 


########  ########  ######  ########   #######  ##    ##  ######  #### ##     ## ######## 
##     ## ##       ##    ## ##     ## ##     ## ###   ## ##    ##  ##  ##     ## ##       
##     ## ##       ##       ##     ## ##     ## ####  ## ##        ##  ##     ## ##       
########  ######    ######  ########  ##     ## ## ## ##  ######   ##  ##     ## ######   
##   ##   ##             ## ##        ##     ## ##  ####       ##  ##   ##   ##  ##       
##    ##  ##       ##    ## ##        ##     ## ##   ### ##    ##  ##    ## ##   ##       
##     ## ########  ######  ##         #######  ##    ##  ######  ####    ###    ######## 
*/

@media (max-width: 991.98px) {
	body {
		font-size: 14px;
	}
	p {
		font-size: 16px;
		line-height: 24px;
	}

	.u800nv {
		display: none;
	}
	.spacer100h {
		padding: 20px 0;
	}

	.grille2,
	.grille12,
	.grille21,
	.grille13,
	.grille31,
	.grille3,
	.grille4 {
		display: block;
	}

	.grille5 {
		grid-template-columns: 1fr 1fr;
	}

	.creableu,
	.creanoir {
		width: 300px;
		margin-left: -150px;
		margin-top: -70px;
	}

	#menu_principal {
		top: 16px;
	}
	#menu_principal a.menu_principal_icone {
		display: block;
		margin-bottom: 40px;
	}

	a.menu_principal_icone {
		margin: 15px 0 0;
	}
	.menu_principal_icone img {
		max-height: 100px;
		margin: 25px 0 0;
	}

	.mobile-nav-toggle {
		display: block;
		padding: 20px;
	}
	#menu_principal_interne > nav > div:hover .sous_menu {
		display: none;
	}

	#menu_principal_interne > nav > div {
		float: none;
		font-weight: 500;
	}
	#menu_principal_interne > nav > div:last-child {
		margin-top: 20px;
		font-weight: 900;
	}

	#menu_principal a {
		font-size: 17px;
		margin: 0;
		padding: 20px;
		color: #fff;
		&:hover {
			font-weight: 700;
			color: #ff00b5;
		}
	}

	#menu_principal_interne > nav > div:hover > a {
		color: #ff00b5;
	}

	#menu_principal_interne .fleche {
		display: none;
	}

	#menu_principal_interne > nav > div .separation {
		display: none;
	}

	#menu_principal a.menu_principal_contact {
		background: none;
		padding: 24px;
		margin: 0;

		&:hover {
			animation: none;
			background: none;
			box-shadow: none;
			font-weight: 700;
			color: #ff00b5;
		}
	}

	#menu_principal_interne > nav.primary-nav {
		position: fixed;
		inset: 0 0 0 0;
		height: 100dvh;
		top: -16px;
		background: #12233c;
		backdrop-filter: blur(10px);
		z-index: 999;
		transform: translateX(100%);
		transition: transform var(--transition-speed) ease-in-out;
		display: flex;
		flex-direction: column;
		justify-content: center; /* Aligne les enfants au centre verticalement */

		&.primary-nav--is-open {
			transform: translateX(0);
		}

		.primary-nav__list {
			flex-direction: column;
			align-items: flex-start;
			padding: calc(var(--header-height) + 2rem) 2rem;
			gap: 0;
			height: 100%;
			overflow-y: auto;
		}

		.primary-nav__item--has-submenu {
			display: flex;
			flex-wrap: wrap;
			width: 100%;
			position: static;

			& > .primary-nav__link {
				flex-grow: 1;

				&::after {
					display: none;
				}
			}
		}

		.primary-nav__submenu-toggle {
			display: flex;
			align-items: center;
			justify-content: center;
			background: none;
			border: none;
			cursor: pointer;
			padding: 0.5rem;
			flex-shrink: 0;

			&::after {
				content: " ▼";
				font-size: 0.8em;
				display: inline-block;
				transition: transform var(--transition-speed) ease;
			}

			&[aria-expanded="true"]::after {
				transform: rotate(180deg);
			}
		}

		.primary-nav__submenu {
			position: static;
			display: none;
			visibility: visible;
			opacity: 1;
			transform: none;
			box-shadow: none;
			background-color: transparent;
			padding: 0.5rem 0 0.5rem 1.5rem;
			width: 100%;
			min-width: unset;
			border-left: 2px solid var(--color-primary);
			margin-left: 0.5rem;

			&.primary-nav__submenu--is-open {
				display: block;
			}
		}
	}
	#bloc_contact h1,
	#blog h1.principal,
	#blog h1.principal span,
	#blog h1,
	#presentation_top h1,
	#presentation .citation p,
	#photographie h1,
	#formation-top h1 {
		font-size: 36px;
	}
	#bloc_contact h2,
	#blog h2,
	#presentation h2,
	#photographie h2,
	.formation h2,
	.designpart h2 {
		font-size: 28px;
		font-weight: 700;
		text-transform: none;
	}
	#presentation .prez_formations h3,
	#presentation h3,
	#photographie h3,
	.formation h3,
	.designpart h3 {
		font-size: 24px;
		text-transform: none;
		font-weight: 600;
	}
	#listing {
		display: block;
	}

	#listing a {
		margin-bottom: 100px;
	}
	#blog .pagination a.u800nv {
		display: none;
	}
	#blog .pagination a,
	#blog .pagination strong.direction {
		margin: 0;
	}
	#blog {
		padding-top: 100px;
	}
	#blog #containeur {
		display: block;
	}
	#blog #colgauche {
		display: none;
	}
	#blog h1.principal span {
		margin: 0;
	}
	#blog .apropos img {
		float: none;
		filter: grayscale(0);
	}
	#blog #coldroite {
		padding-bottom: 50px;
	}
	#blog #coldroite .apropos p {
		margin: 20px 0;
	}
	#presentation_top h1 {
		margin: 0;
		padding: 20px;
		width: 100%;
		max-width: 100%;
	}
	#presentation .citation {
		padding: 100px 16px;
	}
	#photographie {
		background-image: none;
		padding-top: 130px;
	}
	#photographie h1 {
		margin: 50px 0;
		width: 100%;
		max-width: 100%;
	}
	#photographie h1::after {
		height: 1px;
	}
	#photographie .grille2 {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	#photographie h2.h2center {
		margin: 50px 16px;
	}
	.formation .formation-specialite {
		display: block;
		margin-bottom: 40px;
	}
	.formation {
		margin: 0;
		padding: 40px 0;
	}
	.formation h2 {
		margin: 40px 0;
	}
	#formation-top {
		padding-top: 130px;
		padding-bottom: 20px;
	}
	.formation .tab_menu {
		display: none;
	}
	#formation-top .filariane {
		margin-bottom: 30px;
	}
	.formation .detailformation_bloc h2 {
		margin: 0;
		font-size: 20px;
	}
	.detailformation_bloc_programme h2 {
		margin: 0;
		font-size: 20px;
		padding-left: 0;
	}
	.detailformation_bloc_programme h2 img {
		display: none;
	}
	.formation .detailformation_bloc_programme h3 {
		font-size: 20px;
	}
	.formdetailicon img {
		width: 30px;
	}
	.formdetailicon h3 {
		margin-top: 10px;
		font-size: 18px;
	}
	.designpart a.designparttopliens {
		margin-bottom: 40px;
		padding: 20px;
	}
	.designparttop {
		padding-bottom: 80px;
	}
	.designpart .designgrand {
		margin: 20px;
	}
	.designpart .bottomlarge,
	.designpart .grille2 .realisation {
		margin-bottom: 40px;
	}
	.maj {
		text-transform: uppercase;
	}
	.designpart.rose h2.txtcenter.maj.margeresponstop {
		margin-top: 100px;
	}
	.designpart .separation {
		margin-bottom: 40px;
	}
	.designparttopliens p.soustitre {
		margin: 10px 0 10px;
		font-size: 16px;
	}
	.designparttopliens img {
		width: 30px;
	}
	.designpart h1 {
		font-size: 35px;
		margin-bottom: 40px;
	}
	.designpart.designparttop h2 {
		font-size: 30px;
	}
	.designpart .designmoyensmall {
		max-width: 100px;
		margin-top: 40px;
	}
	.designparttop .grille4 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 20px;
	}
	.designpart h3 {
		margin: 40px 0;
	}
	.grandecrannv {
		display: block;
	}
	.portfolio_interne .nextprev div,
	.portfolio_interne .nextprev div:last-child,
	.portfolio .nextprev div,
	.portfolio .nextprev div:last-child {
		padding: 10px;
		text-align: center;
	}
	.portfolio .filariane {
		margin-bottom: 40px;
		margin-top: 10px;
	}
	#home_presentation,
	#home_triptik,
	.home_texte {
		padding: 80px 20px;
	}
	#home_presentation h1 {
		font-size: 35px;
	}
	#home_triptik .grille3 > div {
		margin-bottom: 120px;
	}
	#home_portfolio {
		display: block;
		padding: 0 20px 20px;
	}
	#home_portfolio a {
		margin-top: 20px;
	}
	#home_blog a {
		margin-bottom: 80px;
		border-radius: 4px;
		overflow: hidden;
	}
	#home_blog a img,
	#home_portfolio .realisation img,
	#home_portfolio .realisation {
		border-radius: 4px;
		overflow: hidden;
	}
	#blog aside h2 {
		margin: 100px 0 100px;
	}
	#home_pixelcrea .pixelcreation {
		display: none;
	}
	#menu_principal.nonvisible {
		transform: translateY(0px);
	}
	#home_blog {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	#home_formation {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	footer {
		padding-top: 50px;
	}
	.pixelcreation-footer {
		margin-bottom: 0px;
	}
}
