*{
	margin:0;
	padding: 0;
	webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

html{
	cursor: url("../../assets/img/cursor.png") 7 7, pointer;
}



a{

	cursor: url("../../assets/img/cursor.png")7 7, pointer;
	text-decoration: none;
	color: black;
}

svg text{
	font-family: gowan;
	font-size: 25em;
	text-anchor: middle;
	transform-origin: center;

}

body{
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

.opacity0{
	opacity: 0;
}

/*---------------------------*/


.barre {
	height: 100%;
	width: 75%;
	right: 0;
	overflow: hidden;
	position: absolute;
	top: -5px;
	-webkit-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-moz-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-ms-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-o-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);

}

.item {
	height: 115px;
	margin-top: 30px;
	padding-left: 115px;
	clear: both;
}

.item .img, .item span {
	background: #214273;
	border-radius: 3px;
}

.item .img {
	float: left;
	width: 71px;
	height: 71px;
	margin-left: -93px;
}

.item span {
	height: 11px;
	width: 180px;
	margin-bottom: 19px;
	float: left;
}

.item span:nth-of-type(3) {
	width: 75px;
	margin-bottom: 0;
}

.burger {
	height: 86px;
	width: 86px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

.x,
.y,
.z {
	position: absolute;
	margin: auto;
	top: 0px;
	bottom: 0px;
	background: #000;
	border-radius: 2px;
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-ms-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
}

.x, .y, .z {
	height: 3px;
	width: 34px;
}

.y {
	top: 20px;
}

.z {
	top: 40px;
}

.collapse {
	top: 20px;
	background: black;
	-webkit-transition: all 150ms ease-out;
	-moz-transition: all 150ms ease-out;
	-ms-transition: all 150ms ease-out;
	-o-transition: all 150ms ease-out;
	transition: all 150ms ease-out;
}


.rotate30 {
	-ms-transform: rotate(30deg);
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	-webkit-transition: all 50ms ease-out;
	-moz-transition: all 50ms ease-out;
	-ms-transition: all 50ms ease-out;
	-o-transition: all 50ms ease-out;
	transition: all 50ms ease-out;
}

.rotate150 {
	-ms-transform: rotate(150deg);
	-webkit-transform: rotate(150deg);
	transform: rotate(150deg);
	-webkit-transition: all 50ms ease-out;
	-moz-transition: all 50ms ease-out;
	-ms-transition: all 50ms ease-out;
	-o-transition: all 50ms ease-out;
	transition: all 50ms ease-out;
}

.rotate45 {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all 100ms ease-out;
	-moz-transition: all 100ms ease-out;
	-ms-transition: all 100ms ease-out;
	-o-transition: all 100ms ease-out;
	transition: all 100ms ease-out;
}

.rotate135 {
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	-webkit-transition: all 100ms ease-out;
	-moz-transition: all 100ms ease-out;
	-ms-transition: all 100ms ease-out;
	-o-transition: all 100ms ease-out;
	transition: all 100ms ease-out;
}


.circle {
	border-radius: 50%;
	width: 0px;
	height: 0;
	position: absolute;
	top: -50px;
	right: -50px;
	background: #fff;
	opacity: 1;
	-webkit-transition: all 400ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-moz-transition: all 400ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-ms-transition: all 400ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-o-transition: all 400ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	transition: all 400ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
}

.circle.expand {
	width: 1600px;
	height: 1600px;
	top: -560px;
	right: -500px;
	-webkit-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-moz-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-ms-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-o-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
}

.menu {
	height: 100vh;
	width: 70vw;
	position: absolute;
	top: 0;
	left: 0;
}

.menu ul li {
	list-style: none;
	position: absolute;
	top: 50px;
	left: 0;
	opacity: 0;
	width: 100%;
	text-align: center;
	font-size: 0px;
}

.menu ul li a {
	text-transform: uppercase;
	text-decoration: none;
	color: black;
	font-family: "Montserrat-Bold";
	font-size: 12px;
	letter-spacing: 2px;
}

.menu li.animate {
	font-size: 30px;
	opacity: 1;
	-webkit-transition: all 150ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-moz-transition: all 150ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-ms-transition: all 150ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-o-transition: all 150ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	transition: all 150ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
}

.menu li.animate:nth-of-type(1) {
	top: 30%;
	transition-delay: 0.0s;
}

.menu li.animate:nth-of-type(2) {
	top: 40%;
	transition-delay: 0.03s;
}

.menu li.animate:nth-of-type(3) {
	top: 50%;
	transition-delay: 0.06s;
}

.openSize{
 	height: 105vh;
	width: 100vw;
	-webkit-transition: all 200ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-moz-transition: all 200ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-ms-transition: all 200ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	-o-transition: all 200ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	transition: all 200ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
}
/*---------------------------*/

.animHome {
	height: 100vh;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.video-container {
	position: absolute;
	width: 100%;
	height: 100%;
}

.svg-container {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}

svg {
	width: 100%;
	height: 100%;
	overflow: visible;
	display: block;
}

svg mask rect {
	/*   fill: rgba(255, 255, 255, 0.8); */
	fill: white;
}
svg > rect {
	fill: white;
	-webkit-mask: url(#mask);
	mask: url(#mask);
}

.video-container {
	position: absolute;
	z-index: -1;
	overflow: hidden;
}

video{
	min-height: 100%;
	min-width: 100%;
}

.grid-container {
	display: grid;
	background-color: white;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px;
	flex-wrap:wrap ;
}

.grid-poster{
	display: grid;
	background-color: white;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 30px;
	flex-wrap: wrap;
	margin: 50px;
}

.grid-box{
	overflow: hidden;
	position: relative;
}

.grid-box a img:hover , .grid-box:hover a img   {
	transform: scale(1.1);
	transition: .5s ease;
}

.grid-box a,
.grid-box a img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	transition: .5s ease;
}

.grid-box a div {
	position: absolute;
	background: #333;
	background: rgba(75,75,75,0.7);
	width: 100%;
	height: 100%;
}

.grid-box a div span {
	color: white;
	font-size: 20px;
	width: 90%;
	font-family: seagle;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.home{
	position: absolute;
	top: 350px;
	min-height:100vh ;
}

.header-inner {
	display: table;
	width: 100%;
	/* margin: 0 auto; */
	/* padding: 20px 3%; */
}


.logoHeader{
	font-family: Altone-Bold;
	font-size: 20px;
	text-decoration: none;
}

.header-logo{
	padding: 2em 2em;
	width: 65px;
}

.main-header {
	position: sticky;
	top: 0;
	z-index: 1;
	background-color: white;
}

.lineHeader{
	width: 60vw;
	position: absolute;
	right: 7vw;
	border-bottom: black 1px solid;
	bottom: 0;
}


.profil{
	background-image: url("../../assets/img/profil/profilRed.png"), url("../../assets/img/profil/organic.png");
	position: relative;
	width: 100%;
	height: 100vh;
	background-size: 65%, 30%;
	background-repeat: no-repeat;
	background-position: center;
	background-position: 50% 50%;
}

.grid{
	width: 100vw;
	height: 100vh;
	background-color: white;
}

.left{
	position: relative;
	float: left;
	width: 50%;
}
.right{
	position: relative;
	float: right;
	width: 50%;
	margin-top: 50vh;
	background-color: #181717;
	color: white;
	font-family: Poppins-Bold;
	font-size: 14px;
	height: auto;
	transform: translateY(-50%);
}

.rightItem,.leftItem{
	width: 50%;
}

.descItem{
	font-family: Montserrat-Medium;
	padding: 70px 25%;
	background-image: url("../../assets/img/block_marbre.jpg");
	display: flex;
	color: white;
}

.mockup{
	margin: 0 20%;
	width: 60vw;
	background-color: white;
}

.gridWeb{
	margin: auto;
	width: 60vw;
	height: 100vh;
	background-color: white;
}

.gridWeb img{
	width: 100%;
}

.mockup > img {
	width: 100%;
	padding-bottom: 25px;
}

.title{
	font-size:35px;
	font-family: "Montserrat-ExtraBold";
	text-transform: uppercase;
}

.ville{
	font-family: "Montserrat Medium";
	color: #a3a3a3;
}

.link{
	font-family: Montserrat-Bold;
	margin: 35px 0;
}

.link >a {
	color: #a3a3a3;
}

.blockBlack{
	padding: 50px 50% 100px 50px;
}
.blockBlack > p{
	line-height: 22px;
	float: left;
	width: 110%;
	margin-bottom: 50px;
}

.blockBlack > img{
	position: absolute;
	transform: translate(0%,-40%);
	width: 300px;
	float: right;
}

.rightItem > p{
	padding: 10px 0 10px 20px;
	border-left: #ff003c 2px solid;
	line-height: 25px;
	text-transform: uppercase;
}

.filter{
	width: 100%;
	margin: 50px 0;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.filter ul > * {
	display: inline-flex;
	font-family: Montserrat-Bold;
	margin: 25px;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
}

.filter > ul > li > a.active{
	color: #a3a3a3;
}

.logoType{
	margin: 0 35%;
}

.logoType > img{
	width: 100%;
}

.solo{
	margin: 0 10%;
}

.solo > img{
	width: 100%;
}

.duo{
	display: flex;
	margin: 0 10%;
	justify-content: space-between;
}

.duo > img{
	width:35%;
	height: 100%;
}

.duo > img:first-child{
	width:50%;
	margin-top: 100px;

}

.contact > img{
	transform: rotateZ(-90deg) translate(-100%, 0);
	transform-origin: top left;
	height: 100vw;
}

.contact{
	width: 100%;
	position:fixed;
}

.contact .info{
	display:grid;
	justify-content: center;
	margin: 5%;
	font-family: Montserrat-Bold;
}

.contact .info > *{
	margin: 5% auto

}

.contact .info > .separation{
	font-size: 40px;

}


@media screen and (min-width: 680px) {

	.burger,.circle{
		display:none;
	}

	.menu ul li {
		opacity: 1;
		display: inline;
		position: inherit;
		-webkit-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
		-moz-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
		-ms-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
		-o-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
		transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
	}

	.menu ul li a {
		padding: 1em 1em;
	}

	.menu ul {
		text-align: right;
		margin: 3em 1em;
	}

}

a.effect {
	position: relative;
	display: inline-block;
	/*color: #000000;*/
	background: linear-gradient(to right, #ff003c , #ff003c  50%, #000000 50%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 100%;
	background-position: 100%;
	transition: background-position 275ms ease;
}

a.effect.active {
	position: relative;
	display: inline-block;
	background: linear-gradient(to right, #ff003c , #ff003c  50%, #a3a3a3 50%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 100%;
	background-position: 100%;
	transition: background-position 275ms ease;
}

a.effect:hover {
	background-position: 0 100%;
}

.separation{
	color: #ff003c;
	font-family: "Fatalitys-Edge"!important;
	font-size: 26px;
	margin: auto;
}

@media screen and (max-width: 1370px) {
	.profil{
		background-size: 60vw, 30vw;
	}
}

@media screen and (max-width: 680px){

	.filter ul > * {
		display: block;
		margin: 15px;
	}

	.blockBlack{
		padding: 50px 20% 100px 50px;
	}

	.grid-container {
		grid-template-columns: repeat(2, 1fr);
	}

	.blockBlack > img{
		transform: translate(-70%,-80%);
		width: 200px;
	}

	.descItem {
		padding: 70px 10%;
		flex-direction: column;
	}

	.rightItem, .leftItem{
		width: 100%;
	}

	.rightItem > p {
		padding: 30px 0 10px 20px;
		text-align: center;
		border-top: #ff003c 2px solid;
		border-left: none;
	}

	.leftItem{
		text-align: center;
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.menu {
		width: 100vw;
	}

	.grid{
		height: 100%;
	}
	.grid-poster{
		grid-template-columns: repeat(1, 1fr);
	}

	.mockup{
		margin: initial;
 		width: initial;
	}

	.logoType {
		margin: 0px 25%;
	}

	.duo {
		flex-direction: column-reverse;
		align-items: center;
	}

	.duo > img:first-child {
		width: 100%;
	}

	.duo > img {
		width: 50%;
	}

}