/*! normalize.css v3.0.2 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }.cf { clear: both; }.cf:after { content: ""; display: table; clear: both; }* {	outline: none; }a, a:hover, a:visited, a:focus, a:active { text-decoration: none; }
.utility { width: 0px; height: 0px; font-size: 0px; line-height: 0px; opacity: 0; position: fixed; bottom: 0; right: 0; border: 0; background-color: transparent; }
body, html {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

body {
	font-family: Georgia,Cambria,"Times New Roman",Times,serif;
	letter-spacing: .01rem;
	font-weight: 400;
	font-style: normal;
	font-size: 21px;
	line-height: 1.58;
	letter-spacing: -0.003em;
	color: rgba(0,0,0,0.8);

	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-font-feature-settings: "liga" on;
}

#background-sound {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    z-index: 100;
    padding: 15px;
    background: #f1f1f1;
}

#background-video,
#background-video-filter {
	position: absolute;s
	top: -50px;
	left: -50px;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#background-video {
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-webkit-transform: ranslate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
}

#background-video-filter {
	background-color: rgba(255,255,255,0.6);
	z-index: 2;

}

#background-video-filter.darken {
	background-color: rgba(255,255,255,0.91);
}

.centering {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
}

button {
	display: inline-block;
	text-align: center;
	background-color: rgba(0,0,0,0);

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

button.transition-on {
	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	    -ms-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
		-webkit-backface-visibility: hidden;
}

button:hover {
	background-color: rgba(0,0,0,0.8);
	color: rgba(255,255,255,1);
}

input {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

button, input {
	color: rgba(0,0,0,0.8);
  	line-height: 1.1;
	padding: 0.8em 1em;
	border: 1px solid rgba(0,0,0,0.4);
}

input:focus {
	border-color: rgba(0,0,0,0.6);
}

::-webkit-input-placeholder { color: rgba(0,0,0,0.3); }
:-moz-placeholder { color: rgba(0,0,0,0.3); }
::-moz-placeholder { color: rgba(0,0,0,0.3); }
:-ms-input-placeholder { color: rgba(0,0,0,0.3); }

 #logo {
 	width: 30vw;
	height: 30vw;
	z-index: 10;
	cursor: pointer;

	-webkit-transition: all 1s ease-in-out;
	   -moz-transition: all 1s ease-in-out;
	    -ms-transition: all 1s ease-in-out;
	     -o-transition: all 1s ease-in-out;
	        transition: all 1s ease-in-out;
	-webkit-backface-visibility: hidden;
 }

 #logo.login-shape {
 	width: 18vw;
	height: 18vw;
	z-index: 9;
	top: 0; left: 50%;
	transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-o-transform: translateX(-50%);

	-webkit-transition: all 0.5s ease-in-out;
	   -moz-transition: all 0.5s ease-in-out;
	    -ms-transition: all 0.5s ease-in-out;
	     -o-transition: all 0.5s ease-in-out;
	        transition: all 0.5s ease-in-out;
	-webkit-backface-visibility: hidden;
 }

 #logo.login-shape.home-shape {
 	width: 65px;
	height: 65px;
	z-index: 9;

	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	    -ms-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
 }

 #logo.login-shape.home-shape.position {
 	position: fixed;
 	top: 0; left: 4px;
 	transform: none;
	-ms-transform: none;
	-moz-transform: none
	-webkit-transform: none;
	-o-transform: none;
 }

.shape {
	position: absolute;
	width: 100%; height: 100%; top: 0; bottom: 0; left: 0; right: 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	display: none;
}

.s1 {
	z-index: 40;
	background-image: url(../img/logo-s1.png);
}

.s2 {
	z-index: 30;
	background-image: url(../img/logo-s2.png);
}

.s3 {
	z-index: 20;
	background-image: url(../img/logo-s3.png);
}

.s4 {
	z-index: 50;
	background-image: url(../img/logo-s4.png);
}

.spin {
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@-webkit-keyframes rotate {
    from {-webkit-transform: rotate(0deg);}
    to {-webkit-transform: rotate(360deg);}
}

@-moz-keyframes rotate {
    from {-moz-transform: rotate(0deg);}
    to {-moz-transform: rotate(360deg);}
}

@keyframes rotate {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}

@-webkit-keyframes rotate2 {
    from {-webkit-transform: rotate(0deg);}
    to {-webkit-transform: rotate(-360deg);}
}

@-moz-keyframes rotate2 {
    from {-moz-transform: rotate(0deg);}
    to {-moz-transform: rotate(-360deg);}
}

@keyframes rotate2 {
    from {transform: rotate(0deg);}
    to {transform: rotate(-360deg);}
}

.spin1 {
    -webkit-animation-name: rotate; 
    -webkit-animation-duration: 40s; 
    -moz-animation-name: rotate; 
    -moz-animation-duration: 40s; 
    animation-name: rotate; 
    animation-duration: 40s; 
}

.spin2 {
    -webkit-animation-name: rotate; 
    -webkit-animation-duration: 80s; 
    -moz-animation-name: rotate; 
    -moz-animation-duration: 80s; 
    animation-name: rotate; 
    animation-duration: 80s; 
}

.spin3 {
    -webkit-animation-name: rotate; 
    -webkit-animation-duration: 120s; 
    -moz-animation-name: rotate; 
    -moz-animation-duration: 120s; 
    animation-name: rotate; 
    animation-duration: 120s; 
}

#login-form {
	z-index: 9;
	opacity: 0;
 	width: 50vw;
	text-align: center;

	-webkit-transition: opacity 1s ease-in;
	   -moz-transition: opacity 1s ease-in;
	    -ms-transition: opacity 1s ease-in;
	     -o-transition: opacity 1s ease-in;
	        transition: opacity 1s ease-in;
	-webkit-backface-visibility: hidden;
}

#login-form.open {
	opacity: 1;
	z-index: 10;
}

#login-form input {
	width: 75%;
	max-width: 400px;
	margin-bottom: 3%;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 65px;
	line-height: 65px;
	display: none;
	z-index: 8;
	box-shadow: 0 0 1px rgba(0,0,0,0.15);
	background-color: #fff;
}

header #main-menu {
	position: absolute;
	right: 10px;
	top: 11px;
	line-height: 44px;
}

header #main-menu button {
    float: left;
    margin-left: 8px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 22px;
    border: 1px solid rgba(0,0,0,0.15);
    font-size: 18px;
    font-weight: normal;
    line-height: initial;
    padding: 0;
    width: 44px;
    height: 44px;
    display: none;
}

header #main-menu button .txt {
	display: none;
}


/* Section défi en cours */
#defi {
	display: none;
	position: absolute;
	top: 65px;
	width: 100%;
	z-index: 60;
	text-align: center;
}

#defi h1,
#defi p,
#defi button {
	text-transform: uppercase;
}

#defi p {
	line-height: 35px;
}

#defi p .chosen-theme {
	color: #fff;
	background-color: rgba(0,0,0,0.7);
	display: inline-block;
	padding: 10px 20px;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;

}

#defi .counter {
	position: absolute;
	text-align: center;
	z-index: 61;
	width: 100%;
}

#defi .date{
	position: absolute;
	vertical-align: middle;
	margin-left: -123px;
	width: 85px;
	margin-top: 95px;
	font-weight: 300;
}

#defi canvas { clear: both; }

#defi button {
	padding: 6px 20px 17px 20px;
	font-weight: 900;
}

#defi button i { 
	position: relative;
	top: 8px;
	font-size: 45px;
}