/*
Theme Name: Geoflex
Author: Akatomy
*/

/* Reset CSS
 * --------------------------------------- */
 
* {
    box-sizing: border-box;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,p,blockquote,th,td {
    padding: 0;
    margin: 0;

}
a{
  text-decoration:none;
}
table {
    border-spacing: 0;
}
fieldset,img {
    border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-weight: normal;
    font-style: normal;
}
strong{
  font-weight: bold;
}
nav ol, nav ul {
    list-style: none;
    margin:0;
    padding:0;
}
caption,th {
    text-align: left;

}
h1,h2,h3,h4,h5,h6 {
    font-weight: normal;
    font-size: 100%;
    margin:0;
    padding:0;
    color:#333;
}
q:before,q:after {
    content:'';
}
abbr,acronym { border: 0;
}

/* Global
 * --------------------------------------- */

body {
	background-color: #fff;
	font-family: 'Montserrat', sans-serif;
}

main {
	position: relative;
}

.floatingCta {
	position: fixed;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	bottom: 50px;
	right: 0;
	background: #812925;
	color: #fff;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
	box-shadow: 2px 2px 10px rgba(0,0,0,0.4);
	height: 50px;
	padding: 10px 20px;
	z-index: 110;
	font-size: 14px;
	text-transform: uppercase;
	font-weight: bold;
}

.floatingCta a {
	display: block;
	color: #fff;
}

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

	.floatingCta {
		display: none;
	}

}

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0px 30px;
	z-index: 110;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    background: #fff;
    /*box-shadow: 2px 2px 12px rgba(0,0,0,0.2);*/
}

header.withBanner {
    top: 30px;
}

	body.logged-in header {
		top: 32px;
	}

p, ul, h3 {
	font-size: 16px;
	line-height: 24px;
	color: #454545;
}

h3 {
	font-weight: bold;
	text-align: center;
}

p a {
	color: #c23e38;
	text-decoration: underline;
}

	p a:hover {
		color: #c23e38;
		text-decoration: none;
	}

	p:not(:last-child) {
		margin-bottom: 20px;
	}

p.chapo {
	font-size: 24px;
	line-height: 30px;
	color: #c23e38;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #c23e38;
}

.simpleCore {
	padding: 60px;
}

.simpleCore strong {
	font-weight: 700 !important;
}

.simpleCore em {
	font-style: italic !important;
}

.simpleCore strong  em {
	font-weight: 700 !important;
	font-style: italic !important;
}

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

	.simpleCore {
		padding: 30px;
	}

}

.container {
	max-width: 1440px;
	margin: auto;
}

.boilerAndCo {
	padding: 60px;
	background: #333;

}

.boilerAndCo p {
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.boilerAndCo a {
	color: #fff;
	text-decoration: underline;
}

	.boilerAndCo a:hover {
		text-decoration: none;
	}

	.boilerAndCo .container {
		display: flex;
	}

		.boiler {
			flex-basis: 70%;
		}

		.contactsPresse {
			flex-basis: 30%;
			padding-left: 40px;
		}

			.contactsPresse ul {
				list-style: none;
				color: #fff;
				font-size: 14px;
				line-height: 20px;
			}

			.contactsPresse ul li:not(:first-child) {
				padding-top: 15px;
				margin-top: 15px;
				border-top: 1px dotted rgba(255,255,255,0.5);
			}

	.boilerAndCo p.pseudoTitle {
		text-transform: uppercase;
		font-size: 20px;
		font-weight: 300;
	}

	.logoContainer {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 20px 0px;
	}

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

	header {
		padding: 0px 30px;
	}

	.logoContainer {
		padding: 20px 0px;
	}

}

		.logoContainer img {
			width: 130px;
			height: auto;
		}

		.logoContainer div:nth-child(2) {
			border-left: 1px solid #757576;
			margin-left: 30px;
			padding-left: 30px;
			color: #757576;
			font-size: calc( 14px + (20 - 14) * ( (100vw - 480px) / (1920 - 480) ) );
		}

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

		.logoContainer img {
			width: 80px;
			height: auto;
		}

		.logoContainer div:nth-child(2) {
			border-left: 1px solid #757576;
			margin-left: 15px;
			padding-left: 15px;
			color: #757576;
			font-size: calc( 14px + (24 - 14) * ( (100vw - 480px) / (1920 - 480) ) );
		}

}

	.navContainer {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

		nav.mobile {
		    position: fixed;
		    top: 0;
		    right: -100%;
		    bottom: 0;
		    width: 100%;
		    height: 100% !important;
			background: #c23e38;
			color: #fff;
  			transition: 0.3s;
		}

		.scrollable {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 100%;
			overflow: auto;
		}

		.burger-menu-open {
		    z-index: 120;
		    position: fixed;
		    top: 0;
		    right: -100%;
		    bottom: 0;
		    right: 0 !important
		}

	nav.desktop > ul {
		font-size: calc( 10px + (16 - 10) * ( (100vw - 480px) / (1920 - 480) ) );
		text-transform: uppercase;
		display: flex;
		align-items: center;
	}

	nav.mobile > div > ul {
		font-size: 16px;
		text-transform: uppercase;
		display: flex;
	}

	nav.desktop > ul > li:not(:last-child) {
		margin-right: 40px;
	}

	nav.desktop > ul > li {
			padding: 0px 0px;
		}

	nav.desktop > ul > li > a, nav.desktop > ul > li > span {
		display: inline-block;
		color: #c23e38;
		position: relative;
		cursor: pointer;
	}

	nav.desktop > ul > li.menu-item.menu-item-has-children:hover > a::after, nav.desktop > ul > li.menu-item.menu-item-has-children:hover > span::after {
		content: "";
		display: block;
		position: absolute;
		width: 8px;
		height: 10px;
		left: calc(50% - 4px);
		top: 31px;
		background-image: url(../img/arrow.svg);
		background-position: center center;
		background-repeat: no-repeat;
	}	

	nav.desktop > ul > li > a.main {
		color: #c23e38;
		font-weight: 700;
		cursor: pointer;
	}

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

		nav.desktop {
			display: none;
		}

	}

		/*nav.mobile > div > ul {
			flex-direction: column;
		}

		nav.mobile > div > ul > li {
			padding: 20px 20px;
			text-align: center;
		}

		nav.mobile > div > ul > li:not(last-child) {
			border-bottom: 1px solid #fff;
		}

		nav.mobile > div > ul > li > a {
			display: inline-block;
			color: #fff;
			position: relative;
		}

			nav.mobile > div > ul > li > a:hover {
				color: #000 !important;
			}

		nav.mobile > div > ul > li > a.main {
			font-weight: 700;
			color: #fff;
		}

		nav.mobile > div > ul > li.menu-item:hover > a::after {
			content: "";
			width: 0px;
			height: 0px;
			left: auto;
			top: auto;
			background-image: none;
		}	*/

	.navContainer nav > ul > li.current-menu-item > a, .navContainer nav > ul > li:hover > a, .navContainer nav > ul > li:hover > span {
		color: #000;
	}

	.burger {
		display: none;
		font-size: 0px;
		margin-left: 60px;
	}

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

		.burger {
			display: block;
		}

	}

	.burger img {
		width: 22px;
		height: auto;
	}

	.close {
		position: absolute;
		top: 45px;
		right: 60px;
		z-index: 500;
	}

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

		.close {
			position: absolute;
			top: 40px;
			right: 35px;
			z-index: 500;
		}

	}

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

		.close {
			position: absolute;
			top: 35px;
			right: 35px;
			z-index: 500;
		}

	}

	.close img {
		width: 22px;
		height: auto;
		cursor: pointer;
	}

	.burger-open-trigger {
		cursor: pointer;
	}

	.slickSlider  {
		font-size: 0;
		line-height: 0;
		overflow: hidden;
		height: 500px;
	}

	.slickSlider .slide {
		background-size: cover;
		background-position: center center;
	}

	header nav.mobile ul {
        display: flex;
        flex-direction: column;
        position: relative !important;
        top: auto !important;
        color: #fff !important;
        padding: 30px;
    }

    header nav.mobile ul > li {
        padding: 10px 0px;
    }

    header nav.mobile ul > li  a {
        display: block;
        color: #fff;
    }

    header nav.mobile ul > li:hover ul {
         width: 100%;
     }

    header nav.mobile ul > li:hover > a {
        color: #333;
    }

    header nav.mobile ul > li ul {
        display: none;
        font-size: 0.7em;
        color: #fff;
        margin-top: 10px;
        padding: 0px;
    }

    header nav.mobile ul > li ul li {
        padding: 5px 10px;
    }

    header nav.mobile ul li ul li:hover {
        background: #333;
        padding: 5px 10px !important;
    }

    header nav.mobile ul > li:hover ul li {
        padding: 5px 10px !important;
    }

    header nav.mobile ul > li ul li {
        border-bottom: 1px solid rgba(255,255,255,0.2);
    }

    header nav.mobile ul > li ul li:first-child {
        border-top: 1px solid rgba(255,255,255,0.2);
    }


.filler {
	height: 90px;
}

.slickSlider img, .slickSlider, .slickSlider .slide {
	height: 450px;
}

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

	.slickSlider img, .slickSlider, .slickSlider .slide {
		height: 360px;
	}

}

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

	.filler {
		height: 90px;
	}

	.slickSlider img, .slickSlider, .slickSlider .slide {
		height: 320px;
	}

}

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

	.filler {
		height: 66px;
	}

	.slickSlider img, .slickSlider, .slickSlider .slide {
		height: 260px;
	}

}

.item-layer {
    display: none;
    padding: 0px !important;
    box-sizing: border-box;
    pointer-events: auto;
    box-shadow: 0 10px 10px rgba(0,0,0,.35);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100vh - 130px);
    background-color: #333;
    overflow: hidden;
}

	.item-layer ul {
		display: flex;
		justify-content: center;
	}

		nav.mobile .item-layer {
			display: block !important;
			position: relative !important;
			top: auto !important;
			max-height: auto !important;
			overflow: auto !important;
    		background-color: #c23e38 !important;
    		box-shadow: none !important;
		}

		/*nav.mobile .item-layer ul {
			flex-wrap: wrap;
		}*/

	.item-layer ul li {
		color: #fff;
		font-size: 13px;
		line-height: 16px;
		text-transform: none;
		padding: 30px 15px;
		text-align: center;
		transition: 0.2s;
	}

	.item-layer ul li a {
		color: #fff;
		transition: 0.2s;
	}

		.item-layer ul li img {
			width: 60px;
			height: auto;
			margin-bottom: 8px;
		}

		.item-layer ul  li:hover a {
			color: #d32d2f;
		}

		.mobile .item-layer ul  li:hover a {
			color: #000;
		}

	/*.mobile .item-layer ul li {
		color: #fff;
		font-size: 14px;
		line-height: 18px;
		text-transform: none;
		padding: 15px;
		text-align: center;
		transition: 0.2s;
	}*/

.industries, .products, .linkedIn {
	padding: 60px;
}

	.industries h2 {
		font-size: 36px;
		color: #454545;
		margin-bottom: 30px;
		text-align: center;
	}

	.industries p {
		text-align: center;
	}

	section.industries ul {
		/*display: flex;
		justify-content: center;*/
		list-style: none;
		text-align: center;
	}

	section.industries ul li {
		color: #c23e38;
		font-size: 14px;
		line-height: 18px;
		text-transform: none;
		padding: 10px 25px;
		text-align: center;
		position: relative;
		transition: 0.2s;
		display: inline-block;
	}

		section.industries ul li:before {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			left: -6px;
			width: 12px;
			background-image: url(../img/sep.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}

		section.industries ul li:after {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			right: -6px;
			width: 12px;
			background-image: url(../img/sep.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}

		section.industries ul li a {
			color: #d32d2f;
			transition: 0.2s;
		}

		section.industries ul li:hover a {
			color: #000;
		}

		section.industries ul li img {
			width: 80px;
			height: auto;
			margin-bottom: 8px;
		}

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

			section.industries ul li {
				font-size: 14px;
				line-height: 18px;
			}

			.products {
				padding: 30px 0px;
			}

			.industries, .linkedIn {
				padding: 30px;
			}

			section.industries ul li img {
				width: 60px;
			}

		}

.ctaIndustry {
	background: #c23e38;
	text-align: center;
	padding: 60px;
}

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

	.ctaIndustry {
		padding: 30px;
	}

}

	.ctaIndustry a {
		display: inline-block;
		border-radius: 50px;
		border: 2px solid #fff;
		padding: 10px 20px;
		color: #fff;
		font-size: 18px;
	}

	.ctaIndustry a:hover {
		background: #fff;
		color: #c23e38;
	}

.ctaNews {
	background: #f1f1f1;
	text-align: center;
	padding: 0px 30px 40px;
}

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

	.ctaNews {
		padding: 40px 30px;
	}

}

	.ctaNews a {
		display: inline-block;
		border-radius: 50px;
		border: 2px solid #c23e38;
		padding: 10px 20px;
		color: #c23e38;
		font-size: 16px;
	}

	.ctaNews a:hover {
		background: #c23e38;
		color: #f1f1f1;
	}

.cta {
	text-align: center;
	padding: 40px 30px 0px;
}

.page-id-203 p {
	text-align: center;
}

.page-id-203 .cta {
	text-align: center;
	padding: 30px 0px;
}

.page-id-203 input[type=text], .page-id-203 input[type=email], .page-id-203 textarea, .page-id-203 select {
		font-family: 'Montserrat', sans-serif;
		padding: 8px;
		width: 100%;
		max-width: 600px;
}

	.cta a, .page-id-203 input[type=submit], a.more, form input[type=submit], .facetwp-facet-pagination .facetwp-load-more {
		display: inline-block;
		border-radius: 50px;
		border: 2px solid #c23e38;
		padding: 10px 20px;
		color: #c23e38;
		font-size: 16px;
		font-weight: 700;
		font-family: 'Montserrat', sans-serif;
		cursor: pointer;
		text-decoration: none !important;
		background: #fff !important;
	}

nav.desktop .cta a {
		font-size: calc( 10px + (16 - 10) * ( (100vw - 480px) / (1920 - 480) ) );
		padding: 5px 10px;
}

nav.mobile .cta a {
	display: inline-block !important;
	border: 2px solid #fff;
	color: #fff;
	background: #c23e38 !important;
}

	.page-id-203 input[type=submit] {
		margin-left: 72px;
	}

	.cta a:hover, .page-id-203 input[type=submit]:hover, a.more:hover, form input[type=submit]:hover, .facetwp-facet-pagination .facetwp-load-more:hover {
		background: #c23e38 !important;
		color: #fff !important;
	}

.wpcf7-response-output {
	border-color: #333 !important;
	background-color: #333;
	color: #fff;
	padding: 10px;
	text-align: center;
}

.titreActus {
	background: #757576;
	text-align: center;
	padding: 30px;
}

	.titreActus h2 {
		font-size: 36px;
		color: #fff;
	}

.listeActus {
	display: flex;
	align-items: stretch;
	background: #f1f1f1;
	flex-wrap: wrap;
}

	.listeActus article {
		text-align: center;
		flex-basis: calc(100% / 3);
	}

		.listeActus article .articleCore {
			padding: 40px;
			position: relative;
		}

		.listeActus article .articleImage {
			overflow: hidden;
		}

		.listeActus article .articleImage, .listeActus article .articleImage img {
			width: 100%;
			transition: 0.2s;
			font-size: 0px;
		}

		.listeActus article .articleImage img:hover {
			scale: 1.1;
		}

		.listeActus article:not(:first-child) .articleCore:before {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			left: -9px;
			width: 18px;
			background-image: url(../img/sep.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}

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

	.listeActus {
		flex-direction: column;
	}

	.listeActus article {
		flex-basis: 100%;
	}

	.listeActus article:not(:first-child) .articleCore:before {
		content: " ";
		position: absolute;
		top: -9px;
		height: 18px;
		width: 68px;
		left: calc(50% - 34px);
		background-image: url(../img/sep-h.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

}

	.listeActus article h2 {
		font-size: 20px;
		font-weight: 700;
		color: #454545;
		transition: 0.2s;
	}

		.listeActus article h2:hover {
			color: #c23e38;
		}

	.listeActus article .actuDate {
		margin: 15px;
	}

	.innerTop .date {
		margin: 0px 15px 15px 15px;
		text-align: center;
	}

	.listeActus article .actuDate span, .innerTop .date span {
		display: inline-block;
		padding: 4px 8px;
		color: #c23e38;
		font-weight: 700;
		border: 1px solid #c23e38;
		margin: auto;
	}

	.listeActus article .actuChapo {
		max-width: 400px;
		margin: 0px auto 30px;
		text-align: left;
	}

.titreRessources {
	text-align: center;
	padding: 30px 30px 0px 30px;
}

	.titreRessources h2 {
		font-size: 36px;
		color: #757576;
	}

.listeRessources {
	display: flex;
	align-items: stretch;
	justify-content: center;
}

	.listeRessources article {
		text-align: center;
		flex-basis: 50%;
	}

		.listeRessources article .articleCore {
			padding: 40px;
			position: relative;
			display: flex;
			align-items: center;
			text-align: left;
		}

		.listeRessources article .articleCore > div {
			padding: 0px 20px;
		}

		.listeRessources article:not(:first-child) .articleCore:before {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			left: -9px;
			width: 18px;
			background-image: url(../img/sep.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}

	.listeRessources article h2 {
		font-size: 24px;
		font-weight: 700;
		color: #454545;
		margin: 0px 0px 15px 0px;
	}

	.listeRessources article .actuChapo {
		max-width: 400px;
		margin: 0px 0px 30px 0px;
		text-align: left;
	}

	.listeRessources article img {
		width: 100%;
		max-width: 200px;
		min-width: 120px;
		height: auto;
	}

	a.readMore {
		font-size: 14px;
		text-transform: uppercase;
		font-weight: 700;
		border-bottom: 1px dotted #c23e38;
		color: #c23e38;
		cursor: pointer;
	}

	a.readMore:hover {
		border-bottom: 0px dotted #c23e38;
	}

		a.readMore.readMoreWhite {
			border-bottom: 1px dotted #fff;
			color: #fff;
		}

		a.readMore.readMoreWhite:hover {
			border-bottom: 0px dotted #fff;
		}


.productSolution {
	display: flex;
	align-items: stretch;
}

	.productSolution > div {
		flex-basis: 50%;
		color: #fff;
		padding: 60px;
		text-align: center;
	}

	.productSolution > div h2 {
		font-size: 36px;
		color: #fff;
	}

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

	.productSolution {
		flex-direction: column;
	}

	.productSolution > div {
		flex-basis: 100%;
		padding: 30px;
	}

	.productSolution > div h2 {
		font-size: 24px;
	}

}

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

	.productSolution > div h2 {
		font-size: 18px;
	}

}

	.productSolution > div:nth-child(1) {
		background: #333333;
	}

	.productSolution > div:nth-child(2) {
		background: #757576;
	}

	.focusChapo {
		max-width: 500px;
		margin: 30px auto;
		color: #fff;
	}

	.focusChapo p {
		color: #fff;
	}

.partnerSlider {
	max-width: 1440px;
	margin: auto;
}

.partners {
	padding: 50px;
}

	.partners h2, .products h2, .linkedIn h2 {
		font-size: 36px;
		color: #454545;
		margin-bottom: 30px;
		text-align: center;
	}

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

	.partners h2, .products h2, .linkedIn h2, .industries h2 {
		font-size: 24px;
	}

}

	.single-industry .products {

	}

	.single-industry .products h2 {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.single-industry .products h2 strong {
		font-weight: 400;
	}

.innerTop {
	padding-top: 46px;
	position: relative;
}

		.innerTop:before {
			content: " ";
			position: absolute;
			top: 0px;
			height: 18px;
			width: 80px;
			left: calc(50% - 40px);
			background-image: url(../img/sep-h.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}

.category {
	padding: 4px 8px;
	color: #c23e38;
	border: 1px solid #fff;
	text-align: center;
	font-weight: 700;
	margin: auto;
}

h1.pageTitle {
	font-size: 42px;
	color: #454545;
	text-align: center;
	margin: 15px auto 35px auto;
	max-width: 1440px;
	padding: 0px 30px;
}

h1.releaseTitle {
	font-size: 36px;
	color: #454545;
	text-align: center;
	margin: 15px auto 35px auto;
	max-width: 1440px;
	padding: 0px 30px;
}

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

	.category {
		font-size: 18px;
	}

	h1.pageTitle {
		font-size: 36px;
		margin: 15px auto 25px auto;
	}

	h1.releaseTitle {
		font-size: 24px;
		margin: 15px auto 25px auto;
	}

}

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

	.category {
		font-size: 13px;
	}

	h1.pageTitle {
		font-size: 24px;
	}

	h1.releaseTitle {
		font-size: 20px;
	}

}

.industryIntro {
	background: #c23e38;
	padding: 20px 30px;
}

.pageIntro { 
	background: #c23e38;
	padding: 60px;
	text-align: center;
}

	.pageIntro p {
		color: #fff;
		font-size: 24px;
		line-height: 30px;
	}

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

	.pageIntro { 
		background: #c23e38;
		padding: 30px;
	}

	.pageIntro p {
		color: #fff;
		font-size: 18px;
		line-height: 24px;
	}

}

.industryIntro {
	background: #c23e38;
	padding: 20px 30px;
}

	.industryIntro p {
		color: #fff;
		font-size: 16px;
		line-height: 24px;
	}

	.industryIntro p:first-of-type {
		font-size: 24px;
		font-weight: 700;
		line-height: 32px;
	}

	.introFlex {
		display: flex;
		align-items: center;
	}

		.introFlex > div:first-child {
			flex-basis: 300px;
			padding: 40px;
		}

		.introFlex > div:nth-child(2) {
			flex-basis: calc(100% - 300px);
			display: flex;
			flex-direction: column;
			justify-content: center;
			padding: 40px;
		}

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

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

		.introFlex {
			flex-direction: column;
		}

		.introFlex > div:first-child {
			flex-basis: 100%;
			padding: 0px;
			text-align: center;
			padding: 0px 20px 0px 20px;
		}

		.introFlex > div:nth-child(2) {
			padding: 30px 0px;
		}

		.introFlex > div:first-child img {
			width: 80px;
			height: auto;
		}

	}

.textFlex {
	display: flex;
	align-items: stretch;
}

	.textFlex > div {
		flex-basis: 50%;
		padding: 60px;
	}

.textFlex:nth-child(2n) {
	flex-direction: row-reverse;
}

.textFlex > div:first-child  > div {
	max-width: 660px;
	margin-left: auto;
	margin-right: 0;
	min-height: 260px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.textFlex:nth-child(2n) > div:first-child  > div {
	max-width: 660px;
	margin-left: 0;
	margin-right: auto;
}

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

		.textFlex {
			flex-direction: column;
		}

		.textFlex > div {
			flex-basis: 100%;
			padding: 30px;
		}

		.textFlex:nth-child(2n) {
			flex-direction: column;
		}

		.textFlex > div:first-child  > div {
			max-width: 100%;
			min-height: auto;
		}

		.textFlex:nth-child(2n) > div:first-child  > div {
			max-width: 100%;
		}

		.textFlex div:nth-child(2) {
			min-height: 400px;
		}

	}

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

		.textFlex div:nth-child(2) {
			min-height: 280px;
		}

	}

	.textFlex h2, .simpleCore h2 {
		font-size: 24px;
		color: #c23e38;
		margin-bottom: 20px;
		clear: both;
	}

	.textFlex h3, .simpleCore h3 {
		font-size: 20px;
		margin-bottom: 20px;
		clear: both;
		text-align: left;
		font-weight: 400;
		color: #757576;
	}

.textFlex ul {
	margin-left: 20px;
	margin-bottom: 20px;
}

.simpleCore ul {
	list-style: disc inside;
}

.simpleCore ul ul {
	margin-left: 20px;
}

.simpleCore ul:not(:last-child) {
	margin-bottom: 20px;
}

footer {
	background: #c23e38;
	color: #fff;
}

	.footerLogo {
		width: 100%;
	}

	.footerLogo img {
		width: 120px;
		height: auto;
	}

	.footerMain {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		padding: 30px;
	}

	.footerMain div {
		position: relative;
		/*min-height: 200px;*/
	}	

		/*.footerMain div:not(:first-child):before {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			left: -9px;
			width: 18px;
			background-image: url(../img/sep-white.png);
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
		}*/

	.footerMain div:nth-child(2) {
		display: flex;
		align-items: flex-start;
		flex-basis: 50%;
		justify-content: space-evenly;
	}

	.footerMain > div:nth-child(1) {
		flex-basis: 25%;
		text-align: left;
	}

	.footerMain div:nth-child(3) {
		flex-basis: 25%;
		text-align: right;
	}

	.footerMain div:nth-child(2) ul {
		list-style: none;
		margin: 0px 10px;
	}

	.footerMain div:nth-child(2) ul li {
		font-size: 13px;
		line-height: 14px;
		padding: 5px;
	}

	.footerMain div:nth-child(2) ul li:not(:last-child) {
		border-bottom: 1px solid rgba(255,255,255,0.3);
	}

	.footerMain div:nth-child(2) ul li a {
		color: #fff;
		cursor: pointer;
	}

		.footerMain div:nth-child(2) ul li a:hover {
			color: rgba(255,255,255,0.5);
		}

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

		/*.footerMain div:not(:first-child):before {
			content: " ";
			position: absolute;
			top: 0;
			bottom: 0;
			left: auto;
			width: 0px;
			background-image: none;
		}*/

		.footerMain {
			flex-direction: column;
			padding: 30px 30px;
		}

		.footerMain div:nth-child(2) {
			flex-basis: 100%;
			width: 100%;
			padding: 20px 0px;
		}

		.footerMain div:nth-child(1), .footerMain div:nth-child(3) {
			flex-basis: 100%;
			text-align: center;
		}

		.footerMain div:nth-child(2) ul {
			margin: 0px 10px;
			flex-basis: calc(30% - 20px);
		}

		.footerMain div:nth-child(2) ul li {
			width: 100%;
		}

		.footerMain div {
			margin: auto;
			min-height: auto;
		}

	}

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

		.footerMain div:nth-child(2) {
			flex-direction: column;
		}

		.footerMain div:nth-child(2) ul {
			flex-basis: 100%;
			width: 100%;
			text-align: center;
			margin: 0px;
		}

	}

	.footerLegal {
		border-top: 1px solid #fff;
		padding: 10px;
		text-align: center;
		font-weight: 400;
		font-size: 13px;
	}

footer .social a {
	color: #fff;
	display: inline-block;
	margin: 5px;
	font-size: 24px;
}

	footer .social a:hover {
		color: rgba(255,255,255,0.5);
	}

/* Reusable classes for WYSIWIG
 * --------------------------------------- */

.simpleCore img {
	max-width: 100%;
	height: auto;
}

 .clearme {
 	clear: both;
 }

 .alignleft {
 	float: left;
 	margin: 12px 20px 12px 0;
 }

 .alignright {
 	float: right;
 	margin: 12px 0 12px 20px;
 }

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

	 .alignleft, .alignright {
	 	float: default;
	 	margin: 0px 0px 30px 0 !important;
	 	width: 100% !important;
	 	height: auto !important;
	 }

 }

 .aligncenter {
 	margin: 30px auto;
 	display: block;
 }

 .aligncenter:not(:last-child) {
 	margin-bottom: 30px;
 }


/* Home Intro 
 * --------------------------------------- */

 .sliderContainer {
 	overflow: hidden;
 }

 .homeIntro {
 	background: #c23e38;
 	padding: 40px;
 }

 .homeIntroFlex {
 	display: flex;
 	justify-content: center;
 	align-items: center;
 }

 	.homeIntroFlex div:nth-child(1) {
 		flex-basis: 12%;
 	}

 	.homeIntroFlex div:nth-child(2) {
 		flex-basis: 70%;
 		margin-left: 5%;
 		display: flex;
 		flex-direction: column;
 		justify-content: center;
 	}

 	.homeIntro h1 {
 		font-size: 36px;
 		color: #fff;
 		font-weight: bold;
 		margin-bottom: 10px;
 	}

 	.homeIntro p {
 		font-size: 16px;
 		line-height: 24px;
 		color: #fff;
 	}

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

	 .homeIntro {
	 	padding: 30px;
	 }

	 .homeIntroFlex {
	 	flex-direction: column-reverse;
	 }

 	.homeIntroFlex div:nth-child(1) {
 		flex-basis: 50%;
 		text-align: center;
 	}

 	.homeIntroFlex div:nth-child(1) img {
 		width: 200px;
 		margin-top: 20px;
 	}

 	.homeIntroFlex div:nth-child(2) {
 		flex-basis: 100%;
 		margin-left: 0%;
 	}

 	.homeIntro h1 {
 		font-size: 36px;
 	}

 }

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

 	.homeIntroFlex div:nth-child(1) {
 		flex-basis: 100%;
 	}

 	.homeIntro h1 {
 		font-size: 24px;
 	}

 }

/* Cookiebot
 * --------------------------------------- */

#CybotCookiebotDialog { 
 	font-family: 'Montserrat', sans-serif !important; 
 	background: #c23e38 !important;
 	background-color: #c23e38 !important;
 	color: #fff !important;
}

#CybotCookiebotDialogPoweredbyLink {
	display: none !important;
}

#CybotCookiebotDialogBody {
    max-width: 1440px !important;
    padding: 20px !important;
}

#CybotCookiebotDialogDetailBody {
	width: auto !important;
    max-width: 1440px !important;
    padding: 0px 20px !important;

 	background: #c23e38 !important;
 	background-color: #c23e38 !important;
 	color: #fff !important;
}

#CybotCookiebotDialogBodyContentTitle {
	font-size: 18px !important;
	color: #fff !important;
}

#CybotCookiebotDialog a, #CybotCookiebotDialog div, #CybotCookiebotDialogBodyContentControls, #CybotCookiebotDialogBodyContentTitle {
    font-family: 'Montserrat', sans-serif !important; 
}

.CybotCookiebotDialogBodyButton, #CybotCookiebotDialogBodyButtonAccept, #CybotCookiebotDialogBodyButtonDecline {
 	font-family: 'Montserrat', sans-serif !important; 
    font-size: 12px !important;
    text-align: center !important;
    line-height: 20.6px !important;
    position: relative !important;
    padding: 8px 24px 6px !important;
    cursor: pointer !important;
    background: transparent !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    text-align: center !important;
    border-color: #fff !important;
    color: #fff !important;
    border-style: solid !important;
    border-width: 2px !important;
    border-radius: 50px !important;
    transition: none !important;
    font-weight: 700 !important;
    width: auto !important;
}

    .CybotCookiebotDialogBodyButton:hover, #CybotCookiebotDialogBodyButtonAccept:hover, #CybotCookiebotDialogBodyButtonDecline:hover {
        border-radius: 0px !important;
        border-top: 2px solid rgba(255,255,255,0) !important;
        border-left: 2px solid rgba(255,255,255,0) !important;
        border-right: 2px solid rgba(255,255,255,0) !important;
    	font-weight: 300 !important;
    	color: #fff !important;
    }

#CybotCookiebotDialogDetail {
 	background: #c23e38 !important;
 	background-color: #c23e38 !important;
 	color: #fff !important;
}

#CybotCookiebotDialogBodyButtonDetails {
 	color: #fff !important;
}

.partners .slick-slide {
	padding: 20px !important;
}

 #wpls-logo-showcase-slider-1 .wpls-fix-box img.wp-post-image {
    max-height: 100px !important;
}


/* Recaptcha
 * --------------------------------------- */

body:not(.page-id-203) .grecaptcha-badge { 
    visibility: hidden;
}


/* Management
 * --------------------------------------- */

 .mgmtFlex {
 	display: flex;
 	justify-content: center;
 	align-items: stretch;
 	flex-wrap: wrap;
 }

 .mgmtFlex div {
 	flex-basis: 200px;
 	margin: 20px;
 	text-align: center;
 }

 .mgmtFlex div img {
 	width: 100%;
 	height: auto;
 }


 .mgmtFlex .svg-inline--fa {
 	font-size: 30px;
 }
 
 .mgmtFlex .svg-inline--fa:hover {
 	color: #333;
 }

 /*.slickSlider {
 	height: 0px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease;
    -webkit-transition: opacity 1s ease;
}

.slickSlider.slick-initialized {
 	height: auto;
    visibility: visible;
    opacity: 1;    
}*/

div.video {
    padding-bottom: 0;
    position: relative;
	width: 100%;
	padding-bottom: 46%;
	margin-top: 20px;
}

div.video iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

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

	div.video {
	    padding-bottom: 320px;
	}

}

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

	div.video {
	    padding-bottom: 280px;
	}

}

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

	div.video {
	    padding-bottom: 180px;
	}

}


/* Banner salon
 * --------------------------------------- */

 .banner {
 	position:relative;
 	top: 148px;
 	background: linear-gradient(to right, #c23e38, #322ec0 60%);
 	display: flex;
 	padding: 0px 60px;
 	justify-content: space-between;
 	align-items: center;
 	height: 100px;
 	overflow: hidden;
 	color: #fff;
 }

 .banner > div:nth-child(1) {
 	text-transform: uppercase;
 	font-size: 18px;
 	line-height: 22px;
 }

 .banner > div:nth-child(1) strong {
 	font-size: 24px;
 	line-height: 26px;
 	font-weight: 700;
 }

 .banner > div:nth-child(2) {
 	display: flex;
 	justify-content: center;
 	align-items: center;
 }

	 .banner > div:nth-child(2) div {
	 	padding: 0px 20px;
	 }

	 .banner > div:nth-child(2) div:nth-child(1) {
	 	font-size: 36px;
	 	font-weight: 700;
	 	text-align: right;
	 }

 .banner > div:nth-child(3) {
 	height: 100%;
 }

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

	 .banner > div:nth-child(1) {
	 	text-transform: uppercase;
	 	font-size: 14px;
	 	line-height: 16px;
	 }

	 .banner > div:nth-child(1) strong {
	 	font-size: 20px;
	 	line-height: 22px;
	 }

	 .banner > div:nth-child(2) div:nth-child(1) {
	 	font-size: 24px;
	 }

}

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

	 .banner {
	 	top: 110px;
 		padding: 0px 30px;
	 }

	 .banner > div:nth-child(1) {
	 	text-transform: uppercase;
	 	font-size: 12px;
	 	line-height: 14px;
	 }

	 .banner > div:nth-child(1) strong {
	 	font-size: 18px;
	 	line-height: 20px;
	 }

	 .banner > div:nth-child(2) {
	 	font-size: 14px;
	 }

	 .banner > div:nth-child(2) div {
	 	padding: 0px 10px;
	 }

	 .banner > div:nth-child(2) div:nth-child(1) {
	 	font-size: 20px;
	 }

}

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

	.banner {
	 	top: 86px;
		flex-direction: column;
 		justify-content: space-between;
 		align-items: center;
 		height: auto;
 		background: linear-gradient(to bottom, #c23e38, #322ec0 45%);
 	}

 	.banner div {
 		text-align: center !important;
 		padding-bottom: 10px !important;
 	}

	 .banner > div:nth-child(1) {
 		padding-top: 10px !important;
 		padding-right: 20px !important;
 		padding-left: 20px !important;
 	}

	 .banner > div:nth-child(2) {
	 	flex-direction: column;
	 }

	 .banner > div:nth-child(3) {
	 	height: 100px;
	 }

}

/* Breaking news
 * --------------------------------------- */

.breakingNews {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 30px;
	background: #d32d2f;
	color: #fff;
	z-index: 110;
	font-size: 12px;
}

	.breakingNews a {
		color: #fff;
		text-decoration: underline;
		font-weight: 700;
	}

	.breakingNews a:hover {
		text-decoration: none;
	}


/* Filters & pagination
 * --------------------------------------- */

.filter-title {
	font-weight: 700;
}

.filter-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 11px;
	margin-bottom: 40px;
}

.filter-area > div:not(:first-child) {
	border-left: 1px solid #757576;
    margin-left: 30px;
    padding-left: 30px;
}

.facetwp-type-checkboxes {
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	text-transform: uppercase;
	color: #c23e38;
	font-weight: 500;
}

.facetwp-checkbox {
	margin: 4px 12px;
}

	.facetwp-checkbox.checked {
		font-weight: 700;
	}

span.facetwp-counter {
	color: #454545;
}

.facetwp-facet-pagination {
	text-align: center;
}

.facetwp-facet-pagination .facetwp-load-more {
	margin: 40px;
}

.facetwp-facet {
    margin-bottom: 0px !important;
}

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

	.filter-area {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.filter-area > div:not(:first-child) {
		border-left: 0px solid #757576;
	    margin-left: 0px;
	    padding-left: 0px;
	}

	.facetwp-type-checkboxes {
		justify-content: center;
	}

}

div.offers {
	width: 100%;
	max-width: 960px;
	margin: auto;
}

div.offers > div {
	border-top: 1px solid #ccc;
	padding: 10px;
}

div.offers > div:last-child {
	border-bottom: 1px solid #ccc;
}

div.offers a {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

div.offers a > span:nth-child(1) {
	color: #454545;
	font-weight: bold;
	display: inline-block;
}

div.offers a > span:nth-child(2) {
	color: #c23e38;
	text-transform: uppercase;
	font-size: 12px;
	display: inline-block;
}

section.application form {
	width: 100%;
	max-width: 960px;
	margin: auto;
}

div.formFlex {
	display: flex;
	flex-wrap: wrap;
	margin: 0px auto 20px; 
}

	div.formFlex > p {
		flex-basis: 50%;
		padding-right: 50px;
	}

	div.formFlex > p input {
		width: 100%;
		padding: 8px;
		font-family: 'Montserrat', sans-serif;
		font-size: 16px;
		line-height: 24px;
	}

	section.application textarea {
		width: 100%;
		font-family: 'Montserrat', sans-serif;
		font-size: 16px;
		line-height: 24px;
		padding: 8px;
	}

	.products div.productItem {
		padding: 20px;
		text-align: center;
		font-size: 18px;
	}

	.products div.productItem img {
		width: 100%;
		height: auto;
		/*margin-bottom: 20px;*/
	}

	.products div.productItem a {
		color: #fff;
	}

.homeFigures ul {
	display: flex;
	justify-content: center;
	list-style-type: none;
	align-items: center;
	margin-top: 40px;
}

.homeFigures ul li {
	text-align: center;
	padding: 0px 30px;
}

.homeFigures ul li:not(:first-child) {
	border-left: 1px dotted #fff;
}

.homeIntro .homeFigures p {
	font-size: 20px;
}

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

	.homeFigures ul {
		flex-direction: column;
	}

	.homeIntro .homeFigures p {
		font-size: 16px;
	}

	.homeFigures ul li {
		text-align: center;
		padding: 8px 0px;
		flex-basis: 100%;
	}

	.homeFigures ul li:not(:first-child) {
		border-left: 0px dotted #fff;
		border-top: 1px dotted #fff;
	}

}

.homeFigures ul li strong {
	font-size: 1.4em;
}

.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: block;
  width: 40px;
  height: 40px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  cursor: pointer;
  border: none;
  outline: none;
}

.slick-prev {
  left: 10px;
}

.slick-next {
  right: 10px;
}

.slick-prev svg , .slick-next svg {
	display: none;
}

body .wpls-logo-showcase .slick-arrow::before {
	display: block !important;
}

.slick-prev::before, .slick-next::before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
}

.slick-prev:hover::before, .slick-next:hover::before {
  opacity: 1;
}

.slick-prev::before {
  content: '←';
}

.slick-next::before {
  content: '→';
}

.benefits {
	display: flex;
	width: 100%;
	max-width: 1440px;
	margin: auto;
	padding: 0px 15px;
	justify-content: center;
	flex-wrap: wrap;
}

	.benefits > div {
		padding: 15px 25px;
		flex-basis: calc(100% / 4);
	}

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

	.benefits > div {
		flex-basis: calc(100% / 3);
	}

}

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

	.benefits > div {
		flex-basis: calc(100% / 2);
	}

}

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

	.benefits {
		flex-direction: column;
	}

	.benefits > div {
		padding: 15px;
		flex-basis: 100%;
	}

}

div.wp-block-image {
	margin-bottom: 30px;
}

.partnerItem {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.partnerItem > div:nth-child(1) {
		flex-basis: 15%;
	}

	.partnerItem > div:nth-child(1) img {
		width: 100%;
	}

	.partnerItem > div:nth-child(2) {
		flex-basis: 80%;
	}

	.partnerItem > div:nth-child(2) h3 {
		text-align: left;
	}

.partnerItem:not(:first-child) {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dotted #c23e38;
}

.products .slick-next {
	right: -50px;
}

.products .slick-prev {
	left: -50px;
}

body .wpls-logo-showcase .slick-prev {
  left: -40px !important;
}

body .wpls-logo-showcase .slick-next {
  right: -40px !important;
}

body .wpls-logo-showcase .slick-arrow {
  padding: 10px;
  width: 40px;
  height: 40px;
}