/*
 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.01
*/

/* CONFIGURATION INITIALE */



/*#mc-embedded-subscribe{*/
/*color: var(--color1)!important;*/
/*}*/

/*#mc_embed_signup_scroll{*/
/*	display: flex;*/
/*	flex-wrap: wrap;*/
/*}*/

/*#mc_embed_signup_scroll > p{*/
/*	width: 100%;*/
/*}*/

/*div.mc-field-group,*/
/*div.optionalParent{*/
/*	    margin-top: 5px;*/
/*}*/


html { scroll-behavior: smooth; }

*{
	font-family: var(--main-font);
}
h1 {
	font-size: calc(15px + 3.2vw);
	color: var(--color2);
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 20px;
}
h2 {
	font-size: calc(14px + 1.7vw);
    font-weight: normal;
	text-transform: uppercase;	
}
h3 {
	font-size: calc(13px + 1.5vw);
	color: var(--color1);
    font-weight: 600;
}
h4 {
	font-size: calc(12px + 1.3vw);
	color: var(--color1);
    font-weight: 800;
}
h5 {
	font-size: calc(11px + 1vw);
/*	text-transform: uppercase;	*/
}
.contenu_02 ul li,
.service ul li,
.singlecontent li,
p{
	color: var(--color2);
	font-size: calc(10px + 0.8vw);
	line-height: 140%;
}
.rev h1, .rev h2, .rev h3, .rev h4, .rev h5, .rev p{
	color:white;
}
@media screen and (min-width:1920px){
	h1 {
		font-size: 75px;
	}
	h2 {
		font-size: 50px;
	}
	h3 {
		font-size: 40px;
	}
	h4 {
		    font-size: 30px;
	}
	h5 {
		    font-size: 30px;
	}
	
	.plateforme h3{
		font-size: 115px;
	}

}

@media screen and (min-width:1300px){
	.contenu_02 ul li,
	.service ul li,
	.singlecontent li,
		p{
		font-size: 24px;
	}
	
	footer p{
		font-size: 18px;
	}
}

blockquote p{
	color: var(--color2);
	font-weight: bold;
}
blockquote p:first-child::before{
	content:"« ";
}
blockquote p:last-child::after{
	content:" »";
}


footer::before {
    content: "";
    background: white;
    position: absolute;
    background-image: linear-gradient(to right, #239F8A, #02559D);
    top: -10px;
    z-index: 1;
    left: 0;
    width: 100%;
    height: 10px;
  
}

footer{
	position: relative;
}


div.infolettre #mc_embed_signup{
	background: transparent;
}


div.infolettre #mc-embedded-subscribe{
    background-color: transparent;
    color: white;
    padding: 4px 19px;
    font-weight: bold;
    text-transform: uppercase;
    display: inline-block;
    /* font-size: 70%; */
    border-radius: 0;
    cursor:pointer;
    position: relative;
    width: 100px;
    height: 38px;
    border: none;
    margin: 0;
    z-index: 3;
}

div.infolettre #mc_embed_signup .mc-field-group input{
    background-color: var(--color1);
    border: none;
    padding: 11px 15px;
    border-radius: 0;
    width: 100%;
}

div.infolettre #mc_embed_signup .indicates-required{
	display: none;
}
div.infolettre #mc_embed_signup .asterisk{
	display: none;
}

div.infolettre .clear{
	position: relative;
}

div#mc_embed_signup_scroll p{
	margin: 0;
}
div.infolettre div.optionalParent img{
	    position: absolute;
    right: 15px;
    top: 12px;
    width: 20px;
}

div.infolettre .mc-field-group{
    width:100%;
}



div.infolettre #mc_embed_signup .button:hover{
	background-color: transparent;
}
div.infolettre #mc_embed_signup .mc-field-group label{
	display: none;
}

div.infolettre #mce-responses{
	display: none;
}

.boite_reponse {
    display: flex;
        background-color: var(--color1);
    margin-top: 10px;
}

.b1, .woocommerce a.button.add_to_cart_button, .woocommerce a.added_to_cart{
	background-color: var(--color1);
    color: white;
    padding: 20px 25px;
	font-weight: bold;
	text-transform: uppercase;
	display: inline-block;
    font-size: 70%;
	border-radius:10px;
}
.b2, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button{
	background-color: #000;
    color: white;
    padding: 20px 25px;
	font-weight: bold;
	text-transform: uppercase;
	display: inline-block;
    font-size: 70%;
}
.b3{
	background-color: transparent;
	color:#000;
	border: 1px solid var(--color1);
	display: inline-block;
    padding: 20px 25px;
    font-size: 70%;
}
.rev b1{
}
.rev b2{
}
.rev b3{
	color:white;
}

footer{
	background-color: black;
	padding: 25px;
}

footer *{
	color: white;
}


.wp-block-cover, .wp-block-cover-image{
	min-height:0;
}
footer > div{
	display: flex;
/*	grid-gap: 30px;*/
/*	grid-template-columns: 1fr 1fr 1fr;*/
	align-items: center;
}
/* CONFIGURATION INITIALE END */
div.info{
    display: flex;
    align-items: end;
    justify-content: space-evenly;
	width: 65%;
}

.social img{
/*	filter: invert(1);*/
}

.info > div p{
	margin: 0;
}

.media_sociaux_footer{
    text-align: center;
    display: flex;
	    width: 10%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

div.logo-contact{
	text-align: center;
	width: 25%;
}

div.copy{
	background-color: black;
	padding: 25px 10px 10px 10px;
	text-align: center;
}

.media_sociaux_footer a{
	margin-bottom: 15px;
}

div.copy p {
	margin: 0 0 10px 0;
	font-size: 12px;
	color: white;
}

div.copy p a{
	color: white;
}

div.wpml-ls-statics-footer{
display: none;
}


/*
@media screen and (max-width:1175px){
	div.media_sociaux_footer{
		width: 10%;
	}
	
	div.info{
		width: 60%;
	}
}
*/

@media screen and (max-width:1300px){
	footer > div{
		flex-wrap: wrap;
	}
	
	div.logo-contact {
    	text-align: center;
    	width: 100%;
		padding-bottom: 50px;
	}
	
	div.info {
    	width: 90%;
	}
	

	
}

@media screen and (max-width:960px){
	div.info {
    	width: 100%;
	}
	
	footer > div{
		justify-content: center;
	}
	
	.media_sociaux_footer{
		margin-top: 20px;
	}
}

@media screen and (max-width:800px){
	div.info{
		flex-direction: column;
		align-items: center;
	}
	
	div.infolettre{
		text-align: center;
	}
	
	div.info > div{
		text-align: center;
		margin-top: 15px;
	}
	
}

#mc_embed_signup_scroll small{
	font-size:70%;
}

@media screen and (max-width:640px){
/*
	div.info {
    	width: 100%;
		padding-bottom: 50px;
	}
	
	div.media_sociaux_footer {
    	width: 100%;
	}
*/
}
input::placeholder{
    color:white;
}


/* ENTÃŠTE ET MENU, PIED DE PAGE */

/* Menu hamburger */
.ham-icon{
	display: none;
}
.ham-icon > span:nth-of-type(3) {
    width: 20px;
}
.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;
}
/* menu hamburger FIN */

header#header{
	padding: 0 0px;
	display:flex;
	
	
}
header#header .logo{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    text-align: right;
    padding-right: 5vw;
	width: 45%;
	padding-left: 5vw;

}

body.active header#header nav a{
	padding: 20px;
}

.searchbar,
.socials{
	display: none!important;
}


.menus{
	background-image: linear-gradient(to right,#239F8A, #02559D);
	margin-right: 100px;
}


header#header .logo a{
	display: block;
	width: 100%; /* FIREFOX SVG */
}
header#header .menus a{
	display: inline-block;
	white-space: nowrap;
	text-transform: uppercase;
}
header#header ul{
	list-style:none;
	padding:0;
	margin:0;
}
header#header .menus{
	width: 55%;
	padding-right: 5vw;
		
}

@media screen and (max-width:1600px){
	header#header .menus{
		width: auto;
	}
	
	
}

@media screen and (max-width:1100px){
	body header#header nav a {
    padding: 0 15px 15px;
   
	}
	
	body.active header#header nav a{
		padding: 15px;
	}
	
	
}
header#header .menus > .secmenu{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-end;
}
header#header .menus > nav{
	
}
header#header .menus > nav > ul{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}
header#header .menus > nav > ul .sub-menu{
	display: none;
}
header#header .socials, header#header .searchbar, header#header .woo, header#header .secmenu .menu{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
header#header .social, header#header .searchbar .recherche{
	width: 40px;
	height: 40px;
	text-indent: -999px;
	overflow: hidden;
	position: relative;
	margin: 0 5px;
	background-color: var(--color3);
}
header#header .social img, header#header .searchbar .recherche img{
	position: absolute;
	filter: brightness(0);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width:25px;
	height:17px;
	object-fit: contain;
	-ms-align-self: center;
	align-self: center;
}
header#header .secmenu a{
  padding: 20px 20px 0;

    margin: 0 5px;
	color: white;
}
header#header nav a{
	padding: 0px 20px 20px;
	color: white;
	transition: all 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */

transition-timing-function: cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */
}
header#header .searchbar .recherche{
	background-color: var(--color1);
}
header#header .searchbar .recherche img{
	filter:none;
}
header#header .searchbar .searchform{
	overflow: hidden;
	position: relative;
}
header#header .searchbar .searchform input[type="text"]{
	padding: 10px 10px;
    margin: 0;
    border: none;
    border-bottom: 1px solid var(--color3);
	background-color: transparent;
	width: 150px;
	border-radius:0px;
	font-size:16px;
}
header#header .searchbar .searchform input[type="text"]:focus{
	outline:none;
	background-color: transparent;
}
header#header .searchform input[type="submit"]{
	cursor: pointer;
	position: relative;
	border: none;
    background-color: var(--color3);
    color: var(--color3);
    width: 40px;
    height: 40px;
}
header#header .searchform form:after{
	pointer-events: none;
	cursor: pointer;
	content: "";
    position: absolute;
    top: calc(50% - 4.5px);
    right: 16.5px;
    border: solid black;
    border-width: 0 3px 3px 0;
    padding: 3px;
    transform: rotate(-45deg);
	opacity: 1;
	transition: opacity 0.4s ease-in 0.4s;
}
header#header .searchform:not(.open) form:after{
	opacity: 0;
	transition: none;
}
header#header .searchform form{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
header#header .searchform form > *{
	display: block;
	transition-property: width, padding, margin;
	transition-duration: 0.4s;
	transition-timing-function: ease-in-out;
}
header#header .searchbar .searchform:not(.open) form > *{
	width: 0;
	padding: 0;
	margin: 0;
}
header#header .woo-cart, header#header .woo-account{
	text-indent:-999px;
	width: 40px;
	height: 40px;
	display: block;
	position: relative;
	color:#fff;
	background-color: var(--color1);
	overflow: hidden;
}
header#header .woo-cart span, header#header .woo-account span{
	display: block;
	position: absolute;
	width: 70%;
	height: 70%;
	top: 15%;
	left: 15%;
	background-image:url(../../faste-child/img/svg/cart.svg);
	background-position: center center;
	background-repeat: no-repeat;
	filter: invert(1);
}
header#header .woo-account span{
	background-image:url(../../faste-child/img/svg/account.svg);
}
body.active header#header.sticky{
	position: fixed;
	top: 0;
	width: 100%;
	background-color: #fff;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
	z-index: 150;
}
body.active header#header.sticky:not(.menu) .menus > .secmenu{
	display: none;
}
body.active header#header.sticky:not(.menu) .logo img {
    max-width: 150px;
}
body.active header#header.sticky:not(.menu) .menus > nav > ul{
	margin-top: 0;
}
body.active header#header.sticky:not(.menu) .menus > nav  li{
	display: block;
}
header#header .menus > nav li.menu-item-has-children{
	position: relative;
}
/*
header#header:not(.menu) .menus > nav li:hover, header#header .menus > nav ul.sub-menu{
	background-color: var(--color4);
}
*/
header#header:not(.menu) .menus > nav ul.sub-menu li:hover{
	background-color: var(--color2);
}
body header#header:not(.menu) .menus > nav li.menu-item-has-children:hover > ul{
	display: block;
	position: absolute;
	top:100%;
	right: 0;
	opacity:0;
	-webkit-animation: fadein-bot 0.4s 1 ALTERNATE cubic-bezier(.2,.65,.3,1) forwards;
	-o-animation:      fadein-bot 0.4s 1 ALTERNATE cubic-bezier(.2,.65,.3,1) forwards;
	animation:         fadein-bot 0.4s 1 ALTERNATE cubic-bezier(.2,.65,.3,1) forwards;
}
/* MENU MOBILE */
@media screen and (max-width:960px){
	header#header{
		padding: 0;
		justify-content: space-evenly;
	}
	header#header .logo{
/*		padding:0 20px;*/
		grid-column:2
	}
	
	header#header .secmenu a{
		color: black;
	}
	
	header#header .ham-icon{
		grid-column: 1;
		grid-row: 1;
		display: block;
		align-self: center;
		justify-self: left;
		z-index: 30;
	}
	header#header .menus{
		padding:0;
		position: fixed;
		height: 80%;
    	width: 89%;
		background-color: var(--color3);
		top:0;
		left: 0;
		transform:translateX(calc(-100% - 20px));
		transition: transform 0.4s ease-in-out;
		display: grid;
    	grid-template-columns: 65px 1fr;
		z-index: 1;
	}
	header#header.menu .menus{
		transform:translateX(0);
	}
	header#header .menus > nav{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		position: relative;
		overflow: scroll hidden;
	}
	header#header .menus > nav > ul{
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	header#header .menus > .secmenu{
		justify-content: center;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		align-content: center;
		background-color: var(--color4);
		padding-top: 65px;
	}
	header#header .secmenu ul.menu li{
		-webkit-writing-mode: vertical-lr;
		-ms-writing-mode: vertical-lr;
		writing-mode: vertical-lr;
		transform: rotate(-180deg);
	}
	header#header .socials, header#header .searchbar, header#header .woo, header#header .secmenu ul.menu{
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	header#header .menus > nav > ul > li{
		flex-basis: 100%;
		text-align: center;
	}
	header#header .menus > nav li.menu-item-has-children{
		position: static;
	}
	body header#header .menus > nav li.menu-item-has-children.open > ul{
		transform:translateX(0);
	}	
	body header#header .menus > nav li.menu-item-has-children > 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;
		-ms-align-items: center;
		align-items: center;
		align-content: center;
		transform:translateX(calc(-100% - 10px));
		transition:transform 0.4s ease-in-out;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-color: var(--color3);
		box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
	}
	body header#header .menus > nav li.menu-item-has-children > ul > li{
		flex-basis: 100%;
	}
	header#header .searchbar{
		position: relative;
	}
	header#header .secmenu a, header#header .searchbar .recherche{
		margin:5px 0;
	}
	header#header .searchbar .searchform{
		position: absolute;
		left: 100%;
		top: 5px;
		z-index: 2;
		box-shadow: 0 0 10px 0 rgba(0,0,0,0.7);
	}
	header#header .searchbar .searchform input[type="text"]{
		background-color: var(--color4);
	}
	header#header .searchbar .searchform input[type="text"]:focus{
		background-color: var(--color4);
	}
	body header#header .menus > nav li.menu-item-has-children.open > a{
		-webkit-animation: delayed-menutitle 1.4s linear ALTERNATE  forwards;
		-o-animation:      delayed-menutitle 1.4s linear ALTERNATE  forwards;
		animation:         delayed-menutitle 1.4s  linear ALTERNATE  forwards;
		
	}
	
	body header#header .menus > nav li.menu-item-has-children.open > a:before{
		content:"\2190\00a0";
		-webkit-animation: delayed-appear 1.4s linear ALTERNATE  forwards;
		-o-animation:      delayed-appear 1.4s linear ALTERNATE  forwards;
		animation:         delayed-appear 1.4s linear ALTERNATE  forwards;
	}
}
@-webkit-keyframes delayed-menutitle {
	 0% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:1;
	}
	40% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:1;
	}
	49.9% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:0;
	}
	50%{
		position: absolute;
		z-index: 1;
		top: 65px;
		width: 100%;
		left: 0;
		font-size: 140%;
		font-weight: bold;
		padding: 10px;
		opacity:0;
	}
	100% {
		position: absolute;
		z-index: 1;
		top: 65px;
		width: 100%;
		left: 0;
		font-size: 140%;
		font-weight: bold;
		padding: 10px;
		opacity:1
	}
}
@keyframes delayed-menutitle {
	 0% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:1;
	}
	40% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:1;
	}
	49.9% {
		position: relative;
		z-index:auto;
		top: auto;
		width: auto;
		left: auto;
		font-size: 100%;
		font-weight: inherit;
		padding: 20px;
		opacity:0;
	}
	50%{
		position: absolute;
		z-index: 1;
		top: 65px;
		width: 100%;
		left: 0;
		font-size: 140%;
		font-weight: bold;
		padding: 10px;
		opacity:0;
	}
	100% {
		position: absolute;
		z-index: 1;
		top: 65px;
		width: 100%;
		left: 0;
		font-size: 140%;
		font-weight: bold;
		padding: 10px;
		opacity:1
	}
}
@-webkit-keyframes delayed-appear {
	0% {
		content:"";
		opacity: 0;
	}
	49% {
		content:"";
		opacity: 0;
	}
	50% {
		content:"\2190\00a0";
		opacity: 0;
	}
	100% {
		content:"\2190\00a0";
		opacity: 1;
	}
}
@keyframes delayed-appear{
	0% {
		content:"";
		opacity: 0;
	}
	49% {
		content:"";
		opacity: 0;
	}
	50% {
		content:"\2190\00a0";
		opacity: 0;
	}
	100% {
		content:"\2190\00a0";
		opacity: 1;
	}
}
	
	
