/*
Theme Name: impotax
Author: impotax
Author URI: http://impotax.org/
Version: 1
Text Domain: tax
*/

/**
* main style sheet
* @author		charroma@gmail.com
* @creationDate 2020-03-27
* @editDate		2020-03-27
*/

/** 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;}

/** migth as well since inherit doesn't work for IE7 and below */
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 }
details summary { cursor: pointer; list-style-type: none; }
details > summary::-webkit-details-marker { display: none; }

html {
	font-size      : 0.625em;
	--content-w    : 960px;
	--main-pad     : 30px;
	--main-pad     : max(30px, env(safe-area-inset-left));
	--main-pad--   : calc(var(--main-pad) * -1);

	--c-bg         : #fff;
	--c-txt        : #000;

	--c-border     : #ddd;
	--c-border-l   : #999;
	--maxw         : 708px;

	--input-h      : 4rem;

	--c-msg        : #857755;
	--c-msg-l      : #dbc9a2;
	--c-msg-ll     : #ffedc5;
	--c-success    : #3c763d;
	--c-success-l  : #c6d9b6;
	--c-success-ll : #e1f1d3;
	--c-error      : #a94442;
	--c-error-l    : #d4adb1;
	--c-error-ll   : #fad5d8;

	--c-text       : #666;
	--c-text-l     : #999;
	--c-main       : #ff7839;
	--c-main-rgb   : 255, 120, 57;
	--c-alt        : #2c2c2c;
	--c-head       : #3c393a;
	--c-gray-l     : #f2f2f2;
}

body { background: var(--c-bg); line-height: 1.5; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: left; -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: 1.6rem; color: #666; }


/** links */
a { color: var(--c-main); text-decoration: none;}
a:where(:hover, :active, :focus) { color: var(--c-txt); }
.disabled, button[disabled="disabled"] { cursor: default; }

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on March 27, 2020 */
@font-face {
	font-family: 'roboto';
	src: url('css/fonts/roboto-bold.woff2') format('woff2'),
		 url('css/fonts/roboto-bold.woff') format('woff');
	font-weight: bold; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'roboto';
	src: url('css/fonts/roboto-regular.woff2') format('woff2'),
		 url('css/fonts/roboto-regular.woff') format('woff');
	font-weight: normal; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'roboto_condensed';
	src: url('css/fonts/robotocondensed-bold.woff2') format('woff2'),
		 url('css/fonts/robotocondensed-bold.woff') format('woff');
	font-weight: bold; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'roboto_condensed';
	src: url('css/fonts/robotocondensed-regular.woff2') format('woff2'),
		 url('css/fonts/robotocondensed-regular.woff') format('woff');
	font-weight: normal; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'roboto_slab';
	src: url('css/fonts/robotoslab-bold.woff2') format('woff2'),
		 url('css/fonts/robotoslab-bold.woff') format('woff');
	font-weight: bold; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'roboto_slab';
	src: url('css/fonts/robotoslab-regular.woff2') format('woff2'),
		 url('css/fonts/robotoslab-regular.woff') format('woff');
	font-weight: normal; font-style: normal; font-display: swap; ascent-override: 100%;
}

/*!
 * 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:'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;
}

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

.bt, button, input[type=submit], .ls-docs a, .ls-conseils .more, .ls-pag, .ls-results .docs, .hero .intro,
blockquote, .td-price { font-family: 'roboto_condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

h1, h2, h3, h4, .head, table thead, .side-conseils, .ls-results .type, .main .cols2 strong, summary,
.content .bloc-addr a { font-family: 'roboto_slab', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

.bt-search::before, .icn-search::before, .head :is(.has-sm, .menu-item-has-children) > a::after, .single-conseil ul li::before,
details summary::after,
.select::after, .pop-close::before { font-family: 'FontAwesomeSolid', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

/* **************************** */
/** transitions */
.head a, .foot a, .ls-docs a, .ls-conseils a, .ls-pag a, .side a,
button, .bt, input[type=submit] { 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% { top: -100px;}
	100% { top: 0;}
}
@keyframes slideOut {
	to { opacity: 0; top: -100px;}
}
@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; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.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 { 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: var(--maxw); }
.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: 0.5rem;}
.space { margin-bottom: 1rem;}
.spaced { margin-bottom: 1.5rem;}
.space-big { margin-bottom: 3rem;}
.space-bigger { margin-bottom: 4.5rem;}
.space-biggest { margin-bottom: 6rem;}
.space-top { margin-top: 1.5rem;}
.space-top-big { margin-top: 3rem;}

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

#tip { display: none; position: absolute; max-width: 300px; padding: 4px 10px; font-size: 11px; line-height: 1; background: #222; color: var(--c-bg); 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: var(--c-bg); 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: 2rem;}
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: var(--input-h); padding: 0 10px 0; background: var(--c-gray-l); border: 1px solid var(--c-border); outline: none; box-sizing: border-box; border-radius: 5px;}

/*select { padding: 0 10px; background: var(--c-gray-l); border-radius: 0; appearance: none; -webkit-appearance: none; appearance: none; }
.select { display: block; position: relative; overflow: hidden; padding: 0; background-color: var(--c-gray-l); border: 1px solid var(--c-border); text-align: left; box-sizing: border-box; }
.select::after { position: absolute; top: 50%; right: 10px; z-index: 1; content: '↓'; display: block; transform: translateY(-50%); font-size: 1rem; }
.select select { position: relative; z-index: 2; width: calc(100% + 35px); max-width: none; height: calc(var(--input-h) - 2px); padding-right: 55px; background-color: transparent; border: none; }
.select select::-ms-expand { display: none; }
.select select:-moz-focusring { color: transparent; text-shadow: 0 0 0 var(--c-txt); }*/

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: var(--c-border-l);}

textarea { height: 15rem; padding-block: 1rem; overflow: auto; vertical-align: top; -webkit-appearance: none;}
textarea.sml { height: 5rem;}
select { max-width: 250px;}
input[type=file] { font-size: 1.2rem;}
input[type=text], input[type=email], input[type=submit] { -webkit-appearance: none; -moz-appearance: none; }

input.sml { width: 60px;}
input.med { width: 125px;}
button.disabled, button.disabled:is(:hover, :focus) { background-color: #ddd; color: #666; }

::placeholder { }
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px var(--c-gray-l) inset; }

.i-info { color: var(--c-text-l); font-size: 1.1rem; line-height: 1; font-style: italic;}

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

.i-multi .wpcf7-form-control { display: flex; flex-wrap: wrap; }
.i-multi .wpcf7-list-item { margin-right: 30px; }
.i-multi .wpcf7-list-item label { display: flex; }
.i-multi .wpcf7-list-item input { margin-top: 2px; }
.i-multi .wpcf7-list-item-label { flex: 1 1 auto; margin-left: 5px; }

.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;}

.submit { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 15px; }
form .submit { margin: 3rem 0 0; }

button, input[type=submit] { display: inline; background: none; cursor: pointer;}
	button, .bt, input[type=submit], html :is(.tnp-subscription, .tnp-profile, .tnp-unsubscribe, .tnp-reactivate) :is(button, input).tnp-submit { display: inline-block; padding: 1.2rem 30px; background: var(--c-main); border: none; color: var(--c-bg); border-radius: 5px; font-size: 1.6rem; font-weight: bold; text-transform: uppercase; white-space: nowrap; text-align: center; overflow: hidden; text-overflow: ellipsis; border-bottom: 2px solid hsla(19.1, 100.0%, 41.2%, 1.0);}
	input[type=submit]:hover, input[type=submit]:focus,
	button:hover, button:focus,
	html :is(.tnp-subscription, .tnp-profile, .tnp-unsubscribe, .tnp-reactivate) :is(button, input).tnp-submit:is(:hover, :focus),
	.bt:hover, .bt:focus { background: var(--c-alt); color: var(--c-bg); outline: none; border-bottom-color: var(--c-txt);}

.bt.alt { background-color: var(--c-border); color: #232323; border-bottom-color: hsla(0.0, 0.0%, 66.7%, 1.0); }
.bt.alt:hover, .bt.alt:focus { background-color: var(--c-alt); color: var(--c-bg); border-bottom-color: var(--c-txt); }

.bt.sml { padding: 0.7rem 15px; font-size: 1.2rem;}
.bt.med { padding: 1rem 25px; font-size: 1.4rem;}

.msgbox, .wpcf7-response-output { position: relative; margin-bottom: 1.5rem; padding: 1.5rem var(--main-pad); line-height: 1.4; background-color: var(--c-msg-ll); border: 1px solid var(--c-msg-l); border-radius: 5px; color: var(--c-msg); }
	.msgbox :is(p, ul) { margin-bottom: 1.5rem; }
	.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: 1.5rem; }

.msgbox.-success, .sent .wpcf7-response-output { background: var(--c-success-ll); border-color: var(--c-success-l); color: var(--c-success); }
.msgbox.-success a { color: var(--c-success); text-decoration: underline; }
.msgbox.-success a:is(:hover, :focus) { color: var(--c-txt); }

.msgbox.-errors, .browsehappy,
:is(.invalid, .aborted, .failed, .spam) .wpcf7-response-output { background: var(--c-error-ll); border-color: var(--c-error-l); color: var(--c-error); }
.msgbox.-errors a { color: var(--c-error); text-decoration: underline; }
.msgbox.-errors a:is(:hover, :focus) { color: var(--c-txt); }

:is(input, .select, textarea).wpcf7-not-valid, .woocommerce-invalid input,
:is(input, textarea)[aria-invalid=true] { border-color: var(--c-error); }
.wpcf7-not-valid-tip, .wpcf7-valid-tip { display: block; margin-top: 0.5rem; font-size: 1.2rem; color: var(--c-error); }
.wpcf7-valid-tip { color: var(--c-success); }
.woocommerce-invalid label, .coupon-error-notice { color: var(--c-error); }

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

/* **************************** */
/** header */
.head { padding: 0 0 2.5rem; border-bottom: 5px solid var(--c-main); }
	.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: 1.2rem; background-color: var(--c-txt); color: var(--c-bg); }

	.head > .container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 0; }
	.head .logo { flex: 0 0 auto; order: 2; }
		.head .logo a { color: var(--c-bg); }
		.head .logo a:hover, .head .logo a:focus { opacity: 0.75; }
		.home .head .logo a:hover, .home .head .logo a:focus { opacity: 1; cursor: default; }

	.head .nav { flex: 0 0 auto; order: 3; display: flex; gap: 0 25px; }
		.head .nav > ul { flex: 0 1 auto; }
		.head .nav > ul + ul { flex: 0 0 16px; }
		.head .nav ul { display: flex; gap: 0 25px; }
		.head .nav li { position: relative; }
		.head .nav li:last-of-type { margin-right: 0; }
		.head .nav a { color: var(--c-bg); }
		.head .nav a:hover, .head .nav a:focus, .head .nav .active, .nav :is(.current-menu-item, .current-menu-parent, .current-page-ancestor) > a { color: var(--c-main); }
		.head .nav .selected { color: var(--c-main); }

	.bt-search::before, .icn-search::before { content: '\f002'; }
	.box-search { position: absolute; z-index: 3; top: 4rem; right: 0; padding: 15px; background-color: var(--c-bg); border-radius: 5px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); }
		.box-search form { margin-bottom: 0; }

	.head-addr { flex: 0 0 auto; order: 1; margin-bottom: 1.5rem; padding: 1rem 0; background-color: rgba(0, 0, 0, 0.2); text-transform: uppercase; font-size: 1.1rem; }
		.head-addr .container { display: flex; justify-content: space-between; flex-wrap: wrap; }
		.head-addr a { color: var(--c-main); }
		.head-addr a:hover, .head-addr a:focus { color: var(--c-bg); }
		.head-addr a + a { margin-left: 12px; }
		.head-addr p { display: flex; align-items: center; }
		.head-addr [hreflang] { position: relative; display: inline-block; padding: 0.2rem 7px; background-color: var(--c-bg); color: var(--c-txt); font-weight: bold; border-radius: 5px; }
		.head-addr [hreflang]:is(:hover, :focus) { background-color: var(--c-main); color: var(--c-bg); }

	.head .has-sm, .head .menu-item-has-children { position: relative; }
		.head :is(.has-sm, .menu-item-has-children) > a::after { content: '\f107'; position: relative; top: 2px; margin-left: 5px; }
		.head :is(.has-sm, .menu-item-has-children) ul { display: none; position: absolute; top: 30px; left: 0; min-width: 100px; padding: 15px; background-color: var(--c-bg); font-size: 1.4rem; border-radius: 5px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); }
		.head :is(.has-sm, .menu-item-has-children):last-child ul { left: inherit; right: 0; }
		.head :is(.has-sm, .menu-item-has-children) li { margin: 0 0 5px; }
		.head :is(.has-sm, .menu-item-has-children) li:last-of-type { margin-bottom: 0; }
		.head :is(.has-sm, .menu-item-has-children) ul a { display: block; color: var(--c-main); white-space: nowrap; }
		.head :is(.has-sm, .menu-item-has-children) ul a:is(:hover, :focus), .head .has-sm .selected, .head .menu-item-has-children .current-menu-item > a { color: var(--c-alt); }
		.head .has-sm ul .selected, .head .menu-item-has-children ul .current-menu-item > a { cursor: default; }

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

/* **************************** */
/** content */
#wrapper { }
.content { margin-bottom: -1px; padding: 0 0 1px 0; background-color: var(--c-bg); color: var(--c-text);}
.container { position: relative; width: var(--content-w); margin: 0 auto; text-align: left;}
	h1, .h1 { margin-bottom: 2rem; font-size: 3.6rem; line-height: 1.16; color: var(--c-alt); text-wrap: balance; }
	h2, .h2 { margin-bottom: 2rem; font-size: 3.2rem; line-height: 1.16; color: var(--c-alt); text-wrap: balance; }
	h3 { margin-bottom: 1.5rem; font-size: 2.4rem; line-height: 1.16; color: var(--c-alt); }
	h4 { margin-bottom: 0.7rem; font-size: 1.8rem; line-height: 1.16; color: var(--c-alt); }

.text { margin-bottom: 3rem; line-height: 1.4; }
.text.-big { font-size: 1.8rem; }
	.text :where(p, ul, ol, dl) { margin-bottom: 1.5rem; margin-bottom: 1lh; }
	.text ul { list-style-type: disc; margin-left: 20px; }
	.text ul ul { margin-bottom: 0; margin-top: 5px; list-style-type: circle; }
	.text ol { list-style-type: decimal-leading-zero; margin-left: 30px; }
	.-max, .lost_reset_password { max-width: var(--maxw); }

	.text :is(p, ol, ul, dl, iframe, table, .msgbox, details, .box, blockquote) + h2 { margin-top: 6rem; }
	.text :is(p, ol, ul, dl, iframe, table, .msgbox, details, .box, blockquote) + h3 { margin-top: 4.5rem; }

	.text :is(ol, ul) li + li { margin-top: 0.5rem; }
	.text :is(ol, ul) li > :last-child { margin-bottom: 0; }
	.text ul ol { margin-top: 0.5rem; }
	.text :is(ol, ul) li p + :is(ol, ul) { margin-top: -0.5rem; }

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

/*.out { width: 100vw; transform: translateX( calc( -1 * (100vw - var(--content-w))/2 ) ); }*/
.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%; }

.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem max(var(--main-pad), 3.8%); justify-content: start; align-items: start; }
.cols1-2 { grid-template-columns: minmax(0, 1fr) 65.4%; }
.cols2-1 { grid-template-columns: 65.4% minmax(0, 1fr); }
.cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

:is(.cols2, .cols3, .cols4):has(.-span2, .-span3, .-span4) { grid-auto-flow: dense; }
:is(.cols2, .cols3, .cols4) .-span2 { grid-column: span 2; }
:is(.cols2, .cols3, .cols4) .-span3 { grid-column: span 3; }
:is(.cols2, .cols3, .cols4) .-span4 { grid-column: span 4; }

:where(.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set).-reverse { grid-auto-flow: dense; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(1) { grid-column: 2; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(2) { grid-column: 1; }

:where(.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set).-v-center { align-items: center; }

.w-img, .alignnone, .aligncenter, .alignleft, .alignright, .wp-block-image { margin-bottom: 1.5rem; }
.alignnone, .aligncenter { max-width: 100%; height: auto; }
.aligncenter { display: block; margin-inline: auto; }
.alignleft, .alignright { max-width: 48%; height: auto; margin-top: 0.5rem; }
.alignleft { float: left; margin-right: 3.8%; }
.alignright { float: right; margin-left: 3.8%; }
	:is(.w-img, .wp-block-image) img { display: block; max-width: 100%; height: auto; }
	.w-img .desc, .wp-block-image figcaption { margin-top: 1rem; font-size: 1.2rem; color: var(--c-text-l); text-align: left; }
	.w-img .desc p:last-of-type { margin-bottom: 0; }

picture :is(.alignnone, .alignleft, .alignright) { border-radius: 5px; }
picture .alignnone { margin-left: var(--main-pad--); }

.section, .side { padding: 60px 0; }
	.section > :last-child, .side > :last-child { margin-bottom: 0; }
	.section h2 { margin-bottom: 30px; }

.side { position: sticky; top: -60px; }

.section-alt { background-color: var(--c-main); color: rgba(255, 255, 255, 0.8); }
	.section-alt .shaped::before, .section-alt .shaped::after { border-bottom-color: var(--c-main); }

.ls-big { font-size: 1.8rem; }

.ls-docs { line-height: 1.1; }
.cols2-1 .ls-docs { font-size: 1.4rem; }
	.ls-docs li { margin-bottom: 1.5rem; }
	.ls-docs li:last-of-type { margin-bottom: 0; }
	.ls-docs span { display: inline-flex; flex-wrap: wrap; font-size: 1.2rem; }
	.ls-docs strong { margin-right: 3px; color: var(--c-alt); }

.note { font-size: 1.4rem; color: var(--c-text-l); font-style: italic; }

.shaped { position: relative; }
	.shaped img { position: relative; z-index: 1; display: block; }
	.shaped::before, .shaped::after { content: ""; position: absolute; z-index: 2; bottom: 0; left: 0; width: 0; height: 0; border-bottom: 65px solid var(--c-bg); border-right: 295px solid transparent; }
	.shaped::after { left: auto; right: 0; border-right: 0; border-left: 295px solid transparent;}

/* bgs */
body, .head, .foot { background: var(--c-head); color: rgba(255, 255, 255, 0.8); }

.hero { padding: 3rem 0; background-color: var(--c-gray-l); }
	.hero .container > :last-child { margin-bottom: 0; }
	.hero h1 { margin-bottom: 0; }
	.hero h4 { margin-bottom: 0; text-transform: uppercase; font-size: 12px; }
	.hero h4 a { color: var(--c-text); }
	.hero h4 a:hover, .hero h4 a:focus { color: var(--c-main); }
	.hero .intro {}

.doc-perso { padding: var(--main-pad); background-color: var(--c-gray-l); border: 1px solid var(--c-border); border-radius: 5px; }
	.doc-perso h4 { margin-bottom: 3rem; }
	.doc-perso .img { display: flex; justify-content: center; align-items: center; width: 80px; height: 80px; margin: -70px auto 15px; background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 50%; }

.doc-perso.gouv { background-color: var(--c-main); color: var(--c-bg); }
.doc-perso + .doc-perso { margin-top: 7.5rem; }

.box { margin-bottom: 3rem; padding: 15px; background-color: rgba(var(--c-main-rgb), 0.1); border: 1px solid rgba(var(--c-main-rgb), 0.3); border-radius: 5px; font-size: 1.4rem; }
.box.-alt { background-color: var(--c-gray-l); border-color: var(--c-text-l); }
	.box > :last-child { margin-bottom: 0; }

hr { margin-bottom: 1lh; border: none; border-top: 1px solid var(--c-text-l); }

table { width: 100%; margin-bottom: 1.5rem; border: 1px solid rgba(var(--c-main-rgb), 0.3); font-size: 1.4rem; background-color: var(--c-bg); }
	table tr:nth-child(odd) { background-color: rgba(var(--c-main-rgb), 0.1); }
	table th, table td { padding: 8px 10px; line-height: 1.2; }
	table thead { background-color: var(--c-main); color: var(--c-txt); font-weight: bold; }
	.td-price { text-align: right; font-size: 1.6rem; font-weight: bold; color: var(--c-alt); }

blockquote { margin: 1.5rem 0; padding: 1rem 0 1rem var(--main-pad); border-left: 2px solid var(--c-main); text-transform: uppercase; line-height: 1.2; font-size: 1.4rem; }
	blockquote > :last-child { margin-bottom: 0; }

.all { margin-top: 3rem; }

.ls-pag { margin: 4rem 0 0; }
	.ls-pag ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
	.ls-pag .pages { margin: 0 2px; padding: 0.5rem 12px; border: 1px solid var(--c-main); border-radius: 5px; }
	.ls-pag .pages:hover, .ls-pag .pages:focus { background: var(--c-alt); color: var(--c-bg); border-color: var(--c-txt); }
	.ls-pag .selected, .ls-pag .selected:hover, .ls-pag .selected:focus { background-color: var(--c-bg); border-color: var(--c-border); color: var(--c-text); cursor: default; }
	.ls-pag a { margin-block: 0.5rem; vertical-align: middle; }
	.ls-pag .prev { margin-right: 15px; }
	.ls-pag .next { margin-left: 15px; }

details { padding: 0 15px; border: 1px solid rgba(var(--c-main-rgb), 0.5); border-radius: 5px; }
	details summary { position: relative; padding: 0.5rem 15px 0.5rem 0; color: var(--c-alt); font-weight: bold; }
	details summary::after { content: '\f107'; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
	details[open] summary::after { transform: translateY(-50%) rotate(180deg); }
	details[open] { padding-bottom: 15px; }
	details summary + * { margin-top: 1.5rem; }
	details > :last-child { margin-bottom: 0; }
details + details { margin-top: 0.5rem; }

.faq { padding: 0 15px; }
	.faq summary { padding-block: 1rem; }
	.faq summary h3 { margin-bottom: 0; font-size: 1.8rem; font-weight: inherit; }

/** home */
.main { position: relative; padding: 10rem 0; background-color: var(--c-txt); color: var(--c-bg); }
	/*.main::before { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; background: url(img/dots.png) 50% 50% repeat; opacity: 0.5; }*/
	.main::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; background: var(--c-txt); opacity: 0.5; }
	.main .container { z-index: 3; }
	.main :is(h1, h4) { color: currentColor; }
	.main h1 { margin-bottom: 0.5rem; }
	.main h4 { margin-bottom: 0; }
	.main .to-fill { z-index: 1; }
	.main .cols2 { row-gap: 1.5rem; margin-top: 3rem; }
		.main .cols2 p { margin: 0; }
		.main .cols2 strong { display: inline-block; padding-inline: 5px; background-color: var(--c-main); color: var(--c-bg); text-transform: uppercase; font-size: 0.875em; }
	.main .submit { margin-top: 3rem; }

.home-service * + h2 { margin-top: 4.5rem; }

.bloc-services {}
	.bloc-services > div { display: flex; margin-bottom: 4.5rem; }
	.bloc-services > div:last-of-type { margin-bottom: 0; }
	.bloc-services .img { flex: 0 0 150px; margin-top: 0.5rem; }
	.bloc-services img { display: block; margin: 0 auto; }
	.bloc-services .txt { flex: 0 1 auto; }

.ti-widget { margin-top: 3rem; }

.doc-gouv {}
	.doc-gouv a, .doc-perso.gouv a { color: var(--c-bg); }
	.doc-gouv a:hover, .doc-gouv a:focus, .doc-perso.gouv a:hover, .doc-perso.gouv a:focus { color: hsla(19.1, 100.0%, 91.2%, 1.0); }
	.doc-gouv h3 { margin-bottom: 3rem; }
	.doc-gouv .shaped { margin-top: 0.8rem; overflow: hidden; }
	/*.doc-gouv .shaped img { filter: blur(1px); }*/

/** conseils */
.bloc-conseils {}

.ls-conseils { margin-bottom: -3rem; }
	.ls-conseils h3 { margin-bottom: 0.7rem; font-size: 1.8rem; }
	.ls-conseils h3 a { color: var(--c-alt); }
	.ls-conseils h3 a:hover, .ls-conseils h3 a:focus { color: var(--c-main); }
	.ls-conseils .more { font-size: 1.2rem; white-space: nowrap; }
	.ls-conseils .more::after { content: '\00a0→'; }

.side-conseils { margin-bottom: 1.5rem; line-height: 1.1; }
	.side-conseils li { margin-top: 1.2rem; }

.single-conseil {}
	/*.single-conseil ul { margin-left: 15px; font-size: 1.4rem; }*/
	/*.single-conseil ul li::before { content: '\f105'; position: absolute; top: 0; left: 0; color: var(--c-main); }*/

/** about */
.content .bloc-addr {}
	.content .bloc-addr p + p { margin-top: 1rem; }
	.content .bloc-addr a { color: var(--c-alt); font-size: 1.6rem; }
	.content .bloc-addr a:hover, .content .bloc-addr a:focus { color: var(--c-main); }

.frm-calculator { max-width:520px; padding: 20px; font-size: 1.6rem; border: 1px solid var(--c-main); border-radius: 5px; }
	.frm-calculator .i-info { font-size: 1.2rem; }
	.frm-calculator .total { margin-top: 3rem; text-transform: uppercase; }
	.frm-calculator strong { color: var(--c-main); }
	.frm-calculator .total em { text-transform: none; color: var(--c-text-l); }

/** contact */
#gmap { height: 30rem; }
.codedropz-upload-inner h3 { font-size: 1.8rem; }
html .igd-file-uploader { max-width: inherit; }
.igd-file-uploader {
	--color-primary: var(--c-main);
	--color-primary-light: rgba(var(--c-main-rgb), 0.5);
	--color-primary-lighter: rgba(var(--c-main-rgb), 0.1);
	--color-primary-light-alt: var(--c-alt);
}
html .igd-module-uploader.igd-form-uploader { margin-top: 0!important; }
html .igd-file-uploader .igd-file-uploader-buttons button { font-weight: bold; border-bottom: 2px solid hsla(19.1, 100.0%, 41.2%, 1.0); }
html .igd-file-uploader .igd-file-uploader-buttons button:is(:hover) { border-bottom-color: var(--c-txt); }

html .ti-widget.ti-goog .ti-widget-container { margin-bottom: 0;}
html .ti-widget.ti-goog .ti-reviews-container-wrapper { margin: 0!important; }
html .ti-widget.ti-goog .ti-review-item > .ti-inner { padding-block: 15px!important; }
html .ti-widget.ti-goog .ti-col-1 .ti-footer { margin-bottom: 1rem; }
html .ti-widget.ti-goog .ti-rating-text  { display: none; }
html .ti-widget.ti-goog .ti-rating-text strong.ti-rating { margin-bottom: 0; font-size: 16px!important; }
html .ti-widget.ti-goog .star-lg .ti-star { width: 18px!important; height: 18px!important; }
html .ti-widget.ti-goog .ti-rating-text { font-size: 1.1rem; line-height: 1.2; }
html .ti-widget.ti-goog .ti-rating-text .nowrap { margin-bottom: 0; }
html .ti-widget.ti-goog .ti-rating-text span { font-size: 1.1rem; }
html .ti-widget.ti-goog .ti-rating-text strong:not(.ti-rating-large) { font-size: 1.1rem; }
html .ti-widget.ti-goog .ti-large-logo { margin-top: 0; }
html .ti-widget.ti-goog .ti-large-logo img { max-width: 80px!important; height: auto!important; }
html .ti-widget.ti-goog .ti-review-item { padding: 0; }
html .ti-widget.ti-goog .ti-verified-by-row { display: none; }
html .ti-widget.ti-goog .ti-review-content { display: none; font-size: 1.4rem; }
html .ti-widget.ti-goog .ti-read-more { display: none; }
html .ti-widget.ti-goog .ti-controls { top: 50%; transform: translateY(-50%); }
html .ti-widget.ti-goog .ti-controls .ti-next { top: 50%; right: 0; transform: translateX(50%); }
html .ti-widget.ti-goog .ti-controls .ti-prev { top: 50%; left: 0; transform: translateX(-50%) }

/** search */
p + .frm-search { margin-top: 1.5rem; }
.frm-search { display: flex; align-items: center; margin-bottom: 4.5rem; }
	.frm-search input { flex: 1 1 auto; }
	.frm-search .bt { flex: 0 0 auto; height: var(--input-h); margin-left: 5px; padding: 0 15px; line-height: 1; }

.ls-results {}
	.ls-results li { margin-bottom: 3rem; }
	.ls-results li:last-of-type { margin-bottom: 0; }
	.ls-results .type { margin: -5px 0 5px; text-transform: uppercase; font-size: 1.2rem; color: #999; }
	.ls-results .docs { font-size: 1.4rem; }
	.ls-results .docs > span { display: flex; flex-wrap: wrap; }

/* **************************** */
/** footer */

.reserve { font-size: 1.4rem; }
.reserve p { display: inline-block; padding: 1rem 10px 1rem 0; border-top: 2px solid var(--c-main); }

.foot { clear: both; padding: 3rem 0; font-size: 1.4rem; line-height: 1.3; border-top: 3px solid var(--c-main); }
	.foot h4 { color: var(--c-bg); }
	.foot a { color: var(--c-bg); }
	.foot a:hover, .foot a:focus { color: var(--c-main); }

	.bloc-addr {}
		.bloc-addr h4 { font-size: 2.2rem; }

	.bloc-menu { flex: 0 0 auto;}

	.follow { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 1.5rem; }
	.follow a { display: block; width: 32px; height: 32px; }
	.follow svg { width: 100%; height: auto; }

	.foot nav { line-height: 1.5; }
		.foot nav a { color: rgba(255, 255, 255, 0.8); }
		.foot nav ul { display: flex; flex-wrap: wrap; }
		.foot nav li { margin-right: 25px; }
		.foot nav li:last-of-type { margin-right: 0; }

	.copy { margin-top: 3rem; font-size: 1.1rem; }

/* **************************** */
/** responsive */
/** 768 */
@media screen and (max-width: 1023px) {
	h1, .h1 { font-size: 3.2rem; }
	h2, .h2 { font-size: 2.8rem; }
	h3 { font-size: 2rem;}

	html { --content-w: 1vw; }
	.container, :is(.head, .foot) .container { width: 100%; padding-left: var(--main-pad); padding-right: var(--main-pad); box-sizing: border-box; }
	.container .container { padding-left: 0; padding-right: 0; }
	.out { width: auto; margin-left: var(--main-pad--); margin-right: var(--main-pad--); }
	.out .container { padding-left: var(--main-pad); padding-right: var(--main-pad); }

	/* head */
	.head .logo { flex-basis: 100%; margin-bottom: 1.5rem; }
	.head .nav { flex-basis: 100%; }
	.head .nav ul { column-gap: 20px; }
	.head .nav li {}

	.main { padding-block: 6rem; }

	.doc-gouv .cols2 { grid-template-columns: 1fr; }
	.doc-gouv .shaped { display: none; }

	picture .alignnone { margin-left: 0; }

	/* foot */
	.foot .container > .cols2 { grid-template-columns: 1fr; }
	.foot .bloc-addr { max-width: 480px; }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.home-service .bloc-services h3 { font-size: 2rem; }
	.doc-perso h4 { font-size: 1.5rem; }
	.home-service .bloc-services, .ls-conseils, .hero + .cols2-1 > .section, .side-conseils { font-size: 1.4rem; }

	.side .box, .side .doc-perso, .contact-content .cols1-2 .box { padding: 20px; }
}
@media screen and (max-width: 810px) {
	.text.-big { font-size: inherit; }
}
/** 640 */
@media screen and (max-width: 767px) {
	h1, .h1 { font-size: 2.8rem; }
	h2, .h2 { font-size: 2.4rem; }
	h3 { font-size: 2rem;}
	.ls-big, .frm-calculator { font-size: 1em; }

	.head-addr {}
		.head-addr .container { justify-content: flex-end; }
		.head-addr p:first-of-type { display: none; }

	.head { position: relative; }
	.head .logo { flex-basis: auto margin-left: 47px; margin-bottom: 0; }
		.head .logo img { max-width: 125px; height: auto; }
	.head .nav { display: none; }

	.hero + .cols2-1, .home-service, .ls-conseils, .contact-content .cols1-2 { grid-template-columns: 1fr; }
	.home-service .bloc-services { margin-bottom: 7.5rem; }

	.main .cols2 { grid-template-columns: 1fr; }
	.alignright, .alignleft, .bloc-content .has-img img { float: none; display: block; max-width: 100%; height: auto; }
	.alignleft { margin-right: 0; }
	.alignright { margin-left: 0; }

	.ls-conseils { margin-bottom: 0; }

	.side { top: 0; padding-top: 0; font-size: inherit; }
		.side .doc-perso { margin-top: 1.5rem; }

	.single-conseil .all { display: none; }

	.contact-content .wpcf7 { margin-top: 6rem; }

	.bt-nav-mobile { display: block; position: absolute; z-index: 100; bottom: 25px; right: var(--main-pad); width: 32px; height: 27px; }
		.bt-nav-mobile span, .bt-nav-mobile span::before, .bt-nav-mobile span::after { transition-duration: 0.5s; position: absolute; left: 0; height: 3px; width: 32px; background-color: var(--c-main);}
		.bt-nav-mobile span { top: 12px;}
		.bt-nav-mobile span::before { content: ""; top: -12px; left: 0;}
		.bt-nav-mobile span::after { content: ""; top: 12px; left: 0;}
		.bt-nav-mobile.open span { transition-duration: 0.5s; background: transparent;}
		.bt-nav-mobile.open span::before { background-color: var(--c-bg); transform: rotateZ(45deg) translate(8px, 9px);}
		.bt-nav-mobile.open span::after { background-color: var(--c-bg); transform: rotateZ(-45deg) translate(8px, -9px); }

	#mobile-overlay { display: none; position: absolute; top: 123px; right: 0; left: 0; height: 100%; z-index: 99; background-color: rgba(0, 0, 0, 0.25); }
	.nav-mobile { position: absolute; z-index: 100; top: 123px; left: 0; right: 0; padding: 15px 30px; background-color: var(--c-bg); color: var(--c-alt); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.25); border-bottom: 2px solid var(--c-main); }
	.nav-mobile :is(.has-sm, .menu-item-has-children) { padding-bottom: 0; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) ul { position: static; display: block; padding: 0; background-color: transparent; box-shadow: none; border-top: 1px solid var(--c-border); }
	.nav-mobile li { padding: 5px 0; border-bottom: 1px solid var(--c-border); }
	.nav-mobile li:last-of-type { margin-bottom: 0; border-bottom: none; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) .sub-menu li { margin: 0; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) .sub-menu a { color: currentColor; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) .sub-menu a::before { content: '— '; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) > a { padding-bottom: 5px; }
	.nav-mobile :is(.has-sm, .menu-item-has-children) > a::after { display: none; }
	.nav-mobile a { display: block; color: var(--c-alt); }
	.nav-mobile .selected, .nav-mobile .selected, .nav-mobile .current-menu-parent > a { color: var(--c-alt); }
	.nav-mobile .bt-search { display: none; }
	.nav-mobile .box-search { display: block!important; position: static; padding: 7px 0 0; box-shadow: none; }
	.nav-mobile .frm-search { max-width: 380px; margin: 0 auto; }
}

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

}
/** 480 */
@media screen and (max-width: 639px) {
	h1, .h1 { font-size: 2.6rem; }
	h2, .h2 { font-size: 2.4rem; }
	h3 { font-size: 2rem;}
	.faq summary h3 { font-size: 1.6rem; }
	.bloc-services { font-size: 1.4rem; }

	.main { padding-block: 4.5rem; }

	.section, .side { padding: 4.5rem 0; }
	.side { padding-top: 0; }
	.side .doc-perso { margin-top: 3rem; }
	blockquote { padding-left: 15px; }

	.tbl-mobile thead { display: none; }
	.tbl-mobile tr { display: grid; grid-template-columns: 1fr; }
	.tbl-mobile td { padding-block: 0.6rem; text-align: right; }
	.tbl-mobile td::before { content: attr(data-title); float: left; margin-right: 15px; font-weight: bold; }
	.tbl-mobile tbody td { border-bottom: 1px dotted var(--c-border); }
	.tbl-mobile tbody td:last-of-type { border-bottom: none; }
	.tbl-mobile td:last-of-type { border-right: none; }
}

@media screen and (max-width: 480px) {
	.head-addr { padding: 5px 0; }
	#mobile-overlay, .nav-mobile { top: 113px; }

	.wpcf7 .cols2 { display: block; }
	.wpcf7 .cols2 > * { margin-right: 0; }

	#gmap { height: 25rem; }
}
/** 320 */
@media screen and (max-width: 479px) {
	html { --main-pad: 20px; --main-pad : max(20px, env(safe-area-inset-left)); }
	.main { font-size: 1.4rem; }
	.foot { font-size: 1.3rem; }

	button, .bt, input[type="submit"] { padding-inline: 20px; font-size: 1.4rem; }

	.head { padding-bottom: 1.5rem; }
	.head-addr { margin-bottom: 1.5rem; }
	.bt-nav-mobile { bottom: 17px; }
	.head > .container { gap: 0; }
	#mobile-overlay, .nav-mobile { top: 95px; }

	.bloc-services .img { flex-basis: 100px; }
	.bloc-services img { max-width: 100%; height: auto; }
}
@media screen and (max-width: 413px) {
	h1, .h1 { font-size: 2.4rem; }
	h2, .h2 { font-size: 2.4rem; }
	body { font-size: 1.4rem; }

	.bloc-services > div { flex-wrap: wrap; }
	.bloc-services .img { flex-basis: 100%; margin-bottom: 10px; }

	.foot .bloc-addr .cols2 { display: block; }
	.foot .bloc-addr .cols2 > * { margin-right: 0; }
	.foot .bloc-addr .cols2 > *:nth-child(2) { margin-top: 1rem; }
}

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