/* =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;
}



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

}

@font-face {
    font-family: 'pouf_v0.5bold';
    src: url('../fonts/poufv0.5-bold-webfont.woff2') format('woff2'),
         url('../fonts/poufv0.5-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

html
{
	min-height: 100%;
}

body 
{
	height: 100%;
}

body, a, input {
	font-family: 'Roboto';
	
}

body #page
{
	/*
	width: 1280px;
	*/
	max-width: 100%;
	margin: 0 auto;
	background: url(../img/bg.jpg) no-repeat center top / cover;
}


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

body.form
{
	
}

body.form #fond {
	display: none;
}

body.form .layout {
	position: static;
	height: auto;
	padding-top: 10px;
}

body.form .submit {
	margin-top: 10px;
	margin-bottom: 30px;
}



#mainForm {
	width: 100%;
}

#mainForm .titre {
	margin-bottom: 12px;
	text-align: center;
}

body, a
{
	color: #4E2397;
}

#page {
	/*
	padding-bottom: 50px;
	height: 100%;
	*/
	position: relative;
	overflow: hidden;
}

.grecaptcha-badge {
	transform: translateX(-50px);
}

body.preview #page, body.termine #page {
	font-size: 40px;
}

#panneau {
	position: absolute;
	left: 0;
	bottom: 50px;
}
#luge {
	position: absolute;
	right: 0;
	bottom: 50px;
}

#logos {
	background: url(/img/logos_bg.png) no-repeat center top / 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 245px;
	text-align: center;
	padding-top: 30px;
}

.layout
{
	position: relative;
	z-index: 2;

}

button {
	background: none;
	border: 0;
	cursor: pointer;
	outline: none;
}

img {
	display: inline-block;
	vertical-align: top;
}

#overall
{
	background: rgba(0, 0, 0, 0.7);
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 9998;
}

#navmobile {
	display: none;
}

body.nav #navmobile {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: #4E2397;
	z-index: 11;
	padding: 30px;
}

body.nav #navmobile .top {
	display: flex;
	justify-content: space-between;
}


body.nav #navmobile .top .menu {
	flex: 0 0 auto;
	width: 93px;
	height: 45px;

}

body.nav #navmobile .top .close {
	flex: 0 0 auto;
	width: 110px;
	height: 43px;
	background: url(/img/close.png) no-repeat center center / 100%;
}

body.nav #navmobile .items {
	margin-top: -45px;
}

body.nav #navmobile .items li {
	margin-bottom: 30px;
}

body.nav #navmobile .items li.marge {
	margin-bottom: 70px;
}

body.nav #navmobile .items a {
	color: #FC7CC6;
	font-size: 28px;
	text-transform: uppercase;	
	font-family: 'pouf_v0.5bold';
	font-weight: bold;
}

body.nav #navmobile .items .small a {
	font-size: 17px;
	line-height: 1.2;
	font-weight: 500;
	font-family: 'Roboto';
}

body.nav #navmobile .close {
	position: absolute;
	right: 20px;
	top: 20px;
	background: url(../img/close.png) no-repeat center center / 100%;
	width: 108px;
	height: 42px;
}

body.home .layout
{
	padding-top: 15px;
}

body.home .gain
{
	position: fixed;
	z-index: 2;
	right: 0;
	bottom: 50px;
}

body .layout {
	height: 100%;
	display: flex;
	justify-content: center;
}

body.preview .layout, body.termine .layout {
	padding-top: 0;
	align-items: center;
}

body.termine .layout {
	text-transform: uppercase;
}

body.deja .layout {
	padding-top: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.home .mention
{
	position: fixed;
	z-index: 3;
	right: 0;
	bottom: 55px;
	color: #fff;
	font-size: 12px;
	padding-right: 10px;
}

body.home .mention a
{
	color: #fff;
}

body.home .cta {
	height: 100%;
	position: relative;
	display: flex;
	align-items: flex-end;
	padding-bottom: 6%;
}

body.home .cta a {
	
}


#logo {
	position: relative;
	z-index: 2;
	text-align: center;
	margin-top: 30px;
}

#date {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

#fond {
	display: block;
	position: absolute;
	left: 0;
	top: 0px;
	width: 100%;
	/*
	min-height: 100%;
	bottom: 0px;
	object-fit: cover;
	object-position: left bottom;
	*/
	z-index: 1;
}

body #fond {
	position: static;
	display: block;
}



#footer {
/*
	width: 1280px;
	*/
	max-width: 100%;
	margin: 0 auto;
	height: 57px;
	background: #4E2397;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	color: #fff;
	gap: 50px;
}

#footer .left {
	font-size: 12px;
	text-transform: uppercase;
	font-weight: bold;
}

#footer .right {
	display: flex;
	align-items: center;	
	gap: 23px;
}

#footer .instagram {
	width: 28px;
	height: 28px;
	background: url(../img/instagram.svg) no-repeat center center;
}

#footer .tiktok {
	width: 28px;
	height: 28px;
	background: url(../img/tiktok.svg) no-repeat center center;
}

#footer ul {
	display: flex;
	gap: 18px;
}


#footer a {

	font-size: 9px;
	text-transform: uppercase;
	color: #fff;
	display: block;
}

body.form .layout label
{
	position: relative;
}

body.home #bglb {
	width: 160px;
	height: 105px;
	background: url(../img/donut1.png) no-repeat -10px top / 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

body.home #bgrb {
	width: 372px;
	height: 376px;
	background: url(../img/donuts.png) no-repeat left 60px / auto 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}

body.form #bglb {
	width: 201px;
	height: 213px;
	background: url(../img/donut2.png) no-repeat -20px top / 100%;
	position: absolute;
	left: 0;
	top: 281px;
}

body.form #bgrt {
	width: 198px;
	height: 160px;
	background: url(../img/donut3.png) no-repeat left -50px / auto 198px;
	position: absolute;
	right: 26px;
	top: 0;
}

body.form #bgrb {
	width: 340px;
	height: 202px;
	background: url(../img/donuts2.png) no-repeat left 60px / auto 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}

body.merci #bglb {
	width: 557px;
	height: 529px;
	background: url(../img/roue.png) no-repeat -55px top / 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

body.merci #bgrb {
	width: 372px;
	height: 376px;
	background: url(../img/donuts.png) no-repeat left 60px / auto 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}

body.merci #bgrt {
	width: 189px;
	height: 203px;
	background: url(../img/donut4.png) no-repeat left center / auto 100%;
	position: absolute;
	right: 45px;
	top: -52px;
}

body.termine #bglb {
	width: 557px;
	height: 529px;
	background: url(../img/roue.png) no-repeat -55px top / 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

body.termine #bgrb {
	width: 394px;
	height: 376px;
	background: url(../img/donuts.png) no-repeat left 60px / auto 100%;
	position: absolute;
	right: 30px;
	bottom: 0;
}

body.termine #bgrt {
	width: 189px;
	height: 203px;
	background: url(../img/donut4.png) no-repeat left center / auto 100%;
	position: absolute;
	right: 189px;
	top: 169px;
}

body.termine .reseaux {
	display: flex;
	justify-content: center;
	gap: 22px;
	margin: 53px 0;
}

body.termine .termine {
	margin-top: 20px;
}

body.merci .contact {
	margin-top: -20px;
	margin-bottom: 30px;
}

body.merci .decouvrez {
	margin-bottom: 30px;
}

body.form .infodetail {
	position: absolute;
	border: 2px solid #bbe0f3;
	background: #fff;
	padding: 15px;
	z-index: 9;
	top: 35px;
	text-transform: none;
	font-family: Tahoma;
	font-weight: normal;
	font-size: 14px;
	display: none;
	left: 0;
	color: #076cac;
}

body.form .i:hover .infodetail {
	display: block;	
}


body.jeu .cliquez {
	margin-top: 30px;
	margin-bottom: 40px;
}

body.resultat .layout.perdu .txt {
	margin-top: 30px;
	margin-bottom: 30px;
}

body.resultat .layout.gagne .txt {
	margin-top: 30px;
	margin-bottom: 30px;
}

body.resultat .layout.gagne .form .titre {
	margin-bottom: 20px;
	text-align: center;
	font-size: 20px;
}


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

.fields input, .fields textarea
{
	width: 100%;
	height: 40px;
	border: 0;
	padding: 0 15px;
	font-family: 'Roboto', sans-serif; 
	color:#002D4B; 
	font-size: 17px;	
	border-radius: 4px;
	border: solid 2px #4E2397;
    background-color: #fff;
}

.fields textarea
{
	height: 145px;
	padding: 10px;
}

.fields .selectcontainer
{
	width: 100%;
	height: 40px;
	border: 0;
	padding: 0 10px;
	font-family: 'Roboto', sans-serif; 
	color:#002D4B; 
	font-size: 17px;	
	border-radius: 4px;
	border: solid 2px #4E2397;
    background-color: #fff;
}

.fields .selectcontainer select
{
	border: 0;
	background: none;
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-family: 'Roboto', sans-serif; 
	color:#002D4B; 
}

.fields .selectcontainer select.error {
	color: red;
}

body.form #titre {
	text-align: center;
}

form .row
{
	display: flex;
	gap: 13px;
	margin-bottom: 4px;
	justify-content: center;
}

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


form input.error { color: red; }

form input.error::-webkit-input-placeholder, form textarea.error::-webkit-input-placeholder { color: red; }
form input.error::-moz-placeholder, form textarea.error::-moz-placeholder { color: red; } 
form input.error:-ms-input-placeholder, form textarea.error:-ms-input-placeholder { color: red; }
form input.error:-moz-placeholder, form textarea.error:-moz-placeholder { color: red; }

.fields .selectcontainer select.error { color:red; }

.error label.filebutton {
	background: red;	
}

label.filebutton {
	flex: 0 0 154px;
  width: 154px;
  height: 31px;
  border-radius: 31px;
  background: #4E2397;
  color: #fff;
  overflow:hidden;
  position:relative;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: center;

    
}

label.filebutton .txt {
    display: flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
    font-family: 'Roboto', sans-serif; 
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}

label.filebutton.error .txt {
	color: red;
	background: #fff;	
}

.zone
{
	margin-top: 10px;
	margin-bottom: 12px;
	word-wrap: break-word;
}

.form label {
	font-family: 'Roboto', sans-serif; 
	font-weight: 600;
}

.layout .form {
	position: relative;
	z-index: 4;
}

.zones {
	display: flex;
	margin-top: 10px;
	gap: 40px;
}

.zones .col {
	flex: 0 0 154px;
	width: 154px;
}

.zones .sticker {
	text-align: center;
	height: 87px;
}

.zone .filename
{
	font-size: 12px;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 17px;	
	font-family: 'Roboto', sans-serif; 
	
	display: flex;
    padding-top: 2px;
    padding-left: 15px;
}


.listes {
	display: flex;
	gap: 25px;
}

body.form .form .first h2 {
	margin-bottom: 25px;
}

body.form .form .second h2 {
	margin-top: 30px;
	margin-bottom: 20px;
}

form .radios {
	margin-top: 12px;
}

form .radios, form .radios a
{
	font-family: 'Roboto', sans-serif; 
	color: #321B58;
	font-size: 12px;
	font-weight: 500;
}

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

form .radios > div
{
	margin-bottom: 10px;
	padding-left: 32px;
	position: relative;
	cursor: pointer;
	font-weight: 500;
	font-family: 'Roboto', sans-serif; 
	line-height: 1.5;
}

form .radio.red a {
	color: #4E2397;
}


form .submit {
	display: flex;
	flex-flow: column;
	align-items: center;
	margin: 30px 0 0px 0;
}

sup {
	vertical-align: top;
	font-size: 11px;
}

form .obli {
	font-family: 'Roboto', sans-serif; 
	font-size: 12px;
	color: #321B58;
}

sup {
	color: red;
}

form .radios > div:before
{
	content: '';
	position: absolute;
	left: 0;
	top: -3px;
	width: 23px;
	height: 23px;
	background: #fff;
	border-radius: 2px;
	border: solid 2px #4E2397;
}

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

form .radios > div.checked:after
{
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 15px;
	height: 15px;
	background: #4E2397;
	border-radius: 2px;
}

.second .row1 {
	
	position: relative;
}

.second .row1 .sticker {
	position: absolute;
	left: 243px;
	top: -16px;
	width: 183px;
}

.second .row {
		justify-content: flex-start;
	}
	
	.second .row1 {
	
	}
	
	.second .row2 {
		margin-bottom: 40px;	
	}
	
	.second .row5 {
		flex-flow: column;
	}
	
	.second .fields .selectcontainer, .second input {
		width: 170px;
	}



body.merci {
	text-align: center;
}

body.jeu .txt, body.resultat .txt h2, body.deja .txt h2 {
	text-transform: uppercase;
	font-size: 30px;
}

body.resultat .txt p {
	font-size: 25px;
	padding-top: 10px;	
}

body.deja .txt p {
	font-size: 25px;
	padding-top: 10px;	
	margin-bottom: 45px;
}

body.resultat .txt {
	margin-bottom: 60px!important;
	padding-top: 100px;
}

body.jeu .poelons {
	display: flex;
	gap: 30px;
	padding: 20px;
	margin-top: 10px;
}

body.jeu .next {
	margin-top: 30px;
	display: none;
}

body.home .main img {
	width: 1240px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.message {

}

#nav {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	padding: 5px 0 5px 0 ;
	position: relative;
	z-index: 3;
	margin-bottom: 8px;
	border-bottom: 1px solid #4E2397;
}

#navcontainer {
	text-align: center;
}

body:not(.home) #nav {
	margin-bottom: 17px;
}

@media (min-width: 901px) {
	body.home #logos {
		display: none;
	}
	
	
	body.form .submit {
		margin-top: 5px;
	}
	
	#nav a {
		font-size: 14px;
		font-family: 'roobertheavy';
		color: #4E2397;
	}
	
	#mainForm {
		display: flex;
		gap: 100px;
		justify-content: center;
		padding-top: 2px;
		transform: translateX(40px);
	}
	
	#mainForm .first .obli {
		position: absolute;
		left: 0;
		bottom: -15px;	
	}
	
	#mainForm .first {
		flex: 0 0 270px;
		position: relative;
	}
	#mainForm .second {
		max-width: 472px;
	}
	
	#mainForm .second .titre {
		text-align: left;
		padding-left: 50px;	
	}
	
	body.form .obli.mobile {
		display: none;
	}
}

.layout .form .submit img.mobile {
	display: none;
}

@media (max-width: 900px) {
	
	
	.layout .form .submit img.mobile {
		display: inline-block;
		width: 200px;
		max-width: 100%;
	}
	
	.layout .form .submit img.desktop {
		display: none;
	}
	
	body.next .layout .form .submit img.mobile {
		display: none;
	}
	
	body.next  .layout .form .submit img.desktop {
		display: block;
	}
	
	body.home #bgrb {
		background: url(../img/donuts_mobile.png) no-repeat left top / 100%;
		width: 100%;
		height: 180px;
	}
	
	
	body.merci .decouvrez img {
		width: 240px;
		max-width: 95%;
	}
	
	body.form .obli.mobile {
		color: #fff;
		font-size: 16px;
		margin-top: 25px;
	}
	
	body.form .btn_next {
		display: flex;
		justify-content: center;
		margin: 40px 0 10px 0;
	}
	/*
	body.form .btn_next .btn {
		background: url(../img/next_mobile.png) no-repeat center center / 100%;	
		width: 274px;
		height: 60px;
	}
	*/
	
	form .first .cta {
		margin-top: 0;
	}
	
	
	
	#headermobile {
		height: 70px;
		display: flex;
		justify-content: center;
		width: calc(100% - 50px);
		left: 25px;
		border-bottom: 2px solid #4E2397;
		margin-bottom: 20px;
		
		position: relative;
		
		
		.logo {
			background: url(../img/logo.svg) no-repeat center center / 100%;
			width: 190px;

		}
		
		.menu {
			position: absolute;
			width: 30px;
			height: 24px;
			background: url(../img/burger.png) no-repeat center center / 100%;
			right: 5px;
			top: 25px;
		}
	}
	
	#nav {
		display: none;
	}
	
	body.home .cta {
		padding-bottom: 16%;
	}
	
	body.form .layout {
		padding-top: 0;
	}
	
	body.jeu .layout {
		padding-top: 177px;
	}
	
	body.resultat .layout {
		padding-top: 117px;
	}
	
	body.jeu .poelons {
		margin-top: 70px;
	}
	
	#footer ul {
		display: none;
	}
	
	body.preview .layout, body.termine .layout {
		align-items: flex-start;

	}
	
	body.home #bglb {
		display: none;
	}
	
	body.home .main {
		margin-bottom: 90px;
		position: relative;
		z-index: 9;
	}
	
	body.jeu .txt {
		font-size: 20px;
		padding: 0 10px;
	}
	
	body.resultat .txt {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	body.resultat .txt p {
		font-size: 18px;
	}
	
	body.resultat .txt span {
		display: block;	
	}
	
	body.resultat .txt p br {
		display: none;
	}
	
	body.resultat .txt h2 {
		font-size: 20px;
	}
	
	body.resultat .txt h2.b {
		font-size: 26px;
	}
	
	.selectcontainer span.select {
		line-height: 30px;
	}
	
	body.form #bgrt {
		width: 56px;
		height: 108px;
		background: url(../img/donut3.png) no-repeat left center / auto 100%;
		right: 0;
		top: 215px;
	}
	
	body.merci #bglb {
		width: 94px;
		height: 164px;
		background: url(../img/donut3.png) no-repeat left 35px / auto 100%;
		right: auto;
		left: 0;
		bottom: 0;
		transform: scaleX(-1);
	}
	
	body.merci #bgrb {
		width: 74px;
		height: 179px;
		background: url(../img/donut3_mobile.png) no-repeat left 30px / auto 100%;
		right: 0;
		bottom: 0;
	}
	
	body.merci #bgrt {
		width: 142px;
		height: 144px;
		background: url(../img/donut2.png) no-repeat left center / auto 100%;
		right: auto;
		left: -26px;
		top: 87px;
	}
	
	body.termine #bglb {
		width: 511px;
		height: 527px;
		background: url(../img/roue.png) no-repeat -110px top / 100%;
		position: absolute;
		left: 0;
		bottom: auto;
		top: 132px;
	}
	
	body.termine #bgrb {
		background: url(../img/donuts.png) no-repeat calc(100% + 140px) 60px / auto 100%;
		right: 0;
	}
	
	body.termine #bgrt {
		display: none;
	}
	
	body.termine .reseaux {
		margin-bottom: 200px;
		margin-top: 75px;
	}
	
	
	body.jeu .txt span {
		display: block;
	}
	
	body.jeu .txt br {
		display: none;
	}
	
	body.merci .contact {
		padding: 0 20px;
		color: #fff;
	}
	body.merci .decouvrez {
		padding: 0 20px;
	}
	
	body.preview .layout .txt, body.termine .layout .txt {
		padding-top: 200px;
		font-size: 22px;
	}
	
	body.deja .layout > div {
		height: 100%;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		padding-bottom: 30px;
	}
	
	body.deja .layout {
		align-items: flex-start;
		padding-top: 100px;
	}
	
	body.preview .layout .txt span, body.termine .layout .txt span {
		display: block;	
	}
	
	.logo img {
		width: 180px;
	}
	
	body.resultat .cta {
		position: absolute;
		bottom: 30px;
		left: 0;
		width: 100%;
	}
	
	#logo img {
		width: 150px;
	}
	
	.fields input {
		height: 48px;
		font-size: 14px;
	}
	
	body.form #titre {
		margin-top: 50px;
	}
	
	label.filebutton {
		height: 30px;
	}
	
	label.filebutton .picto {
		width: 22px;
		height: 22px;
		top: 0;
		left: 5px;
	}
	
	.zone .filename {
		left: 42px;
		top: 7px;
	}
	
	body.home .cta img {
		width: 200px;
	}
	
	body.home .gain {
		text-align: right;
		bottom: 30px;
	}
	
	body.home .gain img {
		width: 90%;
	}
	
	#footer {
		height: auto;
		padding: 15px;
		justify-content: space-between;
	}
	
	#footer a {
		font-size: 12px;
	}	
	
	#footer ul li {
		display: flex;
		flex-flow: column;
		align-items: center;
		gap: 5px;
	}
	
	#footer ul li:not(:last-child) {
		margin-bottom: 5px;
	}
	
	#footer ul li:not(:last-child):after {
		margin: 3px;
		font-size: 9px;
		content: '';
		border-bottom: 1px solid #fff;
		width: 15px;
	}
	
	body.form #bglb {
		width: 134px;
		height: 153px;
		background: url(../img/donut2.png) no-repeat -20px top / 100%;
		left: -55px;
		top: 529px;
	}
	
	body.form #bgrb {
		background: url(../img/donut2_mobile.png) no-repeat 50px top / 100%;
		width: 188px;
		height: 155px;
		
	}
	
	
	
	body.form.next #bglb, body.form.next #bgrt, body.form.next #bgrb {
		display: none;
	}
	
	.layout .form .second {
		display: none;
	}
	
	body.next .layout .form .first {
		display: none;
	}
	
	body.next .layout .form .second {
		display: block!important; 
	}
	
	.layout .form {
		max-width: calc(100% - 80px);
		padding: 20px;
	}
	
	.layout .form .row {
		flex-flow: column;
		gap: 10px;
		margin-bottom: 10px;
	}
	
	.layout .form .submit {
		text-align: center;
	}
	/*
	body:not(.next) .submit .message {
		display: none!important;
	}
	
	
	body:not(.next) .message {
		margin-bottom: 10px;
	}
	*/
	
	.message {
		text-align: center;
	}
	
	.zones {
		flex-flow: column;
		gap: 0;
	}
	
	.zones .col {
		display: flex;
		flex: auto;
		width: 100%;
		flex-flow: row-reverse;
		justify-content: flex-end;
		gap: 10px;
	}
	
	form .radios > div.checked::after {
		width: 12px;
		height: 12px;
		top: 4px;
	}
	
	.zones .col:last-child .sticker {
		transform: translateX(10px);
	}
	
	.layout .form .submit img {
	
	}
	
	.layout .form .back a {
		font-size: 15px;
	}
	
	
	.listes {
		flex-flow: column;
		gap: 0;
	}
	
	.layout .fields .txt {
		font-size: 14px;
		padding-top: 0;
	}
	
	.layout .form label {
		font-size: 16px;
		text-align: center;
	}
	
	body.form .layout label br {
		display: none;
	}
	
	body.form .layout .i {
		width: 12px;
		height: 12px;
	}
	
	form .radios > div::before {
		width: 20px;
		height: 20px;
		flex: 0 0 20px;	
	}
	
	.second .fields .selectcontainer, .second input {
		width: 100%;
	}
	
	body.resultat .layout.perdu .txt img {
		width: 90%;
		max-width: 350px;
	}
	
	body.form #page, body.merci #page, body.termine #page {
		background: url(/img/bg_mobile.jpg) no-repeat left top / cover;
	}
	
	.fields .selectcontainer {
		height: 48px;
	}
	
	.zone {
		max-width: 56%;
	}
	
	.zone .filename {
		
		height: 40px;
	}
	
	.zones .sticker {
		margin-top: -20px;
	}
	
	body.termine .layout {
		padding: 0 20px;
	}
	
	form .radios {
		color: #fff;
		font-size: 14px;
	}
	
	form .radios > div::before {
		top: 0;
	}
	
	form .obli {
		color: #fff;
		font-size: 15px;
	}
	
	form .cta {
		margin-top: 30px;
	}
	
	.radios {
		
	}
	
	#mainForm2 button {
		display: flex;
		justify-content: center;
		width: 100%;
	}
	
	#mainForm2 button img {
		width: 120px;
	}
	
	.layout .form .back {
		right: 30px;
		top: -40px;
		text-align: right;
	}
	
	body.resultat .layout.perdu .res img {
		width: 300px;
	}
}