/*
 * Layout.css
 * CSS du site Monsieur Patio
 * Styles de menus, positionnements, strates, footer, etc.
 */


/* #Site Styles
================================================== */


/* Lien retour au haut de page */
#RetourTop {
	background-image:url(/img/arrow_up.jpg);
	border-radius:3px;
	height:35px;
	width:35px;
	position:fixed; 
	visibility:hidden;
	opacity:0;
	bottom:-35px;
	right:10px;
	text-outline:none !important; 
	z-index:1000;
	
	-webkit-transition: all .3s ease-in-out;
	   -moz-transition: all .3s ease-in-out;
	    -ms-transition: all .3s ease-in-out;	
	     -o-transition: all .3s ease-in-out;
	        transition: all .3s ease-in-out;
}
#RetourTop:focus { text-outline:none !important; }
#RetourTop.visible {
	visibility:visible;
	opacity:1;
	bottom:75px;
}



/*
 * Entête et menu
 */
.entetePage {
	background:url(/img/bg.jpg) top center no-repeat;
	background-size:cover;
	min-height:700px;
	overflow:hidden;
}
.entetePage .slogan {
	bottom:-100px;
	left:0;
	width:100%;
	background: rgba(0, 0, 0, 0.6);
	color:#fff;
	position:absolute;
	text-align:center;
	
	font-size:3em;
	line-height:1.2;
	font-weight:700;
	margin:0;
	padding:20px;
	transition:bottom 0.5s ease-in-out;
}
.entetePage .slogan.visible {
	bottom:0px;
}
.menuPrincipal {
	position:fixed;
	z-index:500;
	width:100%;
	top:0;
	left:0;
	background-color:#000;
	background-color:rgba(0,0,0,0.85);
	color:#fff;
	border-bottom:5px solid #cb232e;
}
.menuPrincipal p,
.menuPrincipal a {
	color:#fff;
}
.menuPrincipal .contentWrap {
	padding:20px;
	max-width:1200px;
}
.menuPrincipal .cssTable > h1 {
	vertical-align:middle;
	width:150px; /* Largeur du logo */
}
.menuPrincipal .cssTable > div {
	vertical-align:bottom;
	padding-left:15px;
}
.menuPrincipal .callToActions {
	text-align:right;
}
.menuPrincipal .callToActions a.lien1 {
	margin-right:15px;
}
.menuPrincipal .callToActions a.lien2 {
	margin-right:10px;
}

.menuPrincipal a.menuToggle{
	display: none;
}
.menuPrincipal ul {
	float:right;
}
.menuPrincipal li {
	float:left;
	margin:0;
	padding:0;
}
.menuPrincipal li:first-child {
	margin-left:0;
}
.menuPrincipal li a {
	text-transform:uppercase;
	text-decoration:none;
	color:#fff;
	padding:10px;
	font-size:1.066666666666667em; /* 16/15 */
	font-weight:600;
	transition: all .2s;
}
.menuPrincipal li a:hover,
.menuPrincipal li a:focus {
	color:#cb232e;
}


/*
 * Les strates
 */
.ancre { position:absolute; text-indent:-9999em; }

.container {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}
.contentWrap {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 50px 20px;
}
.contentWrap > *:first-child { margin-top:0!important; }
.contentWrap > *:last-child { margin-bottom:0!important; }

.container:after,
.contentWrap:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }


/* Services */
#Services h2 {
	text-align:center;
}

#Services .contentWrap {
	max-width:none;
}

ul.servicesImg {
	overflow:hidden;
	margin:0 0 1em 0;
	padding:0;
}
ul.servicesImg > li {
	list-style:none;
	float:left;
	margin:0 0 1.388888888888889% 0; /* 15px/1080*100 */
	padding:0 0 0 1.388888888888889%; /* 15px/1080*100 */
	width:33.7962962962963%; /* 365/1080*100 */
}
ul.servicesImg > li:first-child,
ul.servicesImg > li:nth-child(3n+1) {
	clear:left;
	padding:0;
	width:32.40740740740741%; /* 350/1080*100 */
}
ul.servicesImg > li figure {
	position:relative;
}
ul.servicesImg figcaption {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
	background:rgba(0,0,0,0.9);
	z-index:10;
	visibility:hidden;
	opacity:0;
	transition:opacity 0.25s ease;
	color:#fff;
}
ul.servicesImg figure:focus figcaption,
ul.servicesImg figure:hover figcaption {
	opacity:1;
	visibility:visible;
}
ul.servicesImg img {
	border:1px solid #000;
	width:100%;
	height:auto;
}
ul.servicesImg p.materiaux {
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin:0;
	padding:15px;
}
/*ul.servicesImg ul.materiaux {
	list-style-type:disc;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin:0;
	padding:5px 5px 5px 25px;
}
ul.servicesImg ul.materiaux li {
	margin:0 0 0.5em 0;
}*/
ul.servicesImg > li > p {
	font-size:1.333333333333333em; /* 20/15 */
	margin:0;
	text-transform:uppercase;
	font-weight:600;
	text-align:center;
}



/* Avantages */
#Avantages {
	background:#333;
}
#Avantages h2 {
	color:#fff;
	text-align:center;
}
#Avantages h3 {
	color:#fff;
	margin:20px 0 5px 0;
	text-align:center;
}
#Avantages p,
#Avantages a {
	color:#fff;
}
#Avantages .lesAvantages {
	display:table;
	table-layout:fixed;
	width:100%;
	padding:0;
	margin:0;
}
#Avantages .lesAvantages > li {
	display:table-cell;
	width:33.33333333%;
	border-right:1px solid #fff;
	padding:0 20px;
	margin:0;
	text-align:center;
}
#Avantages .lesAvantages > li:last-child {
	border-right:0;
}


/* Réalisations */
#Realisations {
	background-color:#cb232e;
}
#Realisations h2 {
	text-align:center;
	color:#fff;
}
#Realisations ul {
	margin:0;
	padding:0;
	overflow:hidden;
}
#Realisations li {
	list-style:none;
	float:left;
	margin:0 0 1.415094339622642% 0; /* 15px/1060*100 */
	padding:0 0 0 1.415094339622642%; /* 15px/1060*100 */
	width:20.28301886792453%; /* 215/1060*100 */
}
#Realisations li:first-child,
#Realisations li:nth-child(5n+1) {
	clear:left;
	padding:0;
	width:18.86792452830189%; /* 200/1060*100 */
}


/* Témoignages */
#Temoignages {
	background-color:#ccc;
}
#Temoignages h2 {
	text-align:center;
}
#Temoignages ul,
#Temoignages li {
	margin:0;
	padding:0;
}

/* Plugin Glide pour les témoignages */
.glide__track {
	display:table;
}
.glide--carousel .glide__slide {
	float:none;
	display:table-cell;
	vertical-align:middle;
}
.glide--carousel .glide__slide .content {
	padding:0 80px;
}
.glide__arrows {
	position: absolute;
}
.glide--horizontal .glide__arrows {
	top: 50%;
	width: 100%;
	margin-left: 0;
}
.glide--vertical .glide__arrows {
	left: 50%;
	height: 88%;
	margin-top: 6%;
}
.glide__arrow {
	position: absolute;
	z-index: 2;
	color: #fff;
	font-size:2em;
	line-height:1;
	font-weight:700;
	text-transform: uppercase;
	width:50px;
	padding: 5px;
	background-color: transparent;
	border:2px solid #fff;
	border: 2px solid rgba(255, 255, 255, 0.6);
	border-radius: 3px;
	text-align:center;
	transition: border .2s;
}
.glide__arrow:focus,
.glide__arrow:hover {
	outline: none;
	border-color: #cb232e;
	background:transparent;
}
.glide--horizontal .glide__arrow {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.glide--horizontal .glide__arrow.prev {
  left: 0;
}
.glide--horizontal .glide__arrow.next {
  right: 0;
}
.glide--vertical .glide__arrow {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.glide--vertical .glide__arrow.prev {
  top: 0;
}
.glide--vertical .glide__arrow.next {
  bottom: 0;
}
.glide--slider .glide__arrow {
  opacity: 1;
  -webkit-transition: opacity 150ms ease;
          transition: opacity 150ms ease;
}
.glide--slider .glide__arrow.disabled {
  opacity: 0.33;
}




/* Contact */
#Contact {
	background:url(/img/bg_contact3.jpg) #000;
	background-size:cover;
	color:#fff;
}
#Contact .contentWrap {
	padding-top:0;
}
#Contact h2 {
	color:#fff;
}
#Contact a {
	color:#fff;
}

#Contact .coteInfos {
	position:relative;
	width:50%;
	padding:50px 15px 0 0;
}
#Contact .coteFormulaire {
	position:relative;
	width:50%;
	padding:50px 0 0 15px;
}

#Contact .mediasSociaux a {
    display: inline-block;
    margin: 0 0 0 20px;
}
#Contact .mediasSociaux a:first-child {
    margin-left: 0;
}

#checkForm
{
	display: none;
}

/* Partenaires */
#Partenaires {
	
}
#Partenaires .coteCertifications {
	padding:0 15px 0 0;
}
#Partenaires .cotePartenaires {
	width:400px;
	padding:0 0 0 15px;
}
#Partenaires .cotePartenaires img {
	margin:0 40px 0 0;
}


/* Copyrights */
.piedPage {
	background-color:#000;
	color:#fff;
}
.piedPage .contentWrap {
	padding-top:15px;
	padding-bottom:15px;
}
.piedPage h2,
.piedPage a {
	color:#fff;
}

.msg
{
	color: #cb232e;
	border: 1px solid #cb232e;

	width: 100%;
	display: inline-block;
	padding: 7px;
	text-align: center;
}
.msg.success
{
	color: #009900;
	border: 1px solid #009900;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea
{
	background-color: transparent!important;
	color: #fff!important;
}

.star
{
	color: #cb232e;
	font-weight: bold;
}

.cf-turnstile
{
	text-align: center;
	align: center;
}

.input-titre
{
	display: none!important;
}

textarea::-moz-selection
{
	background-color: #cb232e;
	color: #fff;
}
textarea::selection
{
	background-color: #cb232e;
	color: #fff;
}
input::-moz-selection
{
	background-color: #cb232e;
	color: #fff;
}
input::selection
{
	background-color: #cb232e;
	color: #fff;
}

#ribbon
{
	display: none;
	border: 1px solid #ccc;
	position: fixed;
	z-index: 99999999;
	bottom: 60px;
	left: 50px;
	right: 50px;
	background-color: #000;
	padding: 50px;
}
#ribbon-submit
{
	float: right;
}
#ribbon p
{
	color: #fff;
	float: left;
	width: 70%;
	max-width: 650px;
}
#ribbon p a
{
	color: #fff;
}

@media (max-width: 600px)
{
	#ribbon
	{
		text-align: center;
		padding: 30px;
	}
	#ribbon p
	{
		width: 100%;
	}
	#ribbon-submit
	{ 
		margin: 0 auto;
		align: center;
		float: none;
	}
}

footer
{
	position: fixed!important;
	bottom: 0px!important;
	z-index: 999999999999!important;
}

@media only screen and (max-width: 1023px) {
	.entetePage .slogan {
		bottom:-175px;
	}
	
	.menuPrincipal .cssTable > h1,
	.menuPrincipal .cssTable > div {
		vertical-align:top;
	}
	
	.menuPrincipal .callToActions {
		overflow: hidden;
		margin-bottom:10px;
	}
	.menuPrincipal .callToActions a.lien1,
	.menuPrincipal .callToActions a.lien2 {
		margin:0 0 5px 0;
		padding:0 5px;
		/*max-width:125px;*/
	}
	
	.menuPrincipal a.menuToggle{
		display: block;
		margin:0 0 5px auto;
		background:url(/img/btn_nav_mobile.svg) 4px 4px no-repeat;
		width:30px;
		height:24px;
	}
	.menuPrincipal ul {
		display:none;
		float:none;
	}
	.menuPrincipal li {
		display:block;
		margin:0;
		text-align:right;
		float:none;
	}
	
	.menuPrincipal ul a,
	.menuPrincipal ul a:link,
	.menuPrincipal ul a:visited {
		display:inline-block;
	}
}
@media only screen and (max-width: 767px) {
	.menuPrincipal .contentWrap {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.menuPrincipal .cssTable > h1 {
		width:130px;
	}
	
	ul.servicesImg > li {
		float:none;
		margin:15px auto 0 auto;
		padding:0;
		width:100%;
		/*max-width:310px;*/
	}
	ul.servicesImg > li:first-child,
	ul.servicesImg > li:nth-child(3n+1) {
		margin-top:0;
		width:100%;
	}

	
	#Avantages .lesAvantages {
		display:block;
	}
	#Avantages .lesAvantages > li {
		display:block;
		width:100%;
		border-right:0;
		padding:20px 0;
	}
	#Avantages .lesAvantages > li:last-child {
		border-right:0;
	}
	
	
	#Realisations li,
	#Realisations li:nth-child(5n+1) {
		float:left;
		clear:none;
		margin:0 0 2.747252747252747% 0; /* 20px/728*100 */
		padding:0 0 0 2.747252747252747%; /* 20px/728*100 */
		width:51.37362637362637%; /* 374/728*100 */
	}
	#Realisations li:first-child,
	#Realisations li:nth-child(2n+1) {
		clear:left;
		padding:0;
		width:48.62637362637363%; /* 354/728*100 */
	}

	
	#Contact .coteInfos,
	#Contact .coteFormulaire {
		display:table;
		width:100%;
		padding:50px 0 0 0;
	}
	
	#Partenaires {
		text-align:center;
	}
	#Partenaires .coteCertifications,
	#Partenaires .cotePartenaires {
		display:table;
		width:100%;
		padding:0 0 30px 0;
	}
	#Partenaires .cotePartenaires {
		padding:0;
	}
	
}

@media only screen and (max-width: 600px) {
	.entetePage .slogan {
		bottom:-225px;
	}
}

@media only screen and (max-width: 479px) {
	.entetePage .slogan {
		bottom:-300px;
	}
	
	.menuPrincipal .contentWrap {
		padding: 10px;
	}
	
	.menuPrincipal .callToActions a.lien1,
	.menuPrincipal .callToActions a.lien2 {
		max-width:135px;
		/*display:block;*/
	}
	.menuPrincipal .callToActions a.lien1 {
		line-height:1.4;
		padding:10px 5px;
	}
	
	.glide--carousel .glide__slide .content {
		padding:0 10px;
	}
	
	#Realisations li,
	#Realisations li:first-child,
	#Realisations li:nth-child(5n+1),
	#Realisations li:nth-child(2n+1) {
		clear:both;
		margin:0 0 20px 0;
		padding:0;
		width:100%;
	}
	
	#Partenaires .cotePartenaires img {
		display:block;
		margin:0 auto;
	}
	#Partenaires .cotePartenaires img:first-child {
		margin-bottom:25px;
	}
	
	#Contact {
		background:#000;
	}
}


/* Tablette portrait et plus : 1024px et + */
@media only screen and (min-width: 1024px){
	/* Menu principal */
	/* On veut toujours l'afficher si en desktop.
	 * Doit prendre le dessus sur l'état donné par le toggler mobile (JS - style inline)
	 */
	.menuPrincipal ul {
		display: block !important;
	}
}


/* Styles d'impression */
@media print {
	/* Black prints faster: h5bp.com/s */
	* { background: transparent !important; color: black !important; border-color:black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
	
	/* Liens */
	a, a:visited { text-decoration: underline !important; }
	a[href]:after { content: " (https://www.monsieurpatio.ca" attr(href) ")"; }
	a[href^="http://"]:after, a[href^="https://"]:after, a[href^="mailto:"]:after  { content: " (" attr(href) ")"; }
	abbr[title]:after { content: " (" attr(title) ")"; }
	
	/* Don't show links for images, or javascript/internal links, ni les liens avec la classe "nlp" */
	.ir a:after, a.nlp:after, 
	a[href^="javascript:"]:after, 
	a[href^="#"]:after { content: "" !important; }
	
	
	/* Contenu */
	blockquote { border: 1px solid #000; margin:10px 0; width:auto; page-break-inside: avoid; }
	fieldset { border: 1px solid #000; margin:10px 0; width:auto; }
	thead { display: table-header-group; }
	tr, img { page-break-inside: avoid; }
	img { max-width:100% !important; }
	@page { margin: 1cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
	h2 { padding:0; background-color:transparent; }
	
	/* Ajustements du layout/contenu */
	
	
	
	
	
	/* On cache les zones non importantes à l'impression */
	#RetourTop {display:none!important;}
	
	/* Grid Layout ajustements */
	.container { float:none !important; display:block !important; width:100% !important; margin-left:0; margin-right:0 }
	.print_only { display:block!important; visibility:visible!important; }
	.screen_only { display:none!important; }
	
	hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
}
