/*
 Theme Name:   Faste Wordpress theme child
 Theme URI:    http://www.faste.ca
 Description:  Thème de base pour le développement Web chez Faste Communication
 Author:       Guillaume Proulx
 Author URI:   http://www.faste.ca
 Template:     faste
 Text Domain:  faste-child
 Version:      1.0.21
*/

/* DEFAULT STYLES */
.blog{
	display: none!important;
}
*{
	font-family: var(--main-font);
}
h1 {
	font-size: calc(20px + 4vw);
	color: var(--color3);
	font-weight: 400;
	margin-bottom: 20px;
}
h2 {
	font-size: calc(18px + 2.1vw);
	color: var(--color3);
    font-weight: normal;
}
h3 {
	font-size: calc(17px + 2.5vw);
	color: var(--color3);
	font-weight: 400;
}
h4 {
	font-size: calc(16px + 2vw);
	color: var(--color3);
	font-weight: 400;
}
h5 {
	font-size: calc(15px + 1vw);
	color: var(--color3);
	font-weight: 200;
	margin-bottom: 0;
}
p{
	color: var(--color2);
	font-size: calc(11px + 0.6vw);
	line-height: 150%;
}
@media screen and (min-width:1920px){
	h1 {
		font-size: 60px;
	}
	h2 {
		font-size: 65px;
	}
	h3 {
		font-size: 40px;
	}
	h4 {
		    font-size: 30px;
	}
	h5 {
		    font-size: 30px;
	}
	p{
		font-size: 22px;
	}
}
blockquote p{
	color: var(--color2);
}
blockquote p:first-child::before{
	content:"« ";
	margin-left: calc(-8px - 0.6vw);
}
blockquote p:last-child::after{
	content:" »";
}
.b1, .b2, .b3{
	border-radius: 50px;
	font-weight: 600;
	display: inline-block;
}
.b1{
	background-color: #96C225;
    color: white;
    padding: 10px 25px;
    border-radius: 25px;
    font-size: 70%;
}
.b2{
	color:var(--color3);
	background-color: #fff;
	display: inline-block;
	padding: 15px 25px;
	font-size: 80%;
	margin-right: 20px;
	margin-bottom: 10px;
	text-transform: uppercase;
	font-weight: 200;
	border: 1px solid var(--color3)
}
.b2:hover{
	background-color: var(--color3);
	color:#fff;
}
.b3{
	background-color: var(--color1);
	color:#fff;
	display: inline-block;
	padding: 8px 20px;
	text-transform: uppercase;
}

footer h1, footer h2, footer h3, footer h4, footer h5{
	color:var(--color1);
}

.header .title .overlay{
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(0 0 0 / 15%);
    width: 100%;
    z-index: 1;
}
/* DEFAULT END */
.ham-icon {
	position: fixed;
	right: 20px;
	top: 20px;
    background-color: #fff;
    padding: 22px 17px;
    display: block;
	z-index: 20;
	border-radius: 50px;
	transition: background-color 0.4s ease-in-out;
}
.ham-icon.close {
	background-color: #000;
}
.ham-icon > span {
	width: 35px;
	height: 3px;
	background-color: #000;
	margin-bottom:8px;
	display: block;
	transition:all 0.4s ease-in-out;
}
.ham-icon > span:nth-of-type(3){
	width: 20px;
}
.ham-icon.close > span {
	background-color: #fff;
}
.ham-icon.close > span:nth-of-type(1) {
	transform: rotate(45deg) translate(4px, -5px);
	transform-origin: top left;
}
.ham-icon.close > span:nth-of-type(2) {
	opacity:0;
}
.ham-icon.close > span:nth-of-type(3) {
	transform: rotate(-45deg) translate(4px, 6px);
	transform-origin: bottom left;
	width: 35px;
}
.ham-icon.close:hover > span{
	-webkit-animation: none;
	-moz-animation:none;
	-o-animation: none;
	animation: none;
}
.ham-icon:hover > span {
	-webkit-animation: swing 0.4s 1 alternate;
	-moz-animation: swing 0.4s 1 alternate;
	-o-animation: swing 0.4s 1 alternate;
	animation: swing 0.4s 1 alternate;
}
.ham-icon > span:last-of-type {
	margin-bottom: 0;
}
.ham-icon:hover > span:nth-of-type(1) {
}
.ham-icon:hover > span:nth-of-type(2) {
	animation-delay: 0.04s;
}
.ham-icon:hover > span:nth-of-type(3) {
	animation-delay: 0.08s;
}
.submenu.socials{
	position: fixed;
	top: 20px;
	right: 120px;
	z-index: 10;
}
header .logo{
	position: fixed;
	left: 20px;
	top: 20px;
	filter: brightness(0) invert(1);
	z-index: 10;
	max-height: 12vh;
	transition: all 0.4s ease-in-out;
	overflow: hidden;
}
.home header .logo{
	display: none;
}
header.active .logo{
	max-height: 0vh;
}
header.menu.active .logo {
    max-height: calc(12vh - 20px);
}
header .logo img{
	width:200px;
	max-height: calc(12vh - 20px);
}
.submenu.socials .social{
	background-color: #fff;
	border-radius:100px;
	padding: 10px 5px;
	color:#000;
	display: inline-block;
	margin-right: 15px;
}
header .social img {
	max-width: 30px;
	display: inline-block;
	width: 30px;
	max-height: 20px;
	filter: brightness(0);
}
main{
	transition: transform 0.4s ease-in-out;
	transform-origin: left top;
	background-color: #fff;
	position: relative;
}
main.menu{
	transform:scale(0.75);
	box-shadow: inset 0 0 15px 5px var(--color3);
}
header nav{
	width: 100%;
    height: 100%;
    position: fixed;
    background-color: var(--color3);
}
header nav ul{
	opacity: 0;
	transition: opacity 0.5s 0.4s ease-in-out;
}
header.menu nav ul{
	opacity:1;
}
header .topmask{
	position: fixed;
	width: 100%;
	top: 0;
	height: 0;
	left: 0;
	z-index: 9;
	background-color: var(--color3);
	transition: all 0.4s ease-in-out;
}
header .botmask{
	position: fixed;
	width: 100%;
	left: 0;
	height: 0;
	bottom:0;
	z-index: 9;
	background-color: var(--color3);
	transition: all 0.4s ease-in-out;
}
header.menu .botmask, header.menu .topmask{
	height:12.5%;
	width: 100%;
}
header nav ul{
	position: absolute;
    right: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 25%;
	padding: 0 2vw;
    list-style: none;
    margin: 0;
}
header nav ul a{
	font-size: calc(14px + 1vw);
	color:#fff;
	transition: opacity 0.4s ease-in-out;
}
header.menu nav ul a:hover{
	opacity:0.5;
	text-decoration: underline;
}
@media screen and (min-width:1920px){
	h4 {
		    font-size: 30px;
	}
}
header nav ul li{
	margin: 2vh 0;
}
footer{
	position: relative;
	background-color:#e3e8f2;
	padding: 5vh 0;
	color:var(--grisfonce);
}
footer > img{
	position: absolute;
	width: 100%;
	height: 100%;
	opacity:0.2;
	object-fit: cover;
	top: 0;
	left: 0;
}
footer p, footer a{
	color:var(--grisfonce);
}
footer a{
	text-decoration: underline;
	margin-top: 5px;
}
footer > div {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
}
footer .logo-contact{
	flex-basis: 40%;
	padding: 0 5vw;
}
footer .questions{
	flex-basis: 60%;
	padding: 0 5vw;
}
footer .copy{
	text-align: right;
	flex-basis: 100%;
	padding: 5vh 5vw 0 5vw;
}
footer .copy p{
	font-size:12px;
}
footer .gform_wrapper .gfield_required{
	color:var(--grismoyen);
}
footer .gform_button{
	font-size: calc(10px + 0.5vw);
	background-color: var(--color1);
	border:none;
	color:#fff;
	display: inline-block;
	padding: 15px 25px;
	text-transform: uppercase;
}
.header{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-bottom: 8vh;
	-ms-align-items: flex-end;
	align-items: flex-end;
	position: relative;
}
.header .title{
	background-color: var(--color1);
	padding: 12vh 5vw;
	flex-basis: 75%;
	text-align: right;
	position: relative;
}
.header .inner_nav{
	flex-basis: 25%;
}
.header .inner_nav ul{
	margin: 0;
	padding: 0 2vw;
	list-style: none;
}
.header .inner_nav ul a{
	font-size: calc(10px + 0.8vw);
	text-decoration: underline;
	color:#000;
	margin-top: 1vh;
	display: inline-block;
}
@media screen and (min-width:1920px){
	.header .inner_nav ul a{
		font-size: 30px;
	}
}
.header .title h1{
    color: white;
	z-index: 1;
	position: relative;
	font-weight: 500;
}
.header .title img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
	object-position: center;
}


@media screen and (max-width:1024px){
	header.menu .botmask, header.menu .topmask {
		height: 20%;
		width: calc(60% + 1px);
	}
	main.menu {
		transform: scale(0.60);
	}
	header nav ul {
		width: 40%;
	}
}
@media screen and (max-width:764px){
	.ham-icon {
		right: 10px;
		top: 10px;
		padding: 15px 10px;
	}
	main.menu{
		
		box-shadow: none;
	}	
	
	.header{
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.header .title {
		background-color: var(--color1);
		padding: 25vh 5vw;
		flex-basis: 100%;
		text-align: center;
	}
	.header .inner_nav {
		flex-basis: 100%;
	}
	.header .inner_nav ul{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-around;
		margin-top: 5vh;
	}
	.header .inner_nav li{
		display: inline-block;
	}
	header{
		background-color: var(--color3);
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.submenu.socials{
		position: relative;
		display: block;
		top: auto;
		right: auto;
		text-align: center;
		flex-basis: 100%;
		max-height: 0px;
		padding:0px 0;
		transition: all 0.4s ease-in-out;
		overflow: hidden;
		z-index: 11;
		order:2;
		background-color: var(--color3);
	}
	header.menu .submenu.socials{
		padding:15px 0;
		max-height: 100px;
	}
	.ham-icon{
		position: absolute;
	}
	header .logo img, header .logo{
		max-height:100%;
	}
	header nav{
		position: relative;
		overflow: hidden;
		max-height: 0;
		transition: all 0.4s ease-in-out;
		text-align: center;
		order:1;
		z-index: 11;
	}
	header.menu nav{
		max-height: 1200px;
	}
	header nav ul{
		position: relative;
		width: 100%;
	}
	main.menu {
		transform: none;
	}
	header.menu .botmask, header.menu .topmask{
		height: 0;
		display: none;
		width: 100%;
	}
	
	footer .logo-contact {
		flex-basis: 100%;
		text-align: center;
		margin-bottom: 5vh;
		order: 2
	}
	footer .questions {
		margin-top:5vh;
		flex-basis: 100%;
		margin-bottom: 5vh;
		order: 1;
	}
	footer .copy{
		order:3;
	}
}