/*
Theme Name: Consortium MR
Author: Consortium MR
Author URI: http://www.consortiummr.com/
Version: 1
Text Domain: mr
*/

/**
* main style sheet
* @author		charroma@gmail.com
* @creationDate 2020-12-04
* @editDate		2020-12-04
*/

/**
 * #005373
 * #002e40
 * #4d525a
 * #1e1e1e
 * #e6e6e6
 */

/** http://meyerweb.com/eric/tools/css/reset/ 	v2.0 | 20110126		License: none (public domain) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, button, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, input[type=checkbox], input[type=radio] { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block;} body { line-height: 1;} ol, ul { list-style: none;} blockquote, q { quotes: none;} blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;} table { border-collapse: collapse; border-spacing: 0;}

/** defaults */
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
strong { font-weight: bold;}
em { font-style: italic;}
abbr { text-decoration: none; }
img { vertical-align: bottom;}
sup { font-size: 60%; }
mark { background-color: inherit; color: inherit; }
ins { text-decoration: none; }
template { display: none; }
input[type=submit], button { border-radius: 0;}
button::-moz-focus-inner { padding: 0; border: 0; }

/*::selection { background: #333; color: #fff;}
::-moz-selection { background: #333; color: #fff;}*/

body { background: #fff; line-height: 1.5; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: center; -webkit-text-size-adjust: none;}
body, input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=range], select, textarea { font-size: 16px; color: #555; }


/** links */
a { color: #005373; text-decoration: underline;}
a:hover, a:active, a:focus { color: #1e1e1e;}
.disabled, button[disabled] { cursor: default; }


/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on December 4, 2020 */
@font-face {
    font-family: 'poppins';
    src: url('css/fonts/poppins-bold.woff2') format('woff2'),
         url('css/fonts/poppins-bold.woff') format('woff');
    font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'poppins';
    src: url('css/fonts/poppins-medium.woff2') format('woff2'),
         url('css/fonts/poppins-medium.woff') format('woff');
    font-weight: bold; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'poppins';
    src: url('css/fonts/poppins-regular.woff2') format('woff2'),
         url('css/fonts/poppins-regular.woff') format('woff');
    font-weight: normal; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'poppins';
    src: url('css/fonts/poppins-light.woff2') format('woff2'),
         url('css/fonts/poppins-light.woff') format('woff');
    font-weight: 300; font-style: normal; font-display: swap;
}
/*!
 * Font Awesome Free 5.0.0 by @fontawesome - http://fontawesome.com
 * License - http://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
/*@font-face{
	font-family:'FontAwesome';
	src:url('css/fonts/fa-regular-400.eot?v=5.9.0');
	src:url('css/fonts/fa-regular-400.eot?#iefix&v=5.9.0') format('embedded-opentype'),
		url('css/fonts/fa-regular-400.woff2?v=5.9.0') format('woff2'),
		url('css/fonts/fa-regular-400.woff?v=5.9.0') format('woff'),
		url('css/fonts/fa-regular-400.ttf?v=5.9.0') format('truetype'),
		url('css/fonts/fa-regular-400.svg?v=5.9.0#fontawesomeregular') format('svg');
	font-weight:normal; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-display: block;
}*/
@font-face{
	font-family:'FontAwesomeSolid';
	src:url('css/fonts/fa-solid-900.eot?v=5.9.0');
	src:url('css/fonts/fa-solid-900.eot?#iefix&v=5.9.0') format('embedded-opentype'),
		url('css/fonts/fa-solid-900.woff2?v=5.9.0') format('woff2'),
		url('css/fonts/fa-solid-900.woff?v=5.9.0') format('woff'),
		url('css/fonts/fa-solid-900.ttf?v=5.9.0') format('truetype'),
		url('css/fonts/fa-solid-900.svg?v=5.9.0#fontawesomeregular') format('svg');
	font-weight:normal; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-display: block;
}
@font-face{
	font-family:'FontAwesomeBrand';
	src:url('css/fonts/fa-brands-400.eot?v=5.9.0');
	src:url('css/fonts/fa-brands-400.eot?#iefix&v=5.9.0') format('embedded-opentype'),
		url('css/fonts/fa-brands-400.woff2?v=5.9.0') format('woff2'),
		url('css/fonts/fa-brands-400.woff?v=5.9.0') format('woff'),
		url('css/fonts/fa-brands-400.ttf?v=5.9.0') format('truetype'),
		url('css/fonts/fa-brands-400.svg?v=5.9.0#fontawesomeregular') format('svg');
	font-weight:normal; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-display: block;
}

/** fonts */
body, input, select, textarea { font-family: 'poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

.text a[rel*="external"]:after, .select:after, .pop-close:before, .shop_table .remove:before,
#cboxClose:before, #cboxPrevious:before, #cboxNext:before { font-family: 'FontAwesomeSolid', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

.follow a:before { font-family: 'FontAwesomeBrand', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

/* **************************** */
/** transitions */
button, .bt, input[type=submit], .head a, .foot a, .logo img, .bt.-arr:after, .home-cats h3, .home-cats img, .ls-projects h3, .ls-projects img,
.home-services a, .hero a, .bloc-services a:before, .sub-menu a, .bloc-org a, .bloc-org img, .map .directions, .follow a,
#colorbox #cboxClose, #colorbox #cboxNext, #colorbox #cboxPrevious { transition: all 0.2s linear; -webkit-backface-visibility: hidden; backface-visibility: hidden;}
/** #colorbox button { -webkit-transition: none; transition: none;} */


/* **************************** */
/** animations */
.fixed { animation: slideIn 0.5s ease-in-out forwards; }
.fixed.slideOut { animation: slideOut 0.5s ease-in-out forwards; }

@keyframes slideIn {
	0% { transform: translateY(-100%); visibility: visible;}
	100% { transform: translateY(0); visibility: visible;}
}
@keyframes slideOut {
	to { opacity: 0; transform: translateY(-100%);}
}
@keyframes fadeIn {
	0%   { opacity: 0;}
	100% { opacity: 1;}
}

/* **************************** */
/** class gen */
.hide, .screen-reader-text, .visually-hidden, .hidden-fields-container { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.hidden { visibility: hidden;}
.none, .printonly { display: none!important;}
.ir { display: block; background-position: 0 0; background-repeat: no-repeat; overflow: hidden; text-indent: -9999px;}

.clear { clear: both;}
.clearer { display: block!important; width: 100%!important; clear: both!important; height: 0!important; line-height: 0!important; font-size: 1px!important; float: none!important; overflow: hidden; margin: 0!important; padding: 0!important; border: none!important}
.selfclear { overflow: hidden;}

.text-center, .container.text-center { text-align: center;}
.text-right { text-align: right;}
.text-left { text-align: left;}

.aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: 12px; }

.-max { max-width: 768px; }
.-auto { margin-left: auto; margin-right: auto; }

.fl { float: left;}
.fl-r { float: right;}
.no-fl { float: none;}

.no-space { margin-bottom: 0;}
.space-sml { margin-bottom: 5px;}
.space { margin-bottom: 10px;}
.spaced { margin-bottom: 15px;}
.space-big { margin-bottom: 30px;}
.space-bigger { margin-bottom: 45px;}
.space-biggest { margin-bottom: 60px;}
.space-top { margin-top: 15px;}
.space-top-big { margin-top: 30px;}

.spinner { margin: 0!important; padding: 0!important;}

html #colorbox, #colorbox #cboxWrapper { overflow: visible; }
#cboxLoadedContent { text-align: left;}
#colorbox #cboxContent { margin: 30px; }
#colorbox #cboxClose, #colorbox #cboxNext, #colorbox #cboxPrevious { width: auto; height: auto; background: transparent; color: #fff; text-indent: 0; line-height: 1; }
	#colorbox #cboxClose { top: -24px; right: -30px;}
	#colorbox #cboxClose:before { content: '\f057'; display: block; font-size: 28px; border-radius: 100%; text-align: center;}

	#colorbox #cboxPrevious:before, #colorbox #cboxNext:before { display: block; font-size: 32px; }
	#colorbox #cboxPrevious { left: -30px; }
	#colorbox #cboxNext { right: -30px; }
	#colorbox #cboxPrevious:before { content: '\f104';}
	#colorbox #cboxNext:before { content: '\f105';}
	#colorbox #cboxTitle { top: 5px; left: 5px; right: 5px; padding: 5px 15px; background-color: rgba(0, 0, 0, 0.5); }
	#colorbox #cboxCurrent { top: -25px; right: 15px; font-size: 14px; }
	#colorbox #cboxClose:hover, #colorbox #cboxNext:hover, #colorbox #cboxPrevious:hover { opacity: 0.5;}

#tip { display: none; position: absolute; max-width: 300px; padding: 4px 10px; font-size: 11px; line-height: 1; background: #222; color: #fff; white-space: nowrap; border-radius: 5px; box-shadow: 0 1px 5px #222; z-index: 9999;}
#overlay { position:fixed; top: 0; left: 0; z-index:9999; width:100%; height:100%; background-color: rgba(0, 0, 0, 0.5);}

#pop { position: fixed; z-index: 10000; top: 50%; left: 50%; min-height: 200px; width: 570px; margin: -100px 0 0 -305px; padding: 20px; background: #fff; text-align: left;}
	#pop.absolute { position: absolute; z-index: 10000; top: 20px; margin-top: 0;}
	#pop .submit { margin-bottom: 0;}
	.pop-close { position: absolute; top: 3px; right: 5px; }
	.pop-close:before { content: '\f057'; line-height: 1; font-size: 24px; }

/* **************************** */
/** forms */
fieldset, .fieldset { margin-bottom: 35px;}
fieldset > :last-child, .fieldset > :last-child { margin-bottom: 0; }

button { font-size: 1em;}
.form-group { margin-bottom: 15px;}
input[type=text],
input[type=password],
input[type=number],
input[type=email],
input[type=tel],
input[type=url],
input[type=range],
select,
textarea { width: 250px; height: 35px; padding: 0 10px 0; background: #f2f2f2; border: 1px solid #ccc; outline: none; box-sizing: border-box; border-radius: 3px;}

select { padding: 0 10px; background: #f2f2f2; border-radius: 0; -webkit-appearance: none; -moz-appearance: none; }
.select { display: block; position: relative; overflow: hidden; padding: 0; background-color: #f2f2f2; border: 1px solid #ccc; text-align: left; box-sizing: border-box; border-radius: 3px;}
.select:after { position: absolute; top: 50%; right: 10px; z-index: 1; content: ' \f107'; display: block; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);}
.select select { position: relative; z-index: 2; width: 100%!important; max-width: inherit; height: 33px; padding-right: 35px; background-color: transparent; line-height: 1.2; border: none;}
.select select::-ms-expand { display: none;}
.select select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }

input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=range]:focus,
select:focus,
.select.focus,
textarea:focus { border-color: #999;}

textarea { height: 150px; padding-top: 10px; padding-bottom: 10px; overflow: auto; vertical-align: top; -webkit-appearance: none;}
textarea.-sml { height: 50px;}
select { max-width: 250px;}
input[type=file] { font-size: 12px;}
input[type=text], input[type=email], input[type=submit] { -webkit-appearance: none; -moz-appearance: none; }

form .label-in { color: #999;}
input.-sml { width: 60px;}
input.-med { width: 125px;}
input.disabled, input[disabled] { background-color: #ddd;}

::placeholder { }
::-ms-input-placeholder {}
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #f2f2f2 inset;}

.i-info { color: #ccc; font-size: 11px; line-height: 1; font-style: italic;}

form label, form .label { display: block; width: auto; margin-bottom: 5px; line-height: 1.2; float: none; text-align: left;}

.i-multi .wpcf7-form-control { display: flex; flex-wrap: wrap; margin-bottom: -7px; }
.cols2 .i-multi .wpcf7-form-control { align-items: center; min-height: 35px; }
.i-multi .wpcf7-list-item { margin-bottom: 7px; margin-right: 30px; }
.i-multi .wpcf7-list-item label { display: flex; margin-bottom: 0; }
.i-multi .wpcf7-list-item input { margin-top: 2px; }
.i-multi .wpcf7-list-item-label { flex: 1 1 auto; margin-left: 5px; font-size: 14px; }

.full textarea,
.full input[type=text],
.full input[type=password],
.full input[type=email],
.full input[type=number],
.full input[type=tel],
.full input[type=url],
.full input[type=range],
.full .select { width: 100%; max-width: inherit;}

form .submit { margin: 25px 0 0;}
	.submit button, .submit a { margin-top: 5px; margin-right: 15px; vertical-align: middle;}
	.submit >:last-child { margin-right: 0;}

button, input[type=submit] { display: inline; background: none; cursor: pointer;}
	button, .bt, input[type=submit] { display: inline-block; padding: 12px 20px 10px; background: #005373; border: none; color: #fff; font-size: 16px; text-transform: uppercase; white-space: nowrap; text-align: center; text-decoration: none; overflow: hidden; text-overflow: ellipsis;}
	input[type=submit]:hover, input[type=submit]:focus,
	button:hover, button:focus,
	.bt:hover, .bt:focus { background-color: #002e40; color: #fff; }

.bt.-sml { padding: 5px 10px 3px; font-size: 10px;}
.bt.-med { padding: 10px 20px 8px; font-size: 12px;}

.bt.-arr { position: relative; padding-right: 70px; }
.bt.-arr:after { content: '>'; position: absolute; top: 0; bottom: 0; right: 0; display: inline-flex; justify-content: center; align-items: center; width: 24px; padding: 3px 10px 0; background-color: #4d525a; color: #fff; font-size: 16px; }
.bt.-med.-arr { padding-right: 58px; }
.bt.-med.-arr:after { width: 18px; }
.bt.-arr:hover:after, .bt.-arr:focus:after { background-color: hsla(216.9, 7.8%, 22.7%, 1.0); }

.bt.-invert { background-color: #fff; color: #005373; }
.bt.-invert:hover, .bt.-invert:focus { background-color: rgba(255, 255, 255, 0.75); color: #005373; }

.bt.selected { background-color: #002e40; }

.msgbox, .wpcf7-response-output { position: relative; margin-bottom: 15px; padding: 15px 30px 15px 20px; background-color: #ffedc5; color: #857755; font-size: 14px; line-height: 1.4; border: 1px solid #dbc9a2; border-radius: 3px;}
	.msgbox p, .msgbox ul { margin-bottom: 15px; }
	.msgbox > :last-child { margin-bottom: 0; }
	.msgbox ul { margin-left: 20px; list-style-type: disc;}
	.msgbox.success ul { margin-left: 0; list-style-type: none;}
	.msgbox label { display: block; float: none; margin: 0;}
	.msgbox .close { position: absolute; top: 2px; right: 2px; display: none;}
	.wpcf7-response-output { padding-top: 15px; }

.msgbox.-success, .sent .wpcf7-response-output { background: #e1f1d3; border-color: #c6d9b6; color: #3c763d;}
.msgbox.-success a { color: #3c763d; text-decoration: underline; }
.msgbox.-success a:hover, .msgbox.-success a:focus { color: #000; }

.msgbox.-errors, .browsehappy, .invalid .wpcf7-response-output,
.aborted .wpcf7-response-output, .failed .wpcf7-response-output,
.spam .wpcf7-response-output { background: #fad5d8; border-color: #d4adb1; color: #a94442;}
.msgbox.-errors a { color: #a94442; text-decoration: underline; }
.msgbox.-errors a:hover, .msgbox.-errors a:focus { color: #000; }

input.wpcf7-not-valid, textarea.wpcf7-not-valid { border-color: #d4adb1;}
.wpcf7-not-valid-tip { display: block; margin-top: 5px; font-size: 12px; color: #a94442;}

.browsehappy { padding: 10px; text-align: center;}
	.browsehappy a { color: #a94442; text-decoration: underline;}

.screen-reader-response, .wpcf7-response-output { display: none; }
.invalid .wpcf7-response-output, .sent .wpcf7-response-output,
.unaccepted .wpcf7-response-output, .spam .wpcf7-response-output,
.aborted .wpcf7-response-output, .failed .wpcf7-response-output { display: block; }

/* **************************** */
/** header */
.head { padding: 30px 0;}
	.head .skip-main:focus { transition: all 0s linear; top: 0; left: 0; width: auto; height: auto; padding: 3px 5px; overflow: hidden; clip: unset; font-size: 12px; background-color: #000; color: #fff; }
	.head .container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; }

	.head a { color: #4d525a; text-decoration: none; }
	.head a:hover, .head a:focus { color: #005373; }

	.head .logo { flex: 0 1 auto; }
	.logo img { display: block; }
	.logo a:hover img, .logo a:focus img { opacity: 0.5; }
	.home .logo a:hover img, .home .logo a:focus img { opacity: 1; }

	.head .nav { position: relative; bottom: -3px; flex: 0 0 auto; font-size: 14px; }
		.head .nav ul { display: flex; }
		.head .nav li { margin-right: 35px; }
		.head .nav li:last-of-type { margin-right: 0; }
		.head .nav .selected { color: #005373; border-bottom: 2px solid #005373; }
		.head .nav a { display: inline-block; line-height: 1; }

	.head .nav-sec { position: absolute; top: -15px; right: 0; font-size: 12px; }
		.head .nav-sec ul { display: flex; align-items: center; }
		.head .nav-sec li { margin-left: 20px; }
		.head .nav-sec a { color: #888; }
		.head .nav-sec a:hover, .head .nav-sec a:focus { color: #005373; }
		.head .nav-sec .bt-partner { display: inline-block; padding: 5px 10px 4px; background-color: #005373; color: #fff; border-radius: 5px; font-weight: bold; }
		.head .nav-sec .bt-partner:hover, .head .nav-sec .bt-partner:focus { background-color: #002e40; color: #fff; }

	.has-sm { position: relative; }
		.has-sm ul { display: none; position: absolute;}

	.bt-nav-mobile, #mobile-overlay, .nav-mobile { display: none; }

/* **************************** */
/** content */
#wrapper { text-align: center;}
.content { }
.container { position: relative; width: 960px; margin: 0 auto; text-align: left;}
.container .cols2-1 .container { width: auto; }
	h1, .h1 { margin-bottom: 30px; font-size: 36px; color: #005373; font-weight: 800; text-transform: uppercase; line-height: 1; letter-spacing: 0.025em; }
	h2, .h2 { margin-bottom: 20px; font-size: 30px; color: #005373; font-weight: 800; text-transform: uppercase; line-height: 1.2; letter-spacing: 0.025em; }
	h3 { margin-bottom: 15px; font-size: 24px; color: #005373; font-weight: 800; line-height: 1.2; }
	h4 { margin-bottom: 10px; color: #005373; font-size: 16px; font-weight: 800; line-height: 1.2; }

	.-has-h2 .w-img { margin-top: 30px; }
	p + h2, ul + h2, .bloc-content + .bloc-content h2 { margin-top: 45px; }
	p + h3, ul + h3, .bloc-content + .bloc-content h3 { margin-top: 30px; }
	h2 + h4 { margin-top: -15px; font-weight: 300; text-transform: uppercase; letter-spacing: 0.15em; }

	.text a[rel*="external"]:after { content: '\00a0\00a0\f35d'; font-size: 9px; font-weight: normal; }

.text { margin-bottom: 30px; line-height: 1.4;}
	.text p, .text ul, .text ol, .text dl { margin-bottom: 15px;}
	/*.text ul { list-style-type: disc; margin-left: 20px;}
	.text ul ul { margin-bottom: 0; margin-top: 5px; list-style-type: circle;}*/
	/*.max, .text h2, .text h3, .text h4, .text p, .text ul, .text ol, .text blockquote, .text .vid { max-width: 708px; }*/
	/*.max, .text h2, .text h3 { max-width: inherit; }*/
	.wpcf7, .-max { max-width: 708px; }
	.text li + li h4 { margin-top: 10px; }

	.text ul { margin-left: 0; list-style-type: none; }
		.text ul li { position: relative; padding-left: 20px; }
		.text ul li:before { content: '•'; position: absolute; top: 0; left: 0; }

	.text ol { margin-left: 15px; counter-reset: term;}
		.text ol > li { position: relative; margin-top: 10px; padding-left: 30px; }
		.text ol > li:first-of-type { margin-top: 0; }
		.text ol > li:before { content: counter(term, decimal-leading-zero) '.'; position: absolute; left: 0; top: 0; width: 20px; color: #000; text-align: center; font-size: 20px; line-height: 1; counter-increment: term; }

	.text .no-ls { list-style-type: none; margin-left: 0;}
	.text > :last-child, .text.-no-space { margin-bottom: 0; }

.out { width: 1280px; margin-left: -160px; }
.img-replace { position: relative; }
	.img-replace .to-replace { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }

.col2, .col2-3, .col2-5, .col3, .col3-4, .col4, .col5 { float: left; margin-right: 3.8%;}
.col2.last, .col2-3.last, .col2-5.last, .col3.last, .col3-4.last, .col4.last, .col5.last { margin-right: 0;}
.col2.auto, .col2-3.auto, .col2-5.auto, .col3.auto, .col3-4.auto, .col4.auto, .col5.auto { float: none; }
.col2 { width: 48%;}
.col2-3 { width: 65.4%;}
.col2-5 { width: 37.72%;}
.col3 { width: 30.75%;}
.col3-4 { width: 74.05%;}
.col4 { width: 22.05%;}
.col5 { width: 16.96%;}

.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .col2-set { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	.cols2 > *, .cols1-2 > *, .cols2-1 > *, .cols3 > *, .cols4 > *, .col2-set > * { flex: 0 0 48%; margin-right: 3.8%; }
	.cols2 > *:nth-child(even), .col2-set > *:nth-child(even) { margin-right: 0; }
	.cols3 > *:nth-child(3n), .cols1-2 > *:nth-child(2n), .cols2-1 > *:nth-child(2n) { margin-right: 0; }
	.cols4 > *:nth-child(4n) { margin-right: 0; }
.cols1-2 > *, .cols2-1 > *:nth-child(2n) { flex-basis: 30.75%; }
.cols1-2 > *:nth-child(2n), .cols2-1 > * { flex-basis: 65.4%; }
.cols3 {}
	.cols3 > * { flex-basis: 30.75%; }
.cols4 {}
	.cols4 > * { flex-basis: 22.05%; }

.cols2.has-img .w-img { flex-basis: 50%; }
.cols2.has-img .w-img + div { flex-basis: 46%; }

.cols-reverse { flex-direction: row-reverse; }
	.cols-reverse.cols2 > *:nth-child(even) { margin-right: 3.8%; }
	.cols-reverse.cols2 > *:nth-child(odd) { margin-right: 0%; }

.bloc-content:last-of-type .cols2 > :nth-last-child(2), .bloc-content:last-of-type .cols2 > :last-child,
.bloc-content:last-of-type .cols2 > * > :last-child { margin-bottom: 0; }

.w-img { margin-bottom: 45px; }
.cols2 .w-img, .alignleft, .alignright, .wp-block-image { margin-bottom: 15px; }
.alignleft { float: left; max-width: 48%; margin-right: 3.8%; margin-top: 5px; }
.alignright { float: right; max-width: 48%; margin-left: 3.8%; margin-top: 5px; }
	.w-img img, .wp-block-image img { display: block; max-width: 100%; height: auto; }
	.w-img .desc, .wp-block-image figcaption { margin-top: 10px; font-size: 12px; color: #999; text-align: left; }
	.w-img .desc p:last-of-type { margin-bottom: 0; }

.h-scroll-nav { display: none; justify-content: center; margin-top: 10px; }
	.h-scroll-nav span { display: block; width: 8px; height: 8px; margin: 0 3px; border-radius: 50%; background-color: #999; }
	.h-scroll-nav .selected { background-color: #666; }

/** global */
button, .bt, input[type=submit], .head .nav-sec .bt-partner, .home-cats a, .ls-projects img, .project-vedette img, .bloc-services > div,
.bloc-org a, .map .directions, .w-img img, .wp-block-image img, .ls-est { border-radius: 3px; }

.home-project-cat, .section.-shape { padding-top: 115px; padding-bottom: 115px; background: url(img/bg-top.svg) 50% 0/325px auto no-repeat, url(img/bg-bottom.svg) 50% 100%/325px auto no-repeat; }

.section, .home-projects, .box-logo .txt, .home-engagement .txt, .foot { padding-top: 75px; padding-bottom: 75px; }
.section.-sml { padding-top: 45px; padding-bottom: 45px; }
.section.-gray { background-color: #f1f2f3; background-color: #eff4f5; }
	.section.-gray input[type=text], .section.-gray input[type=email], .section.-gray .select { background-color: #fff; }

.section > :last-child, .section > .container > :last-child { margin-bottom: 0; }

.sub-menu { position: relative; background-color: #4d525a; text-transform: uppercase; font-size: 11px; }
	.sub-menu ul { display: flex; flex-wrap: nowrap; }
	.sub-menu a { display: block; padding: 7px 10px 5px; color: #fff; white-space: nowrap; text-decoration: none; }
	.sub-menu a:hover, .sub-menu a:focus { background-color: hsla(216.9, 7.8%, 22.7%, 1.0); }
	.sub-menu .selected, .sub-menu .selected:hover, .sub-menu .selected:focus { background-color: #005373; cursor: default; }

.hero { background-color: #cfd2d6; }
	.hero .container { text-align: center; }
	.hero h1 { margin-bottom: 10px; }
	.hero h4 { margin-bottom: 5px; font-weight: 300; font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase; }
	.hero h4 a { color: hsla(214.3, 7.9%, 42.5%, 1.0); text-decoration: none; }
	.hero h4 a:hover, .hero h4 a:focus { color: #005373; }
	.hero .txt { max-width: 640px; margin-left: auto; margin-right: auto; font-size: 14px; color: hsla(214.3, 7.9%, 32.5%, 1.0); }
	.hero .txt > :last-child { margin-bottom: 0; }
.hero.img-replace { color: #fff; overflow: hidden; }
	.hero.img-replace h1 { color: #fff; }
	.hero.img-replace h4 a { color: rgba(255, 255, 255, 0.75); }
	.hero.img-replace h4 a:hover, .hero.img-replace h4 a:focus { color: #fff; }
	.hero .to-replace {}
	.hero.img-replace .txt { color: #fff;}

.ls-pag { margin-top: 45px; }
	.ls-pag ul { display: flex; justify-content: center; align-items: center; }
	.ls-pag li { margin: 0 2px; }
	.ls-pag .bt { display: inline-flex; justify-content: center; align-items: center; min-width: 20px; height: 30px; padding: 0 10px; font-size: 14px; }
	.ls-pag .pages { background-color: #4d525a; }
	.ls-pag .pages:hover, .ls-pag .pages:focus { background-color: #005373; }
	.ls-pag .selected, .ls-pag .selected:hover, .ls-pag .selected:focus { background: #cfd2d6; color: #666; cursor: default; }
	.ls-pag .prev, .ls-pag .next { font-size: 16px; }
	.ls-pag .prev { margin-right: 10px; }
		.ls-pag .prev:before { content: '<'; }
	.ls-pag .next { margin-left: 10px; }
		.ls-pag .next:before { content: '>'; }

.ls-arr {}
	.ls-arr li, .text .ls-arr li { position: relative; margin-bottom: 10px; padding-left: 15px; }
	.ls-arr li:last-of-type { margin-bottom: 0; }
	.ls-arr li:before, .text .ls-arr li:before { content: '> '; position: absolute; top: 0; left: 0; color: #005373; }
	.ls-arr a { color: #1e1e1e; }
	.ls-arr a:hover, .ls-arr a:focus { color: #005373; }

.grecaptcha-badge { visibility: hidden; }

/** home */
.main { color: #fff; }
	.main .container { height: 100%; }
	.main .slide:before, .hero.img-replace:before { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; background-color: #000; opacity: 0.5; }
	.main .container, .hero.img-replace .container { position: relative; z-index: 3; display: flex; justify-content: center; align-items: center; height: 100%; text-align: center; }
	.main .h1 { display: block; margin-bottom: 30px; font-size: 36px; font-weight: bold; color: #fff; font-weight: 800; }
	.main .container, .hero.img-replace .container { min-height: 400px; padding-top: 45px; padding-bottom: 45px; box-sizing: border-box; }

.tns-outer { position: relative; }
	.tns-nav { position: absolute; z-index: 5; display: flex; justify-content: center; bottom: 15px; left: 0; right: 0; }
	.tns-nav button { display: block; width: 8px; height: 8px; margin: 0 3px; padding: 0; border-radius: 50%; background-color: #fff; }
	.tns-nav .tns-nav-active { background-color: rgba(255, 255, 255, 0.75); }

.home-building { background: url(img/bg-building.jpg) 50% 100%/100% auto no-repeat; }
@media screen and (min-width: 1281px) { .home-building { background-image: url(img/bg-building@1920.jpg); } }
@media screen and (max-width: 1024px) { .home-building { background-image: url(img/bg-building@1024.jpg); } }
@media screen and (max-width: 768px) { .home-building { background-image: url(img/bg-building@768.jpg); } }
@media screen and (max-width: 480px) { .home-building { background-image: url(img/bg-building@480.jpg); } }

.home-project-cat {}
	.home-project-cat .ti, .home-project-cat h1 { margin-bottom: 0; font-size: 18px; color: #1e1e1e; font-weight: normal; text-transform: none; text-align: center; }
	.home-project-cat h1 { display: inline; }
	.home-project-cat .ti { max-width: 460px; margin-bottom: 20px; margin-left: auto; margin-right: auto; }
	.home-project-cat .ti strong { display: block; font-size: 150%; font-weight: 800; }

	.home-cats a { display: block; text-decoration: none; overflow: hidden; box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05), 0 8px 25px rgba(0, 0, 0, 0.05), 0 15px 35px rgba(0, 0, 0, 0.05); }
	.home-cats img { display: block; width: 100%; height: auto; }
	.home-cats h3 { margin-bottom: 0; padding: 12px 15px 10px; background-color: #005373; color: #fff; font-weight: normal; font-size: 18px; text-transform: uppercase; text-align: center; }
	.home-cats h3:after { content: ' >'; }
	.home-cats a:hover h3, .home-cats a:focus h3 { background-color: #002e40; }
	.home-cats a:hover img, .home-cats a:focus img { filter: grayscale(50%); }

	.home-project-cat .text { margin: 45px auto 0; }

.home-projects {}
	.home-projects h2 { text-align: center; }
	.home-projects .text { max-width: 640px; margin-left: auto; margin-right: auto; text-align: center; }
	.home-projects .ls-projects img { box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05), 0 8px 25px rgba(0, 0, 0, 0.05), 0 15px 35px rgba(0, 0, 0, 0.05); }

.home-contractor {}
	.home-contractor h3 { margin-bottom: 25px; }

.home-box-logo { overflow: hidden; }
	.box-logo { position: relative; }
		.box-logo .container { width: 50%; max-width: 480px; transform: translateX(-50%); box-sizing: border-box; }
		.box-logo .txt { padding-right: 45px; }
	.box-logo.-alt:before { content: ''; position: absolute; z-index: -1; top: 0; right: 50%; bottom: 0; left: 0; background-color: #eff4f5; }
	.home-box-logo .shape { position: absolute; bottom: 0; right: -125%; display: block; clip-path: url(#mask); transform: translateY(50%); }
	.home-box-logo svg { position: absolute; }

.home-engagement { display: flex; flex-wrap: wrap; align-items: stretch; }
	.home-engagement > div { flex: 0 0 50%; }
	.home-engagement .txt { max-width: 480px; text-align: left; box-sizing: border-box; }

	.home-engagement .desc { background-color: #005373; color: rgba(255, 255, 255, 0.75); }
		.home-engagement .desc .txt { margin-left: auto; padding-right: 45px; }
		.home-engagement .desc h3 { color: #fff; }
		.home-engagement .desc h4 { margin: -15px 0 20px; font-weight: 300; color: #fff; text-transform: uppercase; }

	.home-engagement .dons { display: flex; justify-content: center; align-items: center; background-color: #eff4f5; color: #1e1e1e; }
		.home-engagement .dons .txt { flex: 1 1 480px; margin-right: auto; padding-left: 45px; text-align: center; }
		.home-engagement .dons .text { max-width: 360px; margin-left: auto; margin-right: auto; }
		.home-engagement .dons svg { display: block; width: 60px; height: auto; margin: 0 auto 30px; }
		.home-engagement .dons path { fill: #005373; }

/** about */


/** projects */
.projects-cats { margin-bottom: 45px; padding-bottom: 30px; border-bottom: 1px solid #cfd2d6; text-align: center; }
	.projects-cats h4 { font-size: 12px; font-weight: 300; text-transform: uppercase; }
	.projects-cats ul { display: inline-flex; flex-wrap: wrap; }
	.projects-cats li { margin-right: 5px; }

.ls-projects { font-size: 14px; }
	.ls-projects li { margin-bottom: 30px; }
	.ls-projects a { display: block; text-decoration: none; }
	.ls-projects img { display: block; background-color: #f6f6f6; margin-bottom: 10px; }
	.ls-projects h3 { margin-bottom: 0; font-size: 18px; font-weight: bold; text-transform: none; }
	.ls-projects .city { margin-bottom: 5px; font-size: 11px; text-transform: uppercase; color: #1e1e1e; }
	.ls-projects .date { margin-top: 5px; font-size: 12px; font-weight: 300; text-transform: capitalize; }
	.ls-projects .bt { display: inline-block; margin-top: 12px; }
	.ls-projects a:hover h3, .ls-projects a:focus h3,
	.project-vedette a:hover h3, .project-vedette a:focus h3 { color: #002e40; }
	.ls-projects a:hover img, .ls-projects a:focus img,
	.project-vedette a:hover img, .project-vedette a:focus img { filter: grayscale(50%); }

.home .ls-projects { justify-content: center; }
	.home .ls-projects li, .projects-related .ls-project li { margin-bottom: 0; }
	.home .ls-projects li:nth-child(2n) { margin-top: 45px; }
	.home .ls-projects h3 { font-size: 14px; }

.cols2-1 .project-details { margin-left: 0; }
.project-details { display: flex; flex-wrap: wrap; max-width: 640px; margin: 0 auto; line-height: 1.2; }
	.project-details dt, .project-details dd { margin-bottom: 12px; }
	.project-details dt { flex: 0 1 240px; color: #005373; font-weight: 800; text-transform: uppercase; }
	.project-details dd { flex: 0 1 calc(100% - 240px); }
	.project-details dd a + a { margin-left: 3px; }

.-is-single-project .cols2-1 .img img { display: block; margin: 0 auto; }

.project-gallery { display: flex; flex-wrap: wrap; max-width: 1280px; margin: 0 auto; }
	.project-gallery .full { flex: 0 0 100%; }
	.project-gallery .half { flex: 0 0 50%; }
	.project-gallery img { width: 100%; object-fit: cover; object-position: 50% 50%; }

.projects-related {}
	.projects-related h2 { text-align: center; }
	.projects-related .ls-projects { margin-bottom: 60px; }

/** services */
.bloc-services { align-items: stretch; }
.section .bloc-services { margin-bottom: -30px; }
	.bloc-services > div { position: relative; min-height: 250px; margin-bottom: 30px; overflow: hidden; }
	.bloc-services a { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; height: 100%; text-decoration: none; color: rgba(255, 255, 255, 0.75); background: #005373 50% 50%/cover no-repeat; }
	.bloc-services a:before { content: ''; position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; background-color: #005373; opacity: 0.85; }
	.bloc-services img { display: block; opacity: 0.25; }
	.bloc-services .txt { position: relative; z-index: 2; padding: 30px; font-size: 14px; }
	.bloc-services h3 { margin-bottom: 0; font-size: 20px; color: #fff; text-transform: none; }
	.bloc-content .bloc-services h3 { margin-top: 0; }
	.bloc-services h3 + .text { margin-top: 10px; }
	.bloc-services .bt { margin-top: 15px; }
	.bloc-services a:hover:before, .bloc-services a:focus:before { opacity: 0.95; }
	.bloc-services a:hover .bt, .bloc-services a:focus .bt { background-color: rgba(255, 255, 255, 0.75); }

/** engagement */
.bloc-org { margin: 45px 0 15px; align-items: stretch; }
	.bloc-org > div { margin-bottom: 30px; min-height: 132px; }
	.bloc-org a { display: flex; justify-content: center; align-items: center; height: 132px; padding: 15px 30px; border: 1px solid #ddd; box-sizing: border-box; }
	.bloc-org a:after { display: none; }
	.bloc-org img { display: block; max-width: 100%; max-height: 100px; width: auto; height: auto; }
	.bloc-org a:hover, .bloc-org a:focus { border-color: #aaa; }

/** jobs */
.jobs-content .has-img { align-items: center; }
.box-jobs { position: relative; margin-top: 30px; }

.wpcf7-form-control-wrap.cv { display: flex; align-items: center; min-height: 35px; }

/* sous-traitant */
.est-form {}
	.est-form p + .wpcf7 { margin-top: 30px; }
	.est-form > :last-child, .est-form .submit { margin-bottom: 0; }
.ls-est { padding: 30px 15px; text-align: center; background-color: #f6f6f6; box-sizing: border-box; }
	.ls-est li:not(:last-child) { margin-bottom: 30px; }
	.ls-est img { display: block; margin: 0 auto 7px; border-radius: 50%; border: 1px solid #ddd; }
	.ls-est h3 { margin-bottom: 0; font-size: 16px; }
	.ls-est h4 { margin-bottom: 0; font-weight: normal; text-transform: uppercase; font-size: 12px; color: #1e1e1e; }
	.ls-est p { margin-top: 7px; }

/** contact */
.col-info {}
	.col-info .follow { margin-bottom: 45px; }
	.col-info .text { font-size: 14px; }

.map { position: relative; background-color: #f6f6f6; }
	#gmap { height: 350px; }
	.map .directions { position: absolute; top: 0; left: 50%; display: inline-block; padding: 2px 10px; background-color: #fff; font-size: 12px; transform: translate(-50%, -11px); text-decoration: none; box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15); }
	.map .directions:after { content: ' >'; }
	.map .directions:hover, .map .directions:focus { background-color: #005373; color: #fff; }

/** cookie */
.cmplz-cookiebanner { text-align: left; }
html .cmplz-cookiebanner .cmplz-title { font-weight: bold; }
html .cmplz-cookiebanner .cmplz-header { display: block; }
html .cmplz-cookiebanner .cmplz-divider { display: none; }
.cmplz-cookiebanner button { text-align: center; }
.cmplz-message { text-align: left; }

#cmplz-document { max-width: 708px; }
div.cmplz-document h2 { margin-bottom: 15px; font-size: 24px; }
div.cmplz-document h3 { font-size: 18px; font-weight: bold; }
div.cmplz-document i { font-style: italic; }
.cmplz-categories { margin-bottom: 15px; }
.cmplz-contact-organisation { font-weight: bold; }

#cmplz-cookies-overview .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div,
#cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div { grid-template: "heading paragraph chevron"; grid-template-columns: 2fr auto 25px; }

#cmplz-cookies-overview { margin-bottom: 45px; }
	#cmplz-cookies-overview details { font-size: 12px; }
	#cmplz-cookies-overview details + details { border-top: 1px solid #ddd; }
	#cmplz-cookies-overview summary { position: relative; }
	#cmplz-cookies-overview summary::after { content: '+'; position: absolute; top: 4px; right: 0; font-size: 22px; color: #005373; }
	#cmplz-cookies-overview [open] summary::after { content: '-'; }
	#cmplz-cookies-overview p { margin: 0; }
	#cmplz-cookies-overview h4 { font-weight: bold; font-size: 14px; }
.cmplz-service-header { padding: 7px 0; }
.cmplz-service-description, .cmplz-sharing-data { margin-top: 10px; }
.cmplz-service-description { padding-right: 10px; }
.cookies-per-purpose { margin: 15px 0 10px; }
	.cookies-per-purpose h5 { font-size: 12px; font-weight: bold; color: #000; }
.cmplz-subtitle { font-weight: bold; }

html #cmplz-manage-consent .cmplz-manage-consent { left: 20px; }
.cmplz-marketing.cmplz-statistics .cmplz-manage-consent { display: none; }
#cmplz-manage-consent .cmplz-manage-consent { --cmplz-manage-consent-offset: -25px; }

/* **************************** */
/** footer */
.foot { padding: 60px 0; background-color: #4d525a; color: #fff; font-size: 14px; }

	.foot .container { display: flex; flex-wrap: wrap; }
	.foot a { color: #fff; text-decoration: none; }
	.foot a:hover, .foot a:focus { color: rgba(255, 255, 255, 0.5); }
	.foot h4 { margin-bottom: 5px; font-size: 16px; color: #fff; text-transform: uppercase; }

	.foot .logo { flex: 0 0 auto; margin-bottom: 25px; }

	.foot .cols { flex: 0 0 100%; display: flex; }
		.foot nav { line-height: 1.1; }
		.foot nav li { margin-bottom: 7px; }
		.foot nav li:last-of-type { margin-bottom: 0; }
		.foot nav a { display: block; }
		.foot .cols > div { flex: 0 0 19.2833%; margin-right: 3.8%; }
		.foot .cols .col-addr { flex: 0 0 30.75%; }
		.foot .cols .col-jobs { margin-right: 0 }
		.col-addr a { text-decoration: underline; }
		.col-jobs h4 { margin-bottom: 8px; font-size: 14px; font-style: italic; text-transform: none; }

	.horaire { margin-top: 10px; font-size: 14px; }
	.foot .horaire { font-size: 12px; }

	.foot .foot-sec { flex: 0 0 100%; margin-top: 30px; font-size: 12px; text-transform: uppercase; text-align: right; }
	.foot .foot-sec a { display: inline-block; min-width: 19.2833%; color: rgba(255, 255, 255, 1); text-align: left; }
	.foot .foot-sec a:hover, .foot .foot-sec a:focus { color: rgba(255, 255, 255,0.75); }
	.foot .copy { flex: 0 0 100%; margin-top: 12px; font-size: 12px; color: rgba(255, 255, 255, 0.75); }
	.foot .ref { flex: 0 0 100%; font-size: 11px; color: rgba(255, 255, 255, 0.5); }
	.foot .ref a { color: rgba(255, 255, 255, 0.5); }
	.foot .ref a:hover, .foot .ref a:focus { color: #fff; }

	.follow { display: flex; margin-top: 15px; font-size: 18px; }
		.follow li { margin-right: 8px; }
		.follow li:last-of-type { margin-right: 0; }
		.follow a { position: relative; display: block; width: 32px; height: 32px; background: #fff; border: 1px solid #005373; color: #005373; border-radius: 50%; text-align: center; }
		.follow a:before { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); }
		.follow .fb:before { content: '\f39e'; }
		.follow .tw:before { content: '\f099'; }
		.follow .in:before { content: '\f0e1'; }
		.follow .yt:before { content: '\f167'; }
		.follow .ins:before { content: '\f16d'; }
		.follow a:hover, .follow a:focus { background-color: #005373; color: #fff; }

		.foot .follow a { background-color: transparent; border-color: #fff; color: #fff; }
		.foot .follow a:hover, .foot .follow a:focus { background-color: rgba(255, 255, 255, 1); color: #005373; }

/* **************************** */
/** responsive */
/** 768 */
@media screen and (max-width: 1023px) {
	.main .h1 { font-size: 32px; }
	.home-cats h3 { font-size: 14px; }

	.container, .head .container, .foot .container { width: 100%; padding-left: 30px; padding-right: 30px; box-sizing: border-box; }
	.container .container { padding-left: 0; padding-right: 0; }
	.out { width: auto; margin-left: -30px; margin-right: -30px; }
	.out .container { padding-left: 30px; padding-right: 30px; }

	/* head */
	.head .nav { flex-basis: 100%; margin-top: 15px; }
	.head .nav-sec { right: 30px; }

	.sub-menu .container { padding-left: 0; padding-right: 0; }
	.sub-menu:after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; width: 30px; background: linear-gradient(to left, #4d525a 45%, rgba(77, 82, 90, 0) 100%); }
	.sub-menu nav { overflow: auto; -webkit-overflow-scrolling: touch; }
	.sub-menu ul { justify-content: start; padding-left: 20px; padding-right: 20px; }
	.sub-menu ul:after { content: ''; display: inline-flex; flex: 0 0 30px; height: 1px; overflow: hidden; }

	/* home */
	.home-projects .h-1023 .cols4, .home-projects .h-767 .cols4 { justify-content: flex-start; }
	.home-projects .h-767 .cols4,
	.home-projects .nb2 .cols4,
	.home-projects .nb1 .cols4 { display: grid; grid-template-columns: repeat(3, 211px); column-gap: 3.8%; justify-content: center; }
	.home-projects .nb2 .cols4 { grid-template-columns: repeat(2, 211px); }
	.home-projects .nb2 .cols4 li:nth-child(2n) { margin-top: 0; }
	.home-projects .nb1 .cols4 { grid-template-columns: repeat(1, 211px); }
	.home-projects .cols4 > * { margin-right: 0; }
	.home-projects .ls-projects img { max-width: 100%; height: auto; }

	.box-logo { position: relative; z-index: 2; }
		.box-logo .container { width: auto; max-width: inherit; transform: translateX(0); }
		.home-box-logo .shape { position: absolute; z-index: 2; right: 30px; max-width: 320px; height: auto; }

	.box-logo.-alt { position: relative; z-index: 1; background-color: #eff4f5; }
		.box-logo.-alt:before { display: none; }
		.box-logo .txt { padding-right: 0; }

	.home-engagement { display: block; }
		.home-engagement .txt { max-width: inherit; padding-left: 30px; padding-right: 30px; }
		.home-engagement .dons .txt { padding-left: 30px; }

	/* projet */
	.ls-projects img { max-width: 100%; height: auto; }
	.project-gallery img { height: 100%; }
	.project-gallery .half { flex-basis: 100%; }

	.-is-single-project .cols2-1 { display: block; }
	.cols2-1 .project-details { margin-left: auto; }
	.-is-single-project .cols2-1 .img { margin-top: 30px; }

	/* pages */
	.bloc-content .cols2.has-img { display: block; }
	.bloc-content .cols2.has-img > * { margin-right: 0; }
	.-has-h2 .w-img { margin-top: 0; margin-bottom: 0; }
	.cols2.has-img img { max-width: inherit; width: 100%; height: auto; max-height: 320px; object-fit: cover; }

	/* contact */
	.contact-content { display: block; }
		.contact-content > * { margin-right: 0; }
	.col-info { display: grid; grid-template-columns: repeat(2, 48%); column-gap: 3.8%; }
		.col-info > div:first-child { grid-row-start: span 2; }
		.col-info .text { grid-column-start: 2; }
	.col-form { margin-top: 30px; }
	#gmap { height: 300px; }

	/* foot */
	.foot .cols { display: grid; grid-template-columns: repeat(2, 48%); column-gap: 3.8%; grid-row-gap: 30px; }
	.foot .cols > div { margin-right: 0; }
	.foot .foot-sec a { min-width: 48%; }

	/* scroll */
	.h-1023 { position: relative; margin-left: -30px; margin-right: -30px; padding-left: 0; padding-right: 0; }
		.h-1023:after { content: ''; position: absolute; z-index: 3; right: 0; top: 0; bottom: 0; width: 40px; background: linear-gradient(to left, #fff 45%, rgba(255, 255, 255, 0) 100%);}
		.h-1023 .scroll { z-index: 2; overflow: hidden; display: flex; flex-wrap: nowrap; overflow: auto; -webkit-overflow-scrolling: touch; padding-left: 30px;}
			.h-1023 .scroll:after { content: ''; display: inline-flex; flex: 0 0 1px; height: 1px; overflow: hidden; }
			/*.h-1023 .scroll::-webkit-scrollbar { -webkit-appearance: none; width: 14px; height: 8px;}*/
			/*.h-1023 .scroll::-webkit-scrollbar-thumb { border-radius: 8px; border: none; background-color: rgba(0, 0, 0, .3);}*/
			.h-1023 .scroll > * { flex: 0 0 218px; margin-right: 20px; margin-bottom: 8px;}
		.h-1023 .h-scroll-nav { display: flex; }

	.home .h-1023 .ls-projects li:nth-child(2n) { margin-top: 0; }

	.-is-single-project .h-1023 { margin-left: 0; margin-right: 0; }
		.-is-single-project .h-1023:after { display: none; }
		.-is-single-project .h-1023 .scroll { padding-left: 0;}
			.-is-single-project .h-1023 .scroll:after { display: none; }
			.-is-single-project .h-1023 .scroll > * { flex: 0 0 100vw; margin-top: 0; margin-right: 0;}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.page-template-page-soustraitant .bloc-content { font-size: 14px; }
}
@media screen and (min-width: 640px) and (max-width: 1023px) {
	.bloc-services .txt { font-size: 12px; }
}

@media screen and (max-width: 768px) {
	.main .container, .hero.img-replace .container { min-height: 360px; }
}
/** 640 */
@media screen and (max-width: 767px) {
	.ls-projects h3 { font-size: 16px; }

	.head .nav ul { justify-content: space-between; }

	.page-template-page-soustraitant main .cols2-1 { display: block; }
	.page-template-page-soustraitant .est-form { margin-right: 0; }
	.page-template-page-soustraitant main .section { padding-bottom: 0; }
	.ls-est { margin-top: 60px; }

	/* scroll */
	.h-767, .cols2-1 .ls-est { position: relative; margin-left: -30px; margin-right: -30px; padding-left: 0; padding-right: 0; }
		.h-767:after { content: ''; position: absolute; z-index: 3; right: 0; top: 0; bottom: 0; width: 40px; background: linear-gradient(to left, #fff 45%, rgba(255, 255, 255, 0) 100%);}
		.h-767 .scroll { z-index: 2; overflow: hidden; display: flex; flex-wrap: nowrap; overflow: auto; -webkit-overflow-scrolling: touch; padding-left: 30px;}
			.h-767 .scroll:after { content: ''; display: inline-flex; flex: 0 0 1px; height: 1px; overflow: hidden; }
			/*.h-767 .scroll::-webkit-scrollbar { -webkit-appearance: none; width: 14px; height: 8px;}*/
			/*.h-767 .scroll::-webkit-scrollbar-thumb { border-radius: 8px; border: none; background-color: rgba(0, 0, 0, .3);}*/
			.h-767 .scroll > *, .ls-est li:not(:last-child) { flex: 0 0 211px; margin-right: 20px; margin-bottom: 8px;}
		.h-767 .h-scroll-nav { display: flex; }

	.home-projects .h-767 .scroll { display: flex; justify-content: flex-start; column-gap: 0; }
	.home-project-cat .h-767 .scroll > * { margin-bottom: 35px; }
	.home-project-cat .h-767 .h-scroll-nav { margin-top: -15px; }

	.home-projects .h-767 .cols4 > * { margin-right: 20px; }
	.home .h-767 .ls-projects li:nth-child(2n) { margin-top: 0; }

	.ls-est:after { background: linear-gradient(to left, #f6f6f6 45%, rgba(246, 246, 246, 0) 100%);}
	.ls-est li:not(:last-child) { flex-basis: 180px; }
}

@media screen and (min-width: 640px) and (max-width: 767px) {
	.col-info > :first-child { font-size: 14px; }
}
@media screen and (max-width: 640px) {
	.tbl-wrap { position: relative; margin-left: -30px; margin-right: -30px; }
	.tbl-wrap:after { content: ''; position: absolute; z-index: 3; right: 0; top: 0; bottom: 0; width: 40px; background: linear-gradient(to left, #fff 45%, rgba(255, 255, 255, 0) 100%);}
	.tbl-wrap > .scroll { z-index: 1; overflow: hidden; display: flex; flex-wrap: nowrap; overflow: auto; -webkit-overflow-scrolling: touch; padding-left: 30px;}
		.tbl-wrap .scroll:after { content: ''; display: block; flex: 0 0 30px; height: 1px; overflow: hidden; }
		/*.tbl-wrap::-webkit-scrollbar { -webkit-appearance: none; width: 14px; height: 8px;}*/
		/*.tbl-wrap::-webkit-scrollbar-thumb { border-radius: 8px; border: none; background-color: rgba(0, 0, 0, .3);}*/
		.tbl-wrap table { flex: 0 0 580px; width: 580px; margin-bottom: 8px; }
}
/** 480 */
@media screen and (max-width: 639px) {
	h1, .h1 { font-size: 30px; }
	h2, .h2 { font-size: 28px; }
	.-is-single-project h1, .main .h1 { font-size: 24px; }
	.home-project-cat .ti, .home-project-cat h1, .bloc-services h3 { font-size: 16px; }
	.ls-projects h3, .project-details { font-size: 14px; }
	.head .nav, .hero .intro { font-size: 12px; }

	.section, .home-projects, .box-logo .txt, .home-engagement .txt, .foot { padding-top: 60px; padding-bottom: 60px; }
	.wpcf7-form .cols2 { display: block; }
	.wpcf7-form .cols2 > * { margin-right: 0; }

	/* head */
	.head .logo img { max-width: 175px; height: auto; }
	.head .nav li { margin-right: 0; }

	/* home */
	.home-box-logo .shape { display: none; }

	/* project */
	.project-details dt { flex-basis: 210px; }
	.project-details dd { flex-basis: calc(100% - 210px); }

	/* pages */
	.bloc-org { display: grid; grid-template-columns: repeat(2, 48%); column-gap: 3.8%; }
		.bloc-org > * { margin-right: 0; }

	.section .bloc-services { margin-bottom: 15px; }
	.bloc-services {}
		.bloc-services > div { margin-bottom: 3.8%; min-height: inherit; }
		.bloc-services .txt { padding: 20px; }
		.bloc-services .text { display: none; }

	/* contact */
	.col-info { display: block; }
	.col-form { margin-top: 45px; }

	/* foot */
	.foot .logo img { max-width: 175px; height: auto; }
}

@media screen and (max-width: 480px) {
	.head .nav { font-size: 14px; }

	.home-project-cat, .section.-shape { padding-top: 75px; padding-bottom: 75px; background-size: 150px auto, 150px auto; }
	.main .container, .hero.img-replace .container { min-height: 275px; }

	.head .container { position: relative; display: block; }
	.head { padding-bottom: 0; }
	.head .nav { position: relative; bottom: inherit; margin-left: -30px; margin-right: -30px; overflow: auto; }
		.head .nav ul { flex-wrap: wrap; justify-content: flex-start; }
		.head .nav li { flex: 1 0 auto; padding: 7px 10px 6px; text-align: center; border-top: 1px solid #ddd; border-right: 1px solid #ddd; }
		.head .nav li:last-child { border-right: none; }
		.head .nav li a { white-space: nowrap; }
}
@media screen and (min-width: 414px) and (max-width: 639px) {
	.foot { font-size: 12px; }
}
/** 320 */
@media screen and (max-width: 479px) {
	h1, .h1 { font-size: 28px; }
	h2, .h2 { font-size: 24px; }
	.-is-single-project h1, .main .h1 { font-size: 22px; }
	.bloc-services h3 { font-size: 14px; }
	.ls-projects h3 { font-size: 13px; }

	/* head */
	.head .logo img { max-width: 150px; }
	.head .nav-sec { right: 20px; }

	.head .nav li { padding-left: 15px; padding-right: 15px; }
	.head .nav li:nth-child(4) { flex: 1 1 50%; box-sizing: border-box; }
	.head .nav li:nth-child(5) { flex: 1 1 50%; box-sizing: border-box; }

	.head .nav-sec li { margin-left: 15px; }
	.head .nav-sec .bt-partner { padding-left: 8px; padding-right: 8px; font-size: 11px; }

	/* home */
	.main .h1 { margin-bottom: 15px; }
	.home-project-cat .ti strong { display: inline; font-size: 115%; }

	/* pages */
	.bloc-org a { padding-left: 15px; padding-right: 15px; }

	/* project */
	.ls-projects h3 { display: -webkit-box; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
	.projects-cats ul { display: block; }
	.projects-cats li { margin-bottom: 10px; margin-right: 0; }
	.projects-cats a { min-width: 150px; }
	.project-details { display: block; }
		.project-details dt { margin-bottom: 3px; }
		.project-details dd { margin-bottom: 15px; }

	/* contact */
	#gmap { height: 250px; }

	/* foot */
	.foot .logo img { max-width: 165px; }
	.foot .cols { column-gap: 15px; }

	#colorbox #cboxContent { margin-left: 0; margin-right: 0; }
	#colorbox #cboxPrevious, #colorbox #cboxNext { display: none; }
	#colorbox #cboxClose { top: -30px; right: 0; }
	#colorbox #cboxCurrent { right: 40px; font-size: 12px; }
}
@media screen and (max-width: 413px) {
	h3 { font-size: 20px; }
	body { font-size: 14px; }
	.bloc-services h3 { font-size: 13px; }
	.head .nav-sec { font-size: 11px; }

	/* head */
	.head { padding-top: 20px; }
		.head .container::after { top: 30px; }
		.head .logo img { max-width: 120px; }
		.head .nav-sec { top: -1px; }
		.head .nav-sec .bt-partner { padding-left: 5px; padding-right: 5px; }

	/* foot */
	.foot .cols { grid-template-columns: 100%; }
	.foot .foot-sec { text-align: left }

	/* padding */
	.out, .h-1023, .h-767, .tbl-wrap, .cols2-1 .ls-est, .head .nav { width: auto; margin-left: -20px; margin-right: -20px; }
	.container, .head .container, .foot .container { width: 100%; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
	.container .container { padding-left: 0; padding-right: 0; }
	.out .container, .h-1023 .scroll, .h-767 .scroll { padding-left: 20px; padding-right: 20px; }
	.h-1023 .scroll:after, .h-767 .scroll:after { flex-basis: 1px; }
	.bt-nav-mobile { left: 20px; }
	.home-engagement .txt { padding-left: 20px; padding-right: 20px; }
	.home-engagement .dons .txt { padding-left: 20px; }
	.-is-single-project .h-1023 .scroll { padding-right: 0; }

	.tbl-wrap > .scroll { padding-left: 20px;}
	.tbl-wrap .scroll:after { flex-basis: 20px; }
}
@media screen and (max-width: 374px) {
	.head .nav, .ls-projects h3, .bloc-services h3 { font-size: 12px; }
	.ls-projects .city { font-size: 10px; }

	.main .container { padding-top: 30px; padding-bottom: 30px; }
	.main .container, .hero.img-replace .container { min-height: 200px; }

	/* head */
	.head .logo img { max-width: 100px; }

	/* pages */
	.bloc-services .txt { padding-left: 20px; padding-right: 20px; }
}

/** clear */
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; overflow: hidden;}

/* https://ganlanyuan.github.io/tiny-slider/ */
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}
