/* VARS */	

	:root{
		--color1: #000;
		--deep-blue: #191A37;
		--light-blue: #f1f8fe;
		--blue: #2DCFFF;
		--blue-hover: #1DBFEF;
		--text-color: #7785A8;

		--container: 1240px;
		--container-padding: 20px;
		--col-gap: 10px;
		--row-gap: -10px;
		--section-padding: 100px;
		--main-margin: 80px;
		--half-margin: calc( var( --main-margin) / 2 );

		--row-inner-gap: -20px;
		--col-inner-gap: 20px;
		
		--box-padding: 20px;

	  --header-height: 95px;
	  --hero-height: 490px;
	  --testimonials-height: 150px;

	  --ff-text: 'Roboto',sans-serif;
	  --ff-title: 'Montserrat',sans-serif;
	}


/* GLOBAL */

	body, html{
		padding: 0;
		margin: 0;
		min-height: 100vh;
		overflow-x: hidden;
	}
	body{
		padding-top: var(--header-height);
	}
	figure{
		padding: 0;
		margin: 0;
	}
	.order-1 {
	  -ms-flex-order: 1;
	  order: 1;
	}
	.order-2 {
	  -ms-flex-order: 2;
	  order: 2;
	}

/* FONTS */

	html{
    font-size: 62.5%;
  }

	h1, h2, h3, h4, h5, h6,
	p{
		margin: 0;
		padding: 0;
	}
	body, p, 
	a:not(.btn),
	h4, h5{
  	font-size: 15px;
  	font-size: 1.6rem;
  	line-height: 2.8rem;
  	font-family: var(--ff-text);
  	color: var(--text-color);
  }
  h1, h2, h3, h6{
  	font-family: var(--ff-title);
  }
  h1{
  	font-weight: lighter;
  	font-size: 5rem;
  	line-height: 6rem;
  }
  h1 small{
  	font-weight: normal;
  	font-size: 2rem;
  	font-family: var(--ff-text);
  }
  h2{
  	font-size: 3rem;
  	line-height: 4rem;
  	font-weight: lighter;
  	color: var(--deep-blue);
  }
  h3{
  	font-size: 2rem;
  	line-height: 3rem;
  	color: var(--deep-blue);
  	font-weight: lighter;
  }
  h4{
  	color: var(--blue);
  	font-size: 2rem;
  	line-height: 3rem;
  	font-weight: normal;
  	margin-bottom: 30px;
  }
  h5{
  	font-size: 2.4rem;
  	line-height: 3rem;
  	font-weight: normal;
  }
  h6{
  	text-transform: uppercase;
  	font-size: 1rem;
  	line-height: 1rem;
  }


/* Body */


/* Header */

	#main-header{
		z-index: 1000;
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		height: var(--header-height);
		width: 100%;
		justify-content: space-between;
		background-color: #fff;
		box-shadow: 0px 20px 40px #0103381A;
	}
	.logo-header{
		height: 100%;
		display: flex;
		align-items: center;
		margin-left: 20px;
	}
	.logo-header a{
		height: 60px;	
	}
	.logo-header a img{
		height: 100%;
		width: auto;	
	}
  .menu-mobile-trigger{
  	display: none;
		height: 60px;
		width: 60px;
		background-color: var(--deep-blue);
		background-repeat: no-repeat;
		background-size: cover;
		background-image: url(../img/items/menu-open.svg), url(../img/items/menu-close.svg);
		background-position: 0 0, 200px 200px; 
	}
	.menu-mobile-trigger.active{
		background-position: 200px 200px, 0 0;
	}
	#main-nav{
		height: 100%;
	}
	#main-menu{
		display: flex;
		height: 100%;
		align-items: center;
	}
	#main-menu .menu-item{
		height: 100%;
	}
	#main-menu .menu-item a{
		position: relative;
		display: block;
		width: max-content;
		padding: 0 20px;
		text-decoration: none;
		color: var(--deep-blue);
		line-height: 95px;
	}
	#main-menu .menu-item:not(.btn) a:hover,
	#main-menu .current-menu-item:not(.btn) > a{
		color: var(--blue);
	}
	#main-menu:not(.sub-menu) .current-menu-item:not(.btn) > a::after{
		content: '';
		position: absolute;
		left: calc(50% - 1px);
		top: 75px;
		width: 2px;
		height: 60px;
		background-color: var(--blue);
	}
	#main-menu .menu-item.btn{
		margin-right: 20px;
		margin-left: 20px;
	}
	#main-menu .menu-item-has-children{
		position: relative;
	}
	#main-menu .sub-menu{
		display: none;	
		position: absolute;
		top: 95px;
		left: -32px;
		padding-top: 20px;
		box-shadow: 0px 20px 40px #0103381A;
		border-radius: 10px;
		background-color: transparent;
	}
	#main-menu .sub-menu a::after{
		display: none;
	} 
	#main-menu .menu-item-has-children a:hover + .sub-menu,
	#main-menu .sub-menu:hover{
		display: block;	
	}
	#main-menu .sub-menu::before{
		content: '';
		position: absolute;
		left: calc(50% - 5px);
		top: -20px;
		width: 2px;
		height: 50px;
		background-color: var(--blue);
	}
	#main-menu .sub-menu li{
		background-color: #fff;
	}
	#main-menu .sub-menu li:first-of-type{
		border-radius: 10px 10px 0 0;
		padding-top: 10px;
	}
	#main-menu .sub-menu li:last-of-type{
		border-radius: 0 0 10px 10px;
		padding-bottom: 10px;
	}
	#main-menu .sub-menu li a{
		line-height: 5rem;
	}

/* Hero */

	.page-hero{
		height: 500px;
		background-color: #e7e7e7;
		position: relative;
	}
	.page-hero-lg{
		height: 750px;
	}
	.page-hero-content{
		height: 100%;
		background-position: center;
		background-size: cover;
	}
	.page-hero-content video{
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	.page-hero-screen{
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: center bottom;
		background-image: url(../img/bg/visionr_masque_banner_home.png);
	}
	.home	.page-hero-screen{
		cursor: url('../img/items/visionr_anim_mouse_play.svg'), auto;
		cursor: url('../img/items/visionr_icone_mouse_play.png'), auto;
	}
	.page-hero-screen h1{
		text-transform: uppercase;
		color: #fff;
		text-align: center;
		margin-top: -100px;
	}
	.page-hero-lg .page-hero-screen h1{
		margin-top: -120px;
	}
	.page-hero-screen h1 small{
		display: block;
		text-transform: none;
		Xmargin-top: 20px;
	}

