@charset "UTF-8";

/* CSS Document */

/* ////////////////// Anim dégradé ////////////////// */
@keyframes anim {
  from {
	background-position: 0% 0%;
    -webkit-filter: hue-rotate(0);
    -moz-filter: hue-rotate(0);
    -ms-filter: hue-rotate(0);
    filter: hue-rotate(0);
  }
  to {
	background-position: 10% -10%;
    -webkit-filter: hue-rotate(-360deg);
    -moz-filter: hue-rotate(-360deg);
    -ms-filter: hue-rotate(-360deg);
    filter: hue-rotate(-360deg);
  }
}
@keyframes anim1 {
  from {
	background-position: 0% 0%;
  }
  to {
	background-position: 10% -10%;
  }
}
/* ////////////////// Fin Anim dégradé ////////////////// */

* {
	margin:0px;
	padding:0px;
}

html {
    font-family:Arial, Helvetica, sans-serif;
	width:100%;
	padding:0px;
	margin:0px;
}

body {
	display:block;
	width:100%;
	min-height:100%;
	margin:0px;
	padding:0px;
	background: url(../0-Links/00-bg.png), #000;
}

div {
	margin:0px;
	padding:0px;
}

.loader {
    position : fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
	background: url(../0-Links/00-bg.png), #000;
	height: 100%;
	width: 100%;
    cursor : wait;
}

.loader div {
    display: none;
}

.content {
	position:relative;
	width:1200px;
	height:100%;
	margin:0px auto;
}

.cacheAc {
	display: none;
}

.deg {
	z-index:85;
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
 	background:
 		url(../0-Links/00-bg.png), 
 		linear-gradient(45deg, hsla(340,100%,55%,1) 0%, hsla(340,100%,55%,0) 50%), 
 		linear-gradient(135deg, hsla(225,95%,50%,1) 0%, hsla(225,95%,50%,0) 50%), 
 		linear-gradient(225deg, hsla(140,90%,50%,1) 0%, hsla(140,90%,50%,0) 50%), 
 		linear-gradient(315deg, hsla(35,95%,55%,1) 100%, hsla(35,95%,55%,0) 50%);
 	animation: anim1 10s linear infinite;
}

#header.errorHeader, #header .errordeg {
	height:545px;
}

.deg1 {
	z-index:85;
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
 	background:
 	url(../0-Links/00-bg.png), 
	 	linear-gradient(135deg, hsla(340,100%,55%,1) 0%, hsla(340,100%,55%,0) 50%), 
	 	linear-gradient(45deg, hsla(225,95%,50%,1) 0%, hsla(225,95%,50%,0) 50%), 
	 	linear-gradient(315deg, hsla(140,90%,50%,1) 0%, hsla(140,90%,50%,0) 50%), 
	 	linear-gradient(225deg, hsla(35,95%,55%,1) 100%, hsla(35,95%,55%,0) 50%);
 	animation: anim1 10s linear infinite;
}

/* ////////////////// Header ////////////////// */

#header {
	position:relative;
	width:100%;
	height:545px;
	top:-5px;
}

#menu {
	z-index:90;
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.2) 100%);
	overflow: hidden;
}

#menu::before {
	content: '';
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height: 100%;

}
.scrolled-menu:before {
	content: '';
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height: 100%;
	background: url(../0-Links/00-bg.png), rgba(0,0,0,1);
}
.scrolled-menu, #menu:hover::before {
	background: url(../0-Links/00-bg.png), rgba(0,0,0,1);
}

h1 {
	position: absolute;
	top: 7px;
	left: 0px;
	width: 83px;
	height: 83px;
	overflow: hidden;
	transition: top 0.5s, width 0.5s, height 0.5s, left 0.5s;
}

h1::before {
	content: '';
	position: relative;
	display: block;
	width: 83px;
	height: 83px;
	background-image: url(../0-Links/Icones-level-up-studio.png);
	background-repeat: no-repeat;
	background-size: 500% 100%;
	background-position: 0 0;
	transition: background 0.5s, width 0.5s, height 0.5s;
}

#menu .scrolled-menu-h1 {
	width: 66px;
    height: 46px;
	left:-7px;
	transition: top 0.5s, width 0.5s, height 0.5s, left 0.5s;
}

#menu .scrolled-menu-h1::before {
	width: 66px;
    height: 66px;
	background-size: 500% 100%;
	transition: background 0.5s, width 0.5s, height 0.5s;
}

#ban {
	position: absolute;
	top:0px;
	left:0px;
	width:100%;
	height:600px;
	overflow: hidden;

	/* ////////////////// L'utilisateur ne pourra pas sélectionner ce texte dans Firefox, Chrome, Safari et IE ////////////////// */
	user-select: none; 
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

#accroche1 .imgBan {
    z-index: 87;
    position: absolute;
    top: 0px;
	left: calc(50% - 480px);
	width: 832px;
	height: 480px;
	margin-left: 372px;
    background: url(../0-Links/bg1.png) no-repeat;
    background-size: auto 100%;
    background-position: top center;
    transition: height 0.3s;
}

#accroche2 .imgBan {
    z-index: 87;
    position: absolute;
    top: 0px;
	left: calc(50% - 371px);
	width: 742px;
	height: 472px;
	margin-left: 284px;
	background: url(../0-Links/bg2.png) no-repeat;
    background-size: auto 100%;
    background-position: top center;
    transition: height 0.3s;
}
#accroche3 .imgBan {
    z-index: 87;
    position: absolute;
    top: 0px;
	left: calc(50% - 396px);
	width: 793px;
	height: 457px;
	margin-left: 222px;
	background: url(../0-Links/bg3.png) no-repeat;
    background-size: auto 100%;
    background-position: top center;
    transition: height 0.3s;
}

#accroche1, #accroche2, #accroche3 {
	z-index:86;
	top:107px;
	left: calc(50% - 600px);
	height:472px;
}

#accroche2 {
	height: 513px;
}

/* ////////////////// Fin Header ////////////////// */

/* ////////////////// Services ////////////////// */

#services {
	width:100%;
}

#services .content {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
    align-items: baseline;
}

#services .service {
	position: relative;
    min-width: 320px;
    width: 320px;
    height: 420px;
    margin: 120px 0px 70px 0px;
    background: url(../0-Links/00-bg.png), #fff;
    box-shadow: 0px 5px 10px 5px #444;
}

.icone {
    position: relative;
    width: 100px;
    height: 100px;
    margin: -60px auto 50px auto;
	z-index: 50;
}

.identite {
    background: url(../0-Links/00-bg.png), hsla(225,95%,50%,1);
}

.identite::before {
	content: '';
	position: relative;
	display: block;
	width: 70%;
	height: 100%;
	margin: 0px auto; 
    background: url(../0-Links/Icones-level-up-studio.png) no-repeat;
	background-size: 500% auto;
	background-position: 50% 8px;
}

.id {
	z-index: 50;
    color: #fff;
    background:  url(../0-Links/00-bg.png), hsla(225,95%,50%,1);
}

.impression {
	background: url(../0-Links/00-bg.png), hsla(340,100%,55%,1);
}

.impression::before {
	content: '';
	position: relative;
	display: block;
	width: 70%;
	height: 100%;
	margin: 0px auto; 
    background: url(../0-Links/Icones-level-up-studio.png) no-repeat;
	background-size: 500% auto;
	background-position: 75% 8px;
}

.pr {
	z-index: 50;
    color: #fff;
	background: url(../0-Links/00-bg.png), hsla(340,100%,55%,1);
}

.digital {
	background: url(../0-Links/00-bg.png), hsla(35,95%,55%,1);
}

.digital::before {
	content: '';
	position: relative;
	display: block;
	width: 70%;
	height: 100%;
	margin: 0px auto; 
    background: url(../0-Links/Icones-level-up-studio.png) no-repeat;
	background-size: 500% auto;
	background-position: 100% 8px;
}

.w {
	z-index: 50;
    color: #fff;
	background: url(../0-Links/00-bg.png), hsla(35,95%,55%,1);
}

#services .service .bt, .id, .pr, .w{
	z-index: 50;
	position: absolute;
	bottom: 0px;
	width: 100%;
	padding: 2px 0px;
    text-align: center;
    font-size: 0em;
    color: #fff;
    margin: 0px;
    cursor: pointer;  
}

#services .service .bt {
	background-image: url(../0-Links/00-bg.png);
	background-repeat: repeat;
	height: 30px;
}

#services .service .bt span {
	display: inline-block;
	width: 16px;
	height: 16px; 
	margin-top: 7px;
	background: url('../0-Links/IconesGalerie.png') no-repeat;
	background-size: 300% 200%;
	background-position: 100% 0%;
	transition: background-position 0.5s;
}

#services .service .bt .ouvserv, #services .service .bt .ouvservForce {
	background-position: 100% 100%;
	transition: background-position 0.5s;
}

#services .service .listeServ {
	position: absolute;
	bottom: 0px;
	width: 260px;
	max-height: 330px;
	height: 0px;
    margin: 0px;
	padding: 26px 30px 8px 30px;
    background-color: #333;
    transition: height 0.5s, padding-top 0.5s;
    overflow-y: hidden;
}

#services .service .ListeServOuvr {
	height: 340px;
	padding-top: 82px;
}

/* ////////////////// Fin Services ////////////////// */

/* ////////////////// Projets ////////////////// */

#projets {
	position: relative;
	width:100%;
	padding:75px 0px 75px;
}

#projets .content {
	z-index: 86;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

#projets .content div {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	width:175px;
	height:175px;
	margin: 15px 15px;
	background: url(../0-Links/00-bg.png), #000000;
	overflow: hidden;
	box-shadow: 0px 2px 10px 0px rgba(0,0,0,0);
	transition: box-shadow 0.3s;
}

#projets .content div:nth-child(2n) {
	background: url(../0-Links/00-bg.png), #333333;
}

#projets .content div:nth-child(2n+7) {
	background: url(../0-Links/00-bg.png), #333333;
}

#projets .content div:nth-child(2n+8) {
	background: url(../0-Links/00-bg.png), #000000;
}

#projets .content div:nth-child(6n+1) {
	margin-left: 0px;
}

#projets .content div:nth-child(6n+6), #projets .content div:last-child {
	margin-right: 0px;
}

#projets .content div img {
	position: relative;
	display: inline-block;
	text-align: center;
	line-height: 112px;
	min-width:200%;
	max-height:auto;
	margin: 0 auto;
	cursor: pointer;
	opacity: 0.1;
	filter: blur(2px);
	transition: max-width 0.5s, min-width 0.5s, opacity 0.5s, transform 0.5s, filter 0.5s, margin 0.5s ;
	width: 100%;
}

#projets .content div:nth-child(2n) img {
	opacity: 0.1;
}

#projets .content div:hover img {
	min-width:90%;
	width: 90%;
	opacity: 1;
	filter: blur(0px);
	margin-left: 5%;
	margin-right: 5%;
}

/* ////////////////// Fin Projets ////////////////// */

/* ////////////////// Contact ////////////////// */

#contact {
	width: 100%;
	height: auto;
	padding: 60px 0px 35px 0px;
}

#contact .content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#contact .content > div {
	width: 50%;
	height: 250px;
	margin-bottom: 50px; 
}

#contact .content > form {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}

#contact .content > form > div {
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: calc(50% - 20px);
}

#contact .content > form > div > div:nth-child(3) {
	display: none;
}


#contact .content > form > div > div:nth-child(6), #contact .content > form > div > div:nth-child(7) {
	width: 100%;
}

#contact .content > form > div > div:nth-child(6) > label {
	position: inherit;
	display: inline;
	width: 200px;
	margin-right: 0px;
}

#contact .content > form > div > div:nth-child(6) > input {
	z-index: 1;
	position: relative;
	display: inline;
	width: 20px;
	margin-left: 20px;
	margin-right: 0px;
	opacity: 0;
	cursor: pointer;
}

#contact .content > form > div > div:nth-child(6) > span {
	position: relative;
	display: inline-block;
	width: 14px;
	height: 14px;
    background: url(../0-Links/00-bg.png), #fff;
	margin-left: -18px;
	opacity: 1;
	border-radius: 15px;
}

#contact .content > form > div > div:nth-child(6) > span::after {
  	content: "";
  	position: absolute;
	width: 8px;
	height: 8px;
	margin-top: 3px;
	margin-left: 3px;
	border-radius: 10px; 
    background: url(../0-Links/00-bg.png), #000;
    opacity: 0;
    transition: opacity 0.3s;
}

#contact .content > form > div > div:nth-child(6) > input:checked + span::after {
    opacity: 1;
}

#contact .content > form > div > div:nth-child(7) {
	margin-top: 30px;
}

#contact .content > form > div > div:nth-child(7) > label {
	position: relative;
	display: inline;
	width: 70px;
	top:-3px;
}

#contact .content > form > div > div:nth-child(7) > span {
	position: relative;
	display: inline-block;
	width: 80px;
	text-align: right;
	top:-3px;
}

#contact .content > form > div > div:nth-child(7) > input {
    -webkit-appearance: none;  /* Override default CSS styles */
    appearance: none;
	display: inline;
	width: calc(100% - 180px);
	height: 15px;
	padding: 0px;
	margin: 0px;  
	background: transparent;
    outline: none;
}

#contact .content > form > div > div:nth-child(7) > input::-webkit-slider-thumb {
  -webkit-appearance: none;
  margin-top: -7px;
}

#contact .content > form > div > div:nth-child(7) > input:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

#contact .content > form > div > div:nth-child(7) > input::-ms-track {
  width: 100%;
  cursor: pointer;

  /* Hides the slider so custom styles can be added */
  background: transparent; 
  border-color: transparent;
  color: transparent;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: #999999;
}

input[type=range]:focus::-webkit-slider-runnable-track {
  background: #999999;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: #999999;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: #999999;
  border: 0.2px solid #999999;
}
input[type=range]:focus::-ms-fill-lower {
  background: #999999;
}
input[type=range]::-ms-fill-upper {
  background: #999999;
  border: 0.2px solid #999999;
}
input[type=range]:focus::-ms-fill-upper {
  background: #999999;
}

/* Special styling for WebKit/Blink */
#contact .content > form > div > div:nth-child(7) > input::-webkit-slider-thumb {
    -webkit-appearance: none;  /* Override default CSS styles */
    appearance: none;
    width: 15px;
    height: 15px;
    border-radius: 50%; 
    background: #ffffff;
    cursor: pointer;
}

/* All the same stuff for Firefox */
#contact .content > form > div > div:nth-child(7) > input::-moz-range-thumb {
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
}

/* All the same stuff for IE */
#contact .content > form > div > div:nth-child(7) > input::-ms-thumb {
  height: 15px;
  width: 15px;
  margin-top: 0px; 
  border-radius: 50%;
  background: #ffffff;
  cursor: pointer;
}

#contact .content > form > div > div {
	position: relative;
	width: calc(50% - 20px);
}

#contact .content > form label, #contact .content > form input, #contact .content > form textarea {
	display: block;
	width: calc(100% - 40px);
	padding: 10px;
	margin: 10px;
	border: 0px;
}

#contact .content > form .messForm {
	width: calc(50% - 20px);
}

#contact .content > form .btForm {
	position: relative;
	width: calc(50% - 40px);
	margin-top: -50px;
    background: url(../0-Links/00-bg.png), #555;
	color: #fff;
	font-size: 1em;
	cursor: pointer;
	/** box-shadow: 0px 5px 10px 0px #444; **/
}

#contact .content > form .btForm:hover {
	background-color: #333;
	color: #fff;
}

#contact > .content > div > .photo {
	position: relative;
	display:block;
	width:250px;
	height:250px;
	background-color:#333333;
	border-radius: 100% 100%;
}

#contact > .content > div:first-child > .photo {
	margin-left: calc(100% - 250px);
}

/* ////////////////// Fin Contact ////////////////// */

/* ////////////////// Nous ////////////////// */

#nous {
	position: relative;
	width: 100%;
	height: auto;
	padding: 0px;
}

#nous .content {
	z-index: 86;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

#nous .deg {
	height: calc(100% - 40px);
	top: 40px;
}

#nous .content img {
	min-width: 315px;
	min-height: 265px;
	max-width: 315px;
	max-height: 265px;
}

#nous img:nth-child(2) {
	position: relative;
	margin-right: -70px;
}

#nous img:nth-child(3) {
	position: relative;
	margin-left: -50px;
}

#nous .content div:first-child p, #nous .content div:first-child h3 {
	margin-right: -20px;
}

#nous .content div:last-child p, #nous .content div:last-child h3 {
	margin-left: -35px;
}


/* ////////////////// Fin Nous ////////////////// */

/* ////////////////// Footer ////////////////// */

#footer {
	z-index: 98;
	position: relative;
	background-color: #333333;
}

#footer .content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#mentions {
	position: fixed;
	z-index: 97;
	display: none;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	top: 100%;
	left: 0%;
	width: 100%;
	height: 100%;
}

#mentions .fermML {
	z-index: 96;
	position: absolute;
	top:0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

#mentions .mentionsL {
	z-index: 97;
	position: relative;
	width: 1000px;
	height: calc(80% - 325px);
	padding: 175px 100px 100px 100px;
	background-color: rgba(0,0,0,0.92);
	margin-bottom: 0px;
	transition: height 0.3s, margin-bottom 0.3s;
}

#mentions .mentionsG {
	height: calc(80% - 275px);
	margin-bottom: -60px;
}

#mentions .mentionsL .content {
	width: calc(100% - 40px);
	padding-right: 50px;
	overflow-y: auto;
}

/* ////////////////// Fin footer ////////////////// */

/* ////////////////// Error 404 ////////////////// */

.errorh1 {
	z-index: 86;
	top: 80px;
	left: calc(50% - 150px);
	width: 300px;
	height: 288px;
}

.errorh1::before {
	width: 100%;
	height: 100%;
	background-image: url(../0-Links/Logo-level-up-studio.png);
	background-repeat: no-repeat;
	background-size: 100%;
}
/* ////////////////// Fin  Error 404 ////////////////// */