/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight: normal;
}
ol, ul {
	list-style: none;
}
blockquote {
	quotes: none;
}
blockquote:before, blockquote:after {
	content: '';
	content: none;
}
del {
	text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a img {
	border: none;
}

*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
 }
 
 
img {
	max-width: 100%;
}
 
input
{
	outline: none;
}

a
{
	text-decoration: none;
}

/* FONTS
-------------------------------------------------------------- */

@font-face {
    font-family: 'koara_wild_freebold';
    src: url('../fonts/rosario_nocera_-_koara_wild_free_bold-webfont.woff2') format('woff2'),
         url('../fonts/rosario_nocera_-_koara_wild_free_bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'koara_wild_freelight';
    src: url('../fonts/rosario_nocera_-_koara_wild_free_light-webfont.woff2') format('woff2'),
         url('../fonts/rosario_nocera_-_koara_wild_free_light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'koara_wild_freeregular';
    src: url('../fonts/rosario_nocera_-_koara_wild_free_regular-webfont.woff2') format('woff2'),
         url('../fonts/rosario_nocera_-_koara_wild_free_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


sup
{
	vertical-align: top;
	font-size: small;
}

body
{
	background: #fff;
}

body, a
{
	color: #028B37;
	font-family: 'Helvetica';
	font-size: 14px;
}

/*
body #page {
	width: 1400px;
	max-width: 100%;
}
*/

#page img {
	display: block;
}

#page
{
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

body {
	position: relative;
	background: url(../img/bg.jpg) repeat-y center top / 100%;
}




body.form {
	background: url(../img/form.jpg) repeat-y center top / 100%;
}

body.resultat .mobile, body.form .mobile {
	display: none;
}



@media (min-width: 1012px) {

	body.preview, body.termine, body.home {
		display: flex;
		flex-flow: column;
	}
	
	body.preview #page, body.termine #page, body.home #page {
		flex: 1;
		width: 100%;
		padding: 50px 0 120px 0;
	}
	
	body.home #page {
		padding-bottom: 0;
	}
	
	body.preview #page > div, body.termine #page > div, body.home #page > div {
		display: flex;
		flex-flow: column;
		justify-content: center;
		width: 43%;
		margin: 0 auto;
		max-width: 600px;
		position: relative;
		z-index: 2;
	}
	
	body.preview #page:before, body.home #page:before {
		content: '';
		width: 37%;
		max-width: 712px;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/preview_left.png) no-repeat left bottom / 100%;
		
	}
	
	body.preview #page:after, body.home #page:after {
		content: '';
		width: 31%;
		max-width: 480px;
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/preview_right.png) no-repeat left bottom / 100%;
		
	}
	
	body.preview #bouee , body.termine #bouee , body.home #bouee {
		width: 31%;
		max-width: 480px;
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/bouee.png) no-repeat left top / 100%;
		
	}

	body.termine #page:before {
		content: '';
		width: 37%;
		max-width: 712px;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/termine_left.png) no-repeat left bottom / 100%;
		
	}
	
	body.termine #page:after {
		content: '';
		width: 31%;
		max-width: 480px;
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/termine_right.png) no-repeat left bottom / 100%;
		
	}
	
	body.termine .cb {
		margin: 0!important;

	}
	
	body.termine #top_left {
		width: 14%;
		max-width: 380px;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		z-index: 1;
		background: url(../img/top_left.png) no-repeat left top / 100%;
		
	}
	
	.home_center {
		display: flex;
		justify-content: center;
	}
}

@media (min-width: 1550px) and (max-height: 1000px){
	body.preview #page:before, body.home #page:before {
		width: 37%;
		background: url(../img/preview_left.png) no-repeat left bottom / auto 100%;
		
	}
}

#footer {
	background: #028B37;
	padding: 33px;
	position: relative;
	z-index: 2;
}

#footer ul {
	display: flex;
	justify-content: center;
	gap: 30px;
}

#footer .legal {
	font-family: 'Helvetica';
	text-align: center;
	font-size: 10px;
	width: 776px;
	max-width: 100%;
	padding: 22px;
	margin: 0 auto;
}

#footer, #footer a {
	color: #fff;
	font-family: 'koara_wild_freebold';
	text-transform: uppercase;
	font-size: 16px;
}

#footer {
	display: flex;
	position: relative;
	display: flex;
	justify-content: center;
}

#footer .logo {
	position: absolute;
	left: 50px;
	top: 33px;
}

#footer .logo img {
	display: block;
	width: 88px;
}

#footer .networks {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

#footer .mobile {
	display: none;
}

#footer .networks a[href*=facebook] {
	width: 25px;
	height: 25px;
	display: block;
	background: url(../img/fb.png) no-repeat center center / 100%;
}

#footer .networks a[href*=insta] {
	width: 25px;
	height: 25px;
	display: block;
	background: url(../img/insta.png) no-repeat center center / 100%;
}

.bat
{
	position: relative;
	text-align: right;
}

.layout {
	display: flex;
	position: relative;
	z-index: 2;
	justify-content: center;
}

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



body.home {
	overflow-x: hidden;
}

body.home .layout {
	display: block;	
}

body.home .layout .left {
	text-align: center;
}

body.home .mentions {
	text-align: center;	
}

body.home .mentions .titre {
	color: #f6a006;
	font-size: 42px;
	font-weight: bold;
	margin-top: 30px;
	margin-bottom: 10px;
}

body.home .mentions li {
	font-size: 32px;
	line-height: 1;
	color: #fff;
	font-family: 'burbank_big_condensedmedium';
	margin-bottom: 15px;
}

body.home .mentions li span {
	display: inline-flex;
	vertical-align: top;
	margin-top: 7px;
	color: #fff;
	background: #f6a006;
	width: 17px;
	height: 17px;
	justify-content: center;
	align-items: center;
	border-radius: 17px;
	font-size: 14px;
}

body.home .mentions li .mob {
	display: none;
}

body.home .participer {
	max-width: 100%;
	margin-top: 30px;
	text-align: center;
}

body.home .participer .img {
	position: relative;
}

body.home .participer .img img {
	display: block;	
}

body.home .participer .link {
	text-align: center;
	margin-top: -48px;
	position: relative;
	z-index: 2;
}

body.home .participer .link a {
	color: #253765;
	font-size: 26px;
	text-transform: uppercase;
	width: 272px;
	height: 74px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #f7e157;
	border: 3px solid #fff;
	border-radius: 74px;
}

body.home .participer .dates {
	position: absolute;
	text-align: center;
	left: 0;
	width: 100%;
	top: 28px;
	color: #fff;
}

body.form sup {
	font-size: 25px;
	font-family: Helvetica;
}

body.form .categorie {
	margin-bottom: 42px;
}

body.form .intro {
	text-align: center;
	margin: 80px 0 0px 0;
	padding-left: 20px;
	padding-right: 20px;
}

label span input {
    z-index: 999;
    line-height: 0;
    font-size: 15px;
    position: absolute;
    color: #a7a7a7;
    top: 0px;
    height: 59px!important;
    left: 0px;
    opacity: 0;
    filter: alpha(opacity = 0);
    -ms-filter: "alpha(opacity=0)";
    cursor: pointer;
    _cursor: hand;
    margin: 0;
    padding:0;
}

.fields input
{
	height: 30px;
	border: 0;
	padding: 0;
	color:#028B37; 
	font-size: 22px;	
	border: 0;
    background: none;
	border-bottom: 1px solid #028B37;
	font-family: Helvetica;
}


.form.wrap {
	padding: 0px 120px 50px 120px;
	border: 2px solid #028B37;
	background: rgba(255, 255,255, 0.5);
	border-radius: 28px;
	width: 820px;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

#mainForm .titre {
	margin-top: -75px;
	margin-bottom: 62px;
}

.selectcontainer > span
{
	display: block;
	width: 100%;
}

.selectcontainer:after
{
	clear: both;
	content: '';
	display: table;
}

.selectcontainer
{
	width: 100%;
	height: 50px;
	line-height: 50px;
	position: relative;
}

.selectcontainer.small
{
	width: 323px;
	max-width: 100%;
}

.selectcontainer select
{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 50px;
}


.selectcontainer span.select
{
	left: 0px;
	top: 0px;
	width: 100%;
	line-height: 50px;	
	background: url(/img/select.png) no-repeat calc(100% - 20px) center / 28px;
	position: absolute;
	padding-right: 44px;
	text-align: left;
	text-overflow: ellipsis;
    white-space: nowrap;
	border: 0;
	color: #028B37;
	font-size: 22px;
	border-bottom: 1px solid #028B37;
	font-family: Helvetica;

}

.selectcontainer.error span.select
{
	background-color: #CF0000;
}



body.form #header {
	position: relative;
}

body.form #header:before {
	position: absolute;
	left: 0;
	top: 400px;
	width: 70px;
	height: 726px;
	background: url(/img/bg_form_left.png) no-repeat center top / 70px;
	content: '';
}

body.form #header:after {
	position: absolute;
	right: 0;
	top: 0px;
	width: 137px;
	height: 1018px;
	background: url(/img/bg_form_right.png) no-repeat center top /137px;
	content: '';
}

.form.wrap
{
	padding-bottom: 30px;
}

form .fields {
	margin-bottom: 0px;
}

form .row
{
	margin-bottom: 42px;


}

form .row.nomb
{
	margin-bottom: 0;
}

form .row label
{
	font-size: 22px;
	text-transform: uppercase;
	font-family: 'koara_wild_freebold';
	color: #028B37;
	display: block;
	margin-bottom: 20px;
}

body.form .bg 
{
	background: url(/img/bg_form_bottom.png) no-repeat left center / auto 100%;
	height: 407px;
	margin-top: -300px;
}

form .cta {
	color: #fff;
	font-size: 35px;
	font-family: 'koara_wild_freebold';
	text-transform: uppercase;
	width: 266px;
	height: 76px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #028B37;
	border: 0;
	border-radius: 8px;
	margin-top: 60px;
}


form .fixe
{
	font-size: 27px;
}

form input
{
	width: 100%;
}

.form_mentions
{
	padding-left: 34px;
}

form .submit
{
	display: flex;
	flex-flow: column;
	align-items: center;	
	font-size: 18px;
	text-transform: uppercase;
	margin-bottom: 40px;
}

form.load .submit input
{
	opacity: 0.2;
	background: #372a2d!important;
	cursor: default;
}

form .message
{
	color: #CF0000;
	padding: 20px;
	border: 2px solid #CF0000;
	display: none;
	margin-bottom: 20px;
	text-transform: none;
}

form input::-webkit-input-placeholder { font-family: 'Roboto', sans-serif; color:#002D4B; opacity: 1; font-size: 16px; }
form input::-moz-placeholder { font-family: 'Roboto', sans-serif; color:#002D4B; opacity: 1; font-size: 16px; } 
form input:-ms-input-placeholder { font-family: 'Roboto', sans-serif; color:#002D4B; opacity: 1; font-size: 16px; }
form input:-moz-placeholder { font-family: 'Roboto', sans-serif; color:#002D4B; opacity: 1; font-size: 16px; }


form input.error { background: #CF0000; }

.fields .selectcontainer select.error { background:#CF0000; }

form button
{
	border: 0;
	outline: none;
	padding: 0;
	cursor: pointer;
	position: relative;
}

form button:before, body.resultat .merci .link a:before
{
	position: absolute;
	content: '';
	display: block;
	width: 38px;
	height: 34px;
	background: url(../img/coeurs_left.png) no-repeat center center / 100%;
	left: -80px;
	top: 9px;
}

body.form .top {
	display: flex;
	justify-content: space-between;
	padding: 40px 40px 10px 40px;
}

body.form .top .logo img {
	width: 201px;
	display: block;
}

body.form .top .dates {
	padding-top: 40px;
}

body.form .top .dates img {
	width: 450px;
}

body.form .top .back img {
	width: 245px;
	display: block;
	padding-top: 40px;
}

body.resultat .layout .wrap
{
	margin-bottom: 40px;
}

body.resultat .merci .link a:before
{
	top: -21px;
	left: -46px;
}

form button:after, body.resultat .merci .link a:after
{
	position: absolute;
	content: '';
	display: block;
	width: 38px;
	height: 34px;
	background: url(../img/coeurs_right.png) no-repeat center center / 100%;
	right: -61px;
	top: -21px;
}

body.resultat .merci .link a:after
{
	top: 14px;
}

form button img
{
	display: block;
}

form .caption
{
	font-style: italic;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 21px;
}

form .radios
{
	padding-top: 15px;
}

form .radios
{
	padding-top: 25px;

}

form .obli
{
	text-transform: uppercase;
	padding-left: 30px;
	font-family: 'GothamRounded-Book';
	font-weight: normal;
}

form .obli sup, form .radios sup
{
	vertical-align: top;
	font-size: 12px;
}

form .radios, form .radios a
{
	font-size: 16px;
	color: #028B37;
}

form .radios a, .form_mentions a
{
	text-decoration: underline;
	padding-bottom: 3px;
	text-underline-offset: 2px;
}

form .radios > div
{
	margin-bottom: 25px;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 20px;
}

form .radios > div:before
{
	content: '';
	width: 34px;
	height: 34px;
	border-radius: 34px;
	border: 2px solid #028B37;
	flex: 0 0 34px;
}

form .radios > div.error:not(.checked):before
{
	background: #CF0000;
}

form .radios > div.checked:after
{
	position: absolute;
	width: 20px;
	height: 20px;
	border-radius: 20px;
	background: #028B37;
	left: 7px;
	top: 7px;
	content: '';
}

label.filebutton {
	width: 178px;
	flex: 0 0 178px;
  position:relative;

}

.photo label.filebutton {
	background: url(/img/file.png) no-repeat left center / auto 100%;	
	height: 38px;
}

.file label.filebutton {
	background: url(/img/file.png) no-repeat left center / auto 100%;	
	height: 38px;
}



.zone.error label.filebutton {
	background: #CF0000;	
}

label.filebutton .txt {
    display: flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
	font-size: 27px;
	font-weight: bold;
	color: #f6a006;
	gap: 15px;

}

label.filebutton .txt .info {
	display: block;
	width: 24px;
	height: 100%;
	background: url(/img/info.png) no-repeat center center / 100%;
	position: absolute;
	right: -33px;
	top: 0px;
	cursor: pointer;
}

#overall
{
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9998;
	background: rgba(0, 0, 0, 0.25);
}

.popup
{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: 9999;
	text-align: center;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}

.files
{
	margin-top: 60px;
	margin-bottom: 20px;
}

.zone
{
	margin-top: 32px;
	margin-bottom: 52px;
	display: flex;
	flex: 1;
	position: relative;
	gap: 35px;
	align-items: center;
}

.zone .filename
{
	font-size: 14px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;	
	display: flex;
    align-items: center;
    height: 40px;
    padding-left: 15px;
}

body
{
	position: relative;
}

body.home .mobile {
	display: none;
}



body.form .layout
{
	width: 1390px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}



body #page {
	position: relative;
	z-index: 3;
}



.more {
	padding-top: 30px;
	text-align: center;
}

.more {
	color: #993399;
	font-size: 11px;
	text-transform: uppercase;
}

.more a.l {
	background: #993399;
	border-radius: 25px;
	padding: 3px 3px 2px 3px;
	color: #ffccff;
	font-size: 12px;
}

.more .links {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	width: 50%;
	margin-left: 25%;
}

.more .links .center {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: center;
}

body.jeu #page
{
	padding-top: 90px;
	text-align: center;
	position: relative;
	z-index: 3;
}

body.termine .cb
{
	margin-top: 30px;
	margin-bottom: 30px;
}


body.deja .back
{
	margin-top: 30px;
	margin-bottom: 80px;
}

body.deja #page
{
	padding-bottom: 60px;
	margin-top: 70px;
}

body.dotations
{
	text-align: center;
}

body.dotations .wrap
{
	position: relative;
	margin-top: 70px;
}

body.dotations .wrap img
{
	margin-left: 0px;
}


body.jeu .cartes
{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

body.jeu .cartes .carte
{
	position: relative;
}

body.jeu .cartes .carte2, body.jeu .cartes .carte3
{
	margin-left: -22px;
}

body.jeu .cartes .carte img
{
	position: relative;
	z-index: 2;
}


.bottom .inner 
{
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 20px;
}

.bottom , .bottom .inner a { 
	color: #f6a006;
	font-size: 17px;
}

.bottom .inner a {
	font-size: 17px;
	text-decoration: underline;
	text-transform: uppercase;
	
}

.bottom .copy {
	text-transform: uppercase;
	font-size: 17px;
	margin-top: 10px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

@media (max-width: 1011px)
{
	#header li {
		background: none;	
	}
	
	body.termine .desktop, body.preview .desktop {
		display: none;
	}
	
	body.termine .cb {
		margin: 0!important;
	}
	
	#header .center img {
		margin-left: 20px;
	}
	
	body.resultat #header::after, body.termine #header::after, body.preview #header::after {
		display: none;	
	}
	
	.back img {
		width: 200px;
	}
	
	body.resultat .br {
		margin-bottom: 0;
	}
	
	#header .center:before {
		width: 228px;
		height: 111px;
		background: url(/img/logo_bg_mobile.png) no-repeat center center / 100%;
		position: absolute;
		left: -13px;
		top: -30px;
		content: '';
		display: block;
		z-index: 1;
	}
	
	body.jeu::after {
		background: url(/img/bg_jeu_mobile.png) no-repeat center center / 50px;
		height: 500px;
		top: 300px;
		width: 50px;
	}
	
	
	#mainForm {
		padding: 0;
	}

	
	.bottom {
		position: static;
	}
	
	body.dotations .wrap img {
		margin-left: 0;
	}
	
	body.form {
		background: url(/img/form_mobile.jpg) no-repeat center -60px / 100% auto;	
	}
	
	
	body.form .adresse img {
		width: auto;
	}
	
	body.form:after {
		display: none;	
	}
	
	#header .center {
		margin-left: 10px;
		margin-right: 0;
	}
	
	body.home .mentions .titre {
		font-size: 34px;
		position: relative;
	}
	
	body.home .mentions .titre:before {
		background: url(/img/comment_fond.png) no-repeat;
		content: '';
		position: absolute;
		left: -10px;
		top: -30px;
		width: 100vw;
		height: 108px;
	}
	
	body.home .layout .right:before {
		display: none;
	}
	
	form input[type="submit"] {
		-webkit-appearance: none;
		border-radius: 0;
	}
	
	#header .left, #header .right {
		display: none;
	}
	
	#header {
		justify-content: flex-start;
	}
	
	body.home .desktop {
		display: none;
	}
	
	body.home .mobile {
		display: block;
	}
	
	body.home .layout {
		flex-flow: column-reverse;
		align-items: center;
		width: 100%;
		margin-left: auto;
		max-width: 100%;
		margin-right: auto;


	}
	
	body.home .layout .right {
		margin-left: 0;
		width: auto;
	}
	
	body.home img.main {
		transform: none;
	}
	
	body.form #header::before {
		display: none;	
	}
	
	body.form #header:after {
		position: absolute;
		right: 0;
		top: 300px;
		width: 46px;
		height: 401px;
		background: url(/img/bg_form_right_mobile.png) no-repeat center top /46px;
		content: '';
	}
	
	body:after {
		content: '';
		width: 59px;
		height: 250px;
		position: absolute;
		right: 0;
		left: auto;
		bottom: 100px;
		top: auto;
		background: url(/img/preview_right_mobile.png);
	}
	
	
	body.termine #page .cb {
		text-align: left;
	}
	
	body.termine #page, body.home #page {
		padding-left: 0px;
		padding-right: 0px;
	}
	
	body.deja #page {
		padding-top: 30px;
	}
	
	body.home .bottom {
		bottom: 34px;
	}
	
	body.home .mentions li {
		font-size: 26px;
	}
	
	body.home .mentions li br {
		display: none;
	}
	
	body.form::after { 
		top: 700px;	
	}
	
	body.home .layout .right .top {
		padding: 0;
	}
	
	body.home #page {
		padding-top: 0px;
		padding-bottom: 0px;
	}
	
	body.dotations .bottom .inner:before {
		display: none;
	}
	
	body.home .participer .link a {
		width: 184px;
		height: 54px;
		font-size: 18px;
	}
	
	body.home .participer {
	}
	
	body.home .participer .dates {
		font-size: 16px;
	}


	body.home .participer .link {
		margin-top: -78px;
	}
	
	body.home .mentions {
		margin-top: 52px;
	}
	
	body.home .mentions li {
		text-align: center;
	}
	
	body.home .mentions li span {
		width: 25px;
		height: 25px;
		font-size: 20px;
		padding-top: 1px;
		margin-bottom: 10px;
	}
	
	body.home .mentions li .mob {
		display: block;	
	}
	
	
	.bat {
		display: none;
	}
	
	#toggle {
		width: 78px;
		height: 78px;
		background: url(/img/menu.png) no-repeat center center;	
		position: absolute;
		right: 20px;
		top: 13px;
		cursor: pointer;
		z-index: 9;
	}
	
	body.nav #toggle {
		background: url(/img/close.png) no-repeat center center;		
	}
	
	body.nav #nav {
		background: url(/img/nav.png) no-repeat center center;		
		width: 284px;
		height: 447px;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 7;
	}
	
	body.nav #header .left {
		position: absolute;
		top: 122px;
		right: 37px;
		display: block;
		z-index: 8;
		width: 145px;
	}
	
	body.nav #header .right {
		position: absolute;
		top: 237px;
		right: 37px;
		display: block;
		z-index: 8;
		width: 145px;
	}
	
	body.nav #header a {
	font-size: 20px;
	color: #fff;
	}
	
	body.nav #header ul {
		flex-flow: column;	
		gap: 20px;
	}
	
	body.form .intro {
		margin-top: 25px;
	}
	
	body.form .categorie {
		font-size: 12px;
		padding: 18px 5px;
		display: block;
		margin-bottom: 20px;
		text-align: center;
	}
	
	#mainForm {
		width: 447px;
		
		max-width: 90%;
		margin: 0 auto;
		margin-top: 50px;
	}
	
	body.form .mobile {
		display: block;
	}
	
	body.form .titre2 {
		padding-top: 30px;	
		padding-bottom: 20px;
	}
	
	body.form .titre {
		display: flex;
		justify-content: center;
		text-align: center;
	}
	
	body.form .titre img {
		width: 56%;
	}
	
	body.form .desktop {
		display: none;
	}
	
	body.form .top {
		padding-top: 20px;
	}
	
	body.form .top .back {
		transform: translateX(20px);
	}
	
	body.form .top .back img {
		padding-top: 0;
	}
	
	#footer {
		padding: 10px 5px;
	}
	
	#footer ul {
		gap: 5px 10px;
		flex-wrap: wrap;
	}
	
	#footer ul a {
		white-space: nowrap;
	}
	
	#mainForm .titre {
		
	}
	
	body.form .top .dates img {
		
	}
	
	body.form .top .dates {
		padding: 0 30px 0 37px;
	}
	
	form .row label, .selectcontainer span.select, body.form sup, form .fixe {

	}
	
	form .row label, form .fixe {
		padding-left: 0px;
	}
	
	form .row > * {
		width: 100%!important;
	}
	
	body.form .top .back img {
		width: 25px;
	}
	
	.fields input {
		height: 42px;
		font-size: 17px;
	}
	
	.selectcontainer {
		height: 42px;
		line-height: 42px;
	}
	
	.selectcontainer span.select {
		overflow: hidden;
	}
	
	.selectcontainer select {
		height: 30px;
	}
	
	.selectcontainer span.select {
		line-height: 30px;
		font-size: 17px;
	}
	
	.selectcontainer span.select {
		background-size: 16px;
	}	
	
	body
	{
		overflow-x: hidden;
	}
	
	
	.fields {
		flex-flow: column;
		align-items: center;
	}
	
	.fields input {
		margin-right: 0!important;
		margin-left: 0!important;
	}
	
	.fields > * {
		width: 100%;
		max-width: 100%;
		flex: 1 auto;
	}
	
	form .form {
		padding: 25px;
	}
	
	form p.desktop {
		display: none;
	}
	
	.fields p {
		padding-bottom: 10px;
	}
	
	.fields .ticket {
		margin-top: 10px;
	}
	
	form .row {
		flex-flow: column;
		align-items: center;
		margin-bottom: 20px;
		gap: 0px;
	}
	
	form .caption {
		text-align: center;
		padding-left: 10px;
		padding-right: 10px;
	}
	
	form .row > * {
		flex: auto!important;
	}
	
	form .radios > div br {
		display: none;
	}
	
		
	form .mentions {
		padding: 0 20px;
	}
	
	body.form .layout {
		padding: 0;
	}
	
	body.form::before {
		display: none;	
	}
	
	.files {
		flex-flow: column;
		gap: 10px;
		padding: 0;
		margin: 0 0 50px 0;
	}
	
	form .radios {
		padding: 0;
		margin-top: 10px;
	}
	
	form .radios > div, form .radios a {
		line-height: 1.1;
	}
	
	form .radios > div {
		align-items: flex-start;
		gap: 7px;
	}
	
	form .cta {
		width: 190px;
		height: 60px;
		font-size: 28px;
		margin-top: 30px;
	}
	
	form .radios > div:before {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
	
	}
	
	form .radios > div.checked::after {
		width: 12px;
		height: 12px;
		left: 4px;
		top: 4px;
	}
	
	form .radios > div.checked:before {
		background-size: 15px;
	}
	
	body::before {
		background: url(/img/bg_home_left_mobile.png) no-repeat left bottom / 100%;	
		width: 270px;
		height: 180px;
		max-width: 62%;
	}
	
	
	body.resultat .desktop {
		display: none;
	}
	
	body.resultat .mobile {
		display: block;
	}
	
	body.termine #page img {
		display: block;
		width: 100%;
	}
	
	body.termine #page {
		margin-top: 0px;
	}
	
	 body.termine #header::before {
		 display: none;
	 }
	
	body.jeu .bottom .inner:after, body.resultat .bottom .inner:after, body.dotations .bottom .inner:after, body.termine .bottom .inner:after {
		display: none;
	}
	form .row label {
		margin: 22px 0 0 0;
	}
	
	
	body.resultat:after {
		display: none;
	}
	
	body.resultat .texte {
		margin-top: 30px;
		width: 100%;
		padding: 0 20px;
	}
	
	body.resultat .texte br {
		display: none;
	}
	
	body.resultat .texte .br {
		margin-top: 20px;	
	}
	
	form .radios, form .radios a {
		font-size: 14px;
	}
	
	body.jeu #page {
		padding-top: 46px;
	}
	
	body.jeu .cartes {
		flex-flow: column;
		margin-top: 0;
		padding-bottom: 10px;
		padding-top: 30px;
	}
	
	body.jeu .cartes .carte:before {
		display: none;
	}
	
	body.jeu .cartes .carte img {
		width: 314px;
		max-width: 80%;
	}
	
	.form.wrap {
		padding-bottom: 10px;
		padding-left: 40px;
		padding-right: 40px;
	}
	
	body.jeu .cartes .carte:first-child img {
		margin-top: -10px;
	}
	
	body.jeu .cartes .carte:not(:first-child) img {
		margin-top: -70px;
	}
	
	body.jeu .cartes .carte2, body.jeu .cartes .carte3 {
		margin-left: 0;
	}
	
	.form_mentions {
		text-align: center;
		padding: 0;
	}
	
	.fields input, .selectcontainer span.select {
		border-radius: 0;
		height: 30px!important;
	}
	
	body.deja .back {
		margin-top: 30px;
		margin-bottom: 30px;
		padding-left: 10px;
		padding-right: 10px;
	}
	
	form .obli {
		font-size: 10px;
		padding: 0;
	}
	
	form .row label {
		font-size: 16px;
	}
	
	body.deja:before {
		display: none;
	}
	
	.popup img {
		max-width: 250px;
	}
	
	.more {
		font-size: 12px;
		padding-top: 17px;
		padding-bottom: 100px;
	}
	
	.more .br {
		display: block;
	}
	
	body.form #page {
		margin-top: 0px;
	}
	
	body.form .top .logo {
		display: none;
	}
	
	body.form .bottom {
		bottom: 257px;
	}
	
	body.deja .bottom {
		display: none;
	}
	
	.more a.l {

		font-size: 12px;
		color: #fff;
	}
	
	body.resultat:before {
		display: none;
	}
	
	.more .links {
		flex-flow: column;
	}
	
	.more .links .center {
		order: 1;
	}
	
	.more .links .left {
		order: 2;
	}
	
	.more .links .right {
		order: 3;
	}
	
	.zone {
		margin-right: 0px;		
		gap: 5px;
		margin-top: -20px;
		margin-bottom: 0;
	}
	/*
	.photo label.filebutton {
		background: url(/img/input_photo_mobile.png) no-repeat center center / 100%;
	}
	
	.file label.filebutton {
		background: url(/img/input_file_mobile.png) no-repeat center center / 100%;
	}
	*/
	label.filebutton {
		border: 0;
		height: 50px;
		padding: 0;
		width: 105px;
		flex: 0 0 105px;
		background-size: 100%!important;
	}
	
	.zone .filename {
		flex: 1;
		font-size: 9px;
	}

	
	body.preview .titre {
		margin-bottom: 0;	
	}
	
	body.preview .cb img {
		width: 100%;
		display: block;
	}
	
	label.filebutton img {
		width: 27px;
		margin-left: 20px;
	}
	
	label.filebutton .txt {
		font-size: 22px;
		justify-content: flex-start;
		text-align: center;
		padding-right: 25px;
	}
	
	label.filebutton .txt span {
		text-align: center;
		flex: 1;
	}
	
	.fields .files input {
		height: 50px;
	}
	
	#footer .logo {
		display: none;
	}
	
	#footer, #footer a {
		font-size: 12px;
	}
	
	form .fields {
		margin-bottom: 20px;
	}
	
	label.filebutton .txt .info {
		width: 24px;
		height: 28px;
		background-size: 100%;
		right: -27px;
		top: 16px;
	}
	
	body.dotations h1 {
		display: none;
	}
	
	body.home img.main {
		width: 100%;
	}
	
	#footer .desktop { 
		display: none;	
	}
	
	#footer .mobile { 
		display: flex;	
		justify-content: center;
	}
	
	#footer .legal {
		padding: 15px;
		width: auto;
		font-size: 7px;
	}
	
	#footer .networks {
		margin-top: 0;
	}
}


	