/***********
 * GENERAL * 
 ***********/
.home .header {
	margin-top: -80px;
}




/**********
 * HEADER * 
 **********/
.home .header {
	position: relative;
	height: 70vh;
	
	padding: 140px 0 0 0;
	
	background-image: url('/img/pages/home/bosco.jpg');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	
	z-index: 20;
}

.home .header .row {
	height: 100%;
}

.home .header .logo {
	display: block;
	width: 343px;
	max-width: 100%;
	
	margin: 0 auto;
}

.home .header .logo img {
	max-width: 100%;
	display: block;
}

.home .header .desc {
	display: block;
	width: 260px;
	max-width: 100%;
	
	margin: 0 auto;
	padding: 10px;
	
	font-size: 18px;
	border: 2px solid #262b3b;
	
	box-sizing: border-box;
	
	position: relative;
	left: 300px;
}

.home .header h1 {
	display: block;
	width: 415px;
	max-width: 100%;
	
	margin: 60px auto 40px auto;
	
	font-size: 40px;
	font-weight: 600;
	
	position: relative;
	left: 180px;
	
	text-align: center;
}

.home .header a {
	display: block;
	width: 220px;
	
	margin: 0 auto;
	padding: 15px 0;
	
	text-align: center;
	text-decoration: none;
	
	font-size: 16px;
	font-weight: 600;
	
	position: relative;
	left: 185px;
}

.home .header a:hover {
	color: #262b3b;
}







/***********
 * FRAME 1 * 
 ***********/
.frame-1 {
	position: relative;
	z-index: 10;
	overflow: hidden;
}

.frame-1 .grid {
	position: relative;
	z-index: 10;
}

.frame-1 .grid.open { pointer-events: none; z-index: -1; }

.frame-1 .grid .left,
.frame-1 .grid .right {
	display: inline-block;
	vertical-align: middle;
	
	width: 50%;
	height: 322px;
	
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.frame-1 .grid .left .content,
.frame-1 .grid .right .content {
	display: block;
	width: 480px;
	
	text-align: center;
	height: 100%;
	cursor: pointer;
}

.frame-1 .grid .left .content {
	float: right;
}

.frame-1 .grid .right .content {
	float: left;
}

.frame-1 .grid div .content > div {
	position: relative;
	top: 50%;
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.frame-1 .grid div:first-child .content > div img { width: 80px; height: 80px; }
.frame-1 .grid div:nth-child(2) .content > div img { width: 92px; height: 92px; }
.frame-1 .grid div:nth-child(3) .content > div img { width: 89px; height: 71px; }
.frame-1 .grid div:last-child .content > div img { width: 84px; height: 83px; }

.frame-1 .grid div .content > div p {
	display: block;
	width: 240px;
	max-width: 100%;
	
	margin: 30px auto 0 auto;
	
	padding: 15px 5px;
	font-size: 18px;
	
	box-sizing: border-box;
}

.frame-1 .grid div:first-child.open,
.frame-1 .grid div:nth-child(2).open {
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-o-transform: translateY(-100%);
	transform: translateY(-100%);
}

.frame-1 .grid div:nth-child(3).open,
.frame-1 .grid div:last-child.open {
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	-o-transform: translateY(100%);
	transform: translateY(100%);
}



.frame-1 .desc {
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	padding: 40px 0;
	
	box-sizing: border-box;
	z-index: 5;
}

.frame-1 .desc.gestion-stand { background-color: #FFF; color: #5198cd; }
.frame-1 .desc.creation-stand { background-color: #ffca44; color: #262b3b; }
.frame-1 .desc.sous-traitance { background-color: #5198cd; color: #FFF; }
.frame-1 .desc.regisseur { background-color: #262b3b; color: #5198cd; }

.frame-1 .desc .top {
	text-align: center;
}

.frame-1 .desc .top img {
	display: inline-block;
	vertical-align: middle;
	
	margin: 20px;
	
	width: 50px;
	height: 50px;
	
	cursor: pointer;
}

.frame-1 .desc .top img[data-id="gestion-stand"]{ width: 48px; height: 48px; }
.frame-1 .desc .top img[data-id="creation-stand"] { width: 48px; height: 48px; }
.frame-1 .desc .top img[data-id="sous-traitance"] { width: 57px; height: 47px; }
.frame-1 .desc .top img[data-id="regisseur"] { width: 48px; height: 47px; }

.frame-1 .desc .bottom .type { 
	display: none;
	
	background-repeat: no-repeat;
	background-size: 200px 300px;
	background-position: bottom right;
}
.frame-1 .desc .bottom .type.show { display: block; }

.frame-1 .desc .bottom .type > div {
	display: inline-block;
	vertical-align: middle;
}

.frame-1 .desc .bottom .type > div img {
	height: auto;
	width: auto;
	max-width: 450px;
	max-height: 350px;
}

.frame-1 .desc .bottom .type[data-id="gestion-stand"] > div:first-child,
.frame-1 .desc .bottom .type[data-id="sous-traitance"] > div:first-child {
	width: calc(60% - 44px);
	margin: 0 40px 0 0;
	text-align: center;
}

.frame-1 .desc .bottom .type[data-id="gestion-stand"] > div:first-child img,
.frame-1 .desc .bottom .type[data-id="sous-traitance"] > div:first-child img {
	max-width: 100%;
	max-height: 100%;
}

.frame-1 .desc .bottom .type[data-id="creation-stand"] > div:first-child,
.frame-1 .desc .bottom .type[data-id="regisseur"] > div:first-child {
	width: 40%;
}


.frame-1 .desc .bottom .type[data-id="gestion-stand"] > div:last-child img,
.frame-1 .desc .bottom .type[data-id="sous-traitance"] > div:last-child img {
	display: block;
	margin: 0 auto 30px auto;
}
.frame-1 .desc .bottom .type[data-id="creation-stand"] > div:first-child img,
.frame-1 .desc .bottom .type[data-id="regisseur"] > div:first-child img {
	display: block;
	margin: 0 auto 30px auto;
}

.frame-1 .desc .bottom .type[data-id="gestion-stand"] > div:last-child img { width: 48px; height: 48px; }
.frame-1 .desc .bottom .type[data-id="creation-stand"] > div:first-child img { width: 48px; height: 48px; }
.frame-1 .desc .bottom .type[data-id="sous-traitance"] > div:last-child img { width: 57px; height: 47px; }
.frame-1 .desc .bottom .type[data-id="regisseur"] > div:first-child img { width: 48px; height: 47px; }


.frame-1 .desc .bottom .type[data-id="gestion-stand"] > div:last-child,
.frame-1 .desc .bottom .type[data-id="sous-traitance"] > div:last-child {
	width: 40%;
}

.frame-1 .desc .bottom .type[data-id="creation-stand"] > div:last-child,
.frame-1 .desc .bottom .type[data-id="regisseur"] > div:last-child {
	width: calc(60% - 44px);
	margin: 0 0 0 40px;
	text-align: center;
}


.frame-1 .desc .bottom .type > div p {
	margin: 0;
}

.frame-1 .desc .bottom .type > div p.titre {
	font-size: 20px;
}

.frame-1 .desc .bottom .type > div .separator {
	display: block;
	margin: 20px 0;
	
	width: 20px;
	height: 2px;
}
	
.frame-1 .desc img.close {
	position: absolute;
	top: 20px;
	left: 20px;
	
	cursor: pointer;
	
	display: block;
	width: 20px;
	height: 20px;
}
	
.frame-1 .desc img.background {
	position: absolute;
	bottom: -50px;
	right: -50px;
	
	display: block;
	width: 40vw;
	height: 40vw;
	
	-webkit-transform: rotate(20deg);
	-moz-transform: rotate(20deg);
	-ms-transform: rotate(20deg);
	-o-transform: rotate(20deg);
	transform: rotate(20deg);
	
	opacity: 0.4;
	z-index: -1;
}



















/***********
 * FRAME 2 * 
 ***********/
.frame-2 {
	position: relative;
	padding: 40px 0;
	z-index: 20;
}

.frame-2 .left,
.frame-2 .right {
	display: inline-block;
	vertical-align: middle;
	
	width: 50%;
}

.frame-2 .left h1 {
	font-size: 40px;
	font-weight: 500;
}

.frame-2 .left .sous-titre {
	font-size: 18px;
}

.frame-2 .left p {
	margin-right: 20px;
}

.frame-2 .left p span {
	border-bottom: 1px solid #ffca44;
}

.frame-2 .left a.cv {
	display: block;
	width: 220px;
	
	margin-top: 10px;
	
	font-weight: bold;
	text-decoration: none;
}

.frame-2 .left a.cv:hover {
	color: #5198cd;
}

.frame-2 .left a.contact {
	display: block;
	width: 220px;
	
	margin: 30px auto 0 auto;
	padding: 15px 0;
	
	font-size: 18px;
	text-align: center;
	text-decoration: none;
}

.frame-2 .left a.contact:hover {
	color: inherit;
}

.frame-2 .right {
	text-align: center;
}

.frame-2 .right img {
	max-width: 100%;
	max-height: 100%;
}







/***********
 * FRAME 3 * 
 ***********/
.frame-3 {
	position: relative;
}

.frame-3 .slider .arrow-left,
.frame-3 .slider .arrow-right {
	display: none;
}

.frame-3 .indicateur-image {
	height: calc(12.5vw - 2.25px);
}

.frame-3 .indicateur-image > div {
	display: inline-block;
	margin: 0 -4px 0 0;
	padding: 0;
	
	width: 12.5%;
	height: calc(12.5vw - 2.25px);
	
	background-position center center;
	background-repeat: no-repeat;
	background-size: cover;
	
	cursor: pointer;
}

.frame-3 .indicateur-image > div:last-child {
	margin: 0;
}


/*********
 * POPUP *
 * *******/
.overlay-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	background-color: rgba(38, 43, 59, 0.8);
	
	z-index: 110;
}

.popup-frame-3 {
	position: fixed;
	top: 50%;
	left: 0;
	right: 0;
	
	display: none;
	width: 700px;
	max-width: 100%;
	height: 500px;
	
	margin: 0 auto;
	
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	
	z-index: 120;
}

.popup-frame-3 .close {
	position: absolute;
	top: 20px;
	right: 0;
	
	width: 60px;
	cursor: pointer;
}












/***********
 * FRAME 4 *
 * *********/
.frame-4 {
	padding: 60px 0;
	text-align: center;
}

.frame-4 h1 {
	text-align: left;
	font-size: 40px;
	font-weight: 500;
}

.frame-4 a {
	display: inline-block;
	vertical-align: middle;
	margin: 0 26px 20px 0;
	
	width: 90px;
}

.frame-4 a:hover {
	-webkit-animation-name: bounce;
	animation-name: bounce;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.frame-4 a img {
	max-width: 100%;
}












/***********
 * FRAME 5 * 
 ***********/
.frame-5 {
	position: relative;
	padding: 60px 0;
	
	overflow: hidden;
}

.frame-5 img.background {
	position: absolute;
	top: -120px;
	left: -50px;
	
	z-index: 5;
	
	pointer-events: none;
}

.frame-5 .content {
	position: relative;
	width: 720px;
	max-width: 100%;
	margin: 0 auto;
	
	z-index: 10;
}

.frame-5 .content img {
	display: block;
	width: 40px;
	height: 26px;
}

.frame-5 .content p.texte {
	font-size: 40px;
	line-height: 42px;
	width: 620px;
	max-width: 90%;
	margin: 0 auto;
}

.frame-5 .content img:last-of-type {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
	
	float: right;
}

.frame-5 .content p.signature {
	margin: 0;
	text-align: right;
	clear: both;
	
	font-style: italic;
	font-size: 18px;
}














/***********
 * FRAME 6 * 
 ***********/
.frame-6 {
	position: relative;
	padding: 40px 0;
}

.frame-6 .left,
.frame-6 .right {
	display: inline-block;
	vertical-align: top;
}

.frame-6 .left {
	width: calc(40% - 24px);
	margin-right: 20px;
}

.frame-6 .left img {
	display: block;
	max-width: 100%;
}

.frame-6 .left .coord {
	width: 343px;
	max-width: 100%;
	
	padding: 20px;
	margin: 0;
	
	border-left: 4px solid #262b3b;
	border-right: 4px solid #262b3b;
	border-bottom: 4px solid #262b3b;
	
	box-sizing: border-box;
}

.frame-6 .left .coord p {
	font-size: 18px;
	margin: 0 0 20px 0;
}

.frame-6 .left .coord p:last-child {
	margin: 0;
}

.frame-6 .left .sociaux {
	width: 343px;
	max-width: 100%;
	
	padding: 20px 20px 10px 20px;
	
	text-align: center;
	box-sizing: border-box;
	
	border-left: 4px solid #262b3b;
	border-right: 4px solid #262b3b;
	border-bottom: 4px solid #262b3b;
}

.frame-6 .left .sociaux a {
	display: inline-block;
	vertical-align: top;
	
	width: 40px;
	height: 40px;
	
	margin: 0 6px 10px 0;
}

.frame-6 .left .sociaux a:last-child {
	margin: 0;
}

.frame-6 .left .sociaux a img {
	width: 100%;
	height: 100%;
}



.frame-6 .right {
	width: 60%;
}

.frame-6 .right h1 {
	margin: 0 0 40px 0;
	
	font-size: 40px;
	font-weight: 400;
}

.frame-6 .right form input[type="text"],
.frame-6 .right form textarea {
	display: inline-block;
	vertical-align: top;
	width: calc(50% - 10px);
	height: 50px;
	
	margin: 0 16px 20px 0;
	
	color: #5198cd;
	background-color: #F2F2F2;
	
	border: 2px solid #E5E5E5; 
	border-radius: 0;
	
	-webkit-transition: border 0.2s ease;
	-moz-transition: border 0.2s ease;
	-ms-transition: border 0.2s ease;
	-o-transition: border 0.2s ease;
	transition: border 0.2s ease;
}

.frame-6 .right form input[type="text"]:nth-child(even) {
	margin: 0 0 20px 0;
}

.frame-6 .right form input[type="text"]:focus,
.frame-6 .right form textarea:focus {
	border: 2px solid #a3d9ff;
}

.frame-6 .right form textarea{
	display: block;
	width: 100%;
	height: 180px;
	
	margin: 0;
}

.frame-6 .right .error {
	margin: 10px 0 0 0;
	display: none;
}

.frame-6 .right form input[type="submit"] {
	display: block;
	width: 220px;
	height: auto;
	
	margin: 20px auto 0 auto;
	padding: 15px 0;
	
	color: #262b3b;
	background-color: #5198cd;
	
	border-radius: 0;
	border: 0;
	
	font-size: 20px;
	font-weight: 500;
	text-transform: none;
}







/* Responsive
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/*-- LARGEUR --*/

/* Plus petit que 1300
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 1300px) {
	.home .header .logo,
	.home .header .desc {
		position: relative;
		left: 60%;
		margin: 0;
		width: 343px;
		text-align: center;
	}
	
	.home .header h1 {
		width: 343px;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		left: 60%;
		font-size: 36px;
	}
	
	.home .header a {
		width: 343px;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		left: 60%;
	}
}




/* Plus petit que 1100
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 1100px) {
	/*.home .header {
		background-image: none;
	}*/
	
	
	.frame-1 .grid .left .content,
	.frame-1 .grid .right .content {
		width: 320px;
	}
}






/* Plus petit que 960
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 960px) {
	.home .header {
		background-image: none;
		text-align: center;
	}
	
	.home .header .logo,
	.home .header .desc {
		display: inline-block;
		vertical-align: top;
		position: static;
	}
	
	.home .header .desc {
		margin-left: -4px;
		height: 160px;
		padding: 0 10px;
	}
	
	.home .header .desc > div {
		position: relative;
		top: 50%;
		
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	
	.home .header h1,
	.home .header a {
		position: static;
		margin-left: auto;
		margin-right: auto;
	}
}






/* Plus petit que 950
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 950px) {
	.frame-1 .desc {
		height: auto;
	}
}






/* Plus petit que 800
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 800px) {
	.frame-2 .left,
	.frame-2 .right {
		display: block;
		margin: 0;
		width: 100% !important;
		height: auto;
	}
	
	.frame-2 .right {
		display: none;
		height: 300px;
		margin: 20px 0 0 0;
	}
	
	.frame-6 .left,
	.frame-6 .right {
		display: block;
		width: 100%;
		margin: 0 20px 0 0 !important;
	}
	
	.frame-6 .left > * {
		margin: 0 auto !important;
	}
	
	.frame-6 .left > *:last-child {
		margin: 0 auto 40px auto !important;
	}
}






/* Plus petit que 750
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 750px) {
	.frame-1 .desc .container {
		width: 95%;
	}
	
	.frame-1 .desc .bottom .type > div:first-child {
		width: calc(50% - 44px);
	}
	
	.frame-1 .desc .bottom .type > div:last-child {
		width: 50%;
	}
	
	
	
	.frame-3 .indicateur-image {
		height: calc((25vw - 4.1px) * 2);
	}
	
	.frame-3 .indicateur-image > div {
		width: 25%;
		height: calc(25vw - 3.75px);
	}
	
	.frame-3 .indicateur-image > div:nth-child(5),
	.frame-3 .indicateur-image > div:nth-child(6),
	.frame-3 .indicateur-image > div:nth-child(7),
	.frame-3 .indicateur-image > div:nth-child(8) {
		position: relative;
		top: -6px;
	}
}






/* Plus petit que 660
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 660px) {
	.frame-1 .grid .left .content,
	.frame-1 .grid .right .content {
		width: 100%;
	}
}






/* Plus petit que 620
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 620px) {
	.home .header .desc {
		height: auto;
		margin: 10px 0;
		padding: 10px;
	}
	
	.home .header .desc > div {
		position: static;
		
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform:none;
		transform: none;
	}
}






/* Plus petit que 500
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 500px) {
	.frame-6 .right form input[type="text"] {
		display: block;
		width: 100%;
		
		margin: 0 0 20px 0 !important;
	}
}






/* Plus petit que 450
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 450px) {
	.frame-1 .grid .left,
	.frame-1 .grid .right {
		display: block;
		margin: 0;
		width: 100%;
	}
	
	.frame-1 .grid div:first-child.open,
	.frame-1 .grid div:nth-child(2).open {
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	
	.frame-1 .grid div:nth-child(3).open,
	.frame-1 .grid div:last-child.open {
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	
	.frame-1 .desc .bottom .type > div {
		display: block;
		margin: 0 !important;
		width: 100% ! important;
	}
}






/* Plus petit que 420
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 420px) {
	.frame-6 .left .sociaux a {
		width: 65.75px;
		height: 65.75px;
		
		margin: 0 6px 10px 0 !important;
	}
}






/* Plus petit que 400
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 400px) {
	.frame-2 .left p {
		display: block;
		width: 100%;
		margin: 0 0 20px 0;
	}
	
	
	.frame-3 .indicateur-image {
		height: calc((50vw - 8.3px) * 4);
	}
	
	.frame-3 .indicateur-image > div {
		width: 50%;
		height: calc(50vw - 8.5px);
	}
	
	.frame-3 .indicateur-image > div:nth-child(3),
	.frame-3 .indicateur-image > div:nth-child(4) {
		position: relative;
		top: -6px;
	}
	
	.frame-3 .indicateur-image > div:nth-child(5),
	.frame-3 .indicateur-image > div:nth-child(6) {
		position: relative;
		top: -12px;
	}
	
	.frame-3 .indicateur-image > div:nth-child(7),
	.frame-3 .indicateur-image > div:nth-child(8) {
		position: relative;
		top: -18px;
	}
	
}








/*-- HAUTEUR --*/

/* Plus petit que 720
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-height: 720px) {
	.home .header {
		height: 600px;
	}
}



/* Plus petit que 600
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-height: 600px) {
	.popup-frame-3 {
		height: 90vh;
	}
}