/* variables utility classes */

:root {
	/* responsive margins / paddings */
	--margin-sm: 24px;
	--margin-md: 36px;
}



/* fluid text utility classes */

* {
	--min-screen-size: 430;
	--max-screen-size: 1440;
	--interpolate-diff: calc(var(--max-size-px) - var(--min-size-px));
	--interpolate: clamp(calc(var(--min-size-px) * 1px), calc((var(--min-size-px) * 1px) + var(--interpolate-diff) * ((100vw - calc(var(--min-screen-size) * 1px)) / (var(--max-screen-size) - var(--min-screen-size)))), calc(var(--max-size-px) * 1px));
}



/* html utility classes */

html {
	min-height: 100%;
	height:100%;
	width:100%;
}



/* body utility classes */

body {
	min-height: 100%;
	color: #000;
	font-family: 'Baloo Paaji 2';
	letter-spacing: 0px;
	background-color: #fe0;
	overflow: auto;
}



/* text utility classes */

.text {
	font-size: 10px;
	font-family: 'Baloo Paaji 2';
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0px;
}

.text-white {
	color: #fff;
	--min-size-px: 15; --max-size-px: 16; font-size: var(--interpolate);
	font-family: 'Baloo Paaji 2';
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0px;
}

.bold {
	--min-size-px: 23; --max-size-px: 30; font-size: var(--interpolate);
	font-weight: 700;
}

.sub-text {
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0px;
}

.link {
	font-size: 14px;
	font-family: 'Baloo Paaji 2';
	font-weight: 400;
	text-decoration: underline;
	letter-spacing: 0px;
}

.link2 {
	--min-size-px: 16; --max-size-px: 16; font-size: var(--interpolate);
	font-family: 'Baloo Paaji 2';
	font-weight: 400;
	text-decoration: underline;
	letter-spacing: 0px;
}

.link3 {
	--min-size-px: 16; --max-size-px: 18; font-size: var(--interpolate);
	font-weight: 400;
	text-decoration: underline;
}

.bold-black {
	color: #000;
	--min-size-px: 30; --max-size-px: 40; font-size: var(--interpolate);
	font-weight: 700;
}

.bold-black2 {
	color: #000;
}



/* circle utility classes */

.circle-light {
	width: 20px; height: 20px;
	background-color: #cce7eb;
	border-radius: 50%;
}



/* btn */

.btn {
	width: 174px;
	display: flex;
	gap: 5px;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0px;
	text-align: center;
	background-color: #cce7eb;
	padding: 3px 17px 2px 17px;
	border-radius: 5px;
	cursor: pointer;
	
}
.btn *{
	pointer-events: none;
}
.btn:hover{
	transform:scale(0.93);
	filter: brightness(1.2);
}

.circle-white {
	position: relative;
	margin-top: 4px;
	width: 20px; height: 20px;
	flex-shrink: 0;
	background-color: #fff;
	border-radius: 50%;
}

.vector {
	position: absolute; top: 3px; bottom: 3px; left: 7px; right: 5px;
}

.btn-participe-text {
	flex-grow: 1;
}
/* end btn-participe*/


/* footer group with illustration */

.group-footer-illus{
	display:flex; flex-direction: column; align-items:center;
	margin-top:-100px;
	width:100%;
}

.illus-footer{
	background: url(../assets/illus-bikes.png) center / contain no-repeat;
	width:100%;
	max-width:2878px;
	height:325px;
}
.wrapper-footer{
	width:100%;
	margin-top:-200px;
}







/* footer */

.footer {
	position:relative;
	height: 212px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 19px;
	background-color: #fe0;
	padding: 20px 24px;
}

.moustique-footer1 {
	position: absolute; bottom: 57px; left: 400px; 
	width: 47px;
}

.moustique-footer2 {
	position: absolute; bottom: 130px; right: 430px; 
	width: 43px;
}

.logo {
	width: 208px;
	flex-shrink: 0;
}

/* end footer*/





.text-reglement-du {
	align-self: stretch;
}



.modal-container{
	position:absolute; top:0; left:0;
	width:100%; height:100%;
	z-index:9;
	background-color:rgba(0, 0, 0, 0.35);
	display:none;
}






/* graphics, moustiques ... */

.graphic-right {
	position: absolute; z-index: 3; top: 385px; right: 88px; 
	width: 146px; height: 126px;
	pointer-events:none;
}

.graphic-left {
	position: absolute; z-index: 2; top: 399px; left: 66px; 
	width: 166px; height: 155px;
	pointer-events:none;
}


.container-moustiques{
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	pointer-events:none;
}
.container-moustiques-mobile{
	position:absolute; z-index:-1;
	display:none;
	left:0; top:0;
	width:100%; height:100%;
	pointer-events:none;
}



.moustique1 {
	position: absolute; top: 13px; left: 389px; 
	rotate: -45deg;
	transform-origin: 50% 50%;
	width: 61px;
}

.moustique2 {
	position: absolute; top: 47px; right: 409px; 
	rotate: 165deg;
	transform-origin: 50% 50%;
	width: 59px;
}

.moustique3 {
	position: absolute; top: 110px; right: 3px; 
	rotate: 15deg;
	transform-origin: 50% 50%;
	width: 38px;
}

.moustique4 {
	position: absolute; top: 163px; left: 3px; 
	rotate: 165deg;
	transform-origin: 50% 50%;
	width: 41px;
}

.moustique5 {
	position: absolute; top: 360px; left: 329px; 
	rotate: 180deg;
	transform-origin: 50% 50%;
	width: 41px;
}

.moustique6 {
	position: absolute; top: 9px; left: 174px; 
	rotate: 180deg;
	transform-origin: 50% 50%;
	width: 41px;
}

.moustique7 {
	position: absolute; top: 343px; right: 433px; 
	rotate: 30deg;
	transform-origin: 50% 50%;
	width: 65px;
}








/** breakpoints (margin / paddings) **/

@media screen and (max-width: 1142px) {
	.container-moustiques{ display:none;}
	.container-moustiques-mobile{ display:block;}
	.moustique-footer1{ display:none;}
	.moustique-footer2{ display:none;}
	.graphic-right{ display:none;}
	.graphic-left{ display:none;}
}

@media screen and (max-width: 670px) {
	
	.footer{
		display:none;
	}
	.illus-footer{
		width:752px;
		height:207px;
		background-position:0 130px;
		margin-left:-90px;
		margin-top:-180px;
	}
	.group-footer-illus{
		margin-top:0;
	}
}

