/*
Theme Name: Solifroid
Text Domain: https://www.solifroid.fr/
Version: 1.1
Description: Thème sur-mesure pour Solifroid
Author: Agence E-denzo
Author URI: https://e-denzo.fr/

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/**
 * Normalize
 *
 * Normalizing styles have been helped along thanks to the fine work of
 * Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
 */
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

h1,
h2,
h3 {
	font-weight: normal;
}

a {
	background-color: transparent;
	text-decoration: none;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

code,
kbd,
pre,
samp {
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #d1d1d1;
	margin: 0 0 1.75em;
	min-width: inherit;
	padding: 0.875em;
}

fieldset> :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}


/**
 * Alignments
 */

.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}



/**
 * Captions
 */

.wp-caption {
	margin-bottom: 1.75em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

.wp-caption .wp-caption-text {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}


/**
 * Galleries
 */

.gallery {
	margin: 0 -1.1666667% 1.75em;
}

.gallery-item {
	display: inline-block;
	max-width: 33.33%;
	padding: 0 1.1400652% 2.2801304%;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-icon img {
	margin: 0 auto;
}

.gallery-caption {
	color: #686868;
	display: block;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

/* Wordpress wp-adminbar not fixed < 600 */
@media screen and (max-width: 600px) {
	body.logged-in #site-header.scrolled {
		margin-top: 0 !important;
	}
}

/**
* End Normalize
*/

/*=====================================================
	GENERAL
======================================================*/

:root {
	--dark: #32444a;
	--rouge: #ff4249;
	--bleufonce: #00658d;
	--turquoise: #00b6e5;
	--light: #ebf9fd;
}

body {
	font-family: 'Overpass', sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: var(--dark);
	background: var(--light);
}

.logo {
	display: block;
	background: transparent no-repeat scroll center center / 100% auto;
	width: 215px;
	height: 75px;
}

.container {
	max-width: 1335px;
	margin: 0 auto;
	padding: 0 50px;
}

.content-container {
	max-width: 1124px;
	margin: 0 auto;
	padding: 0 50px;
}

.row {
	display: flex;
	flex-wrap: wrap;
}

.row.center {
	align-items: center;
}

.wrapper {
	margin-top: 50px;
	margin-bottom: 50px;
}

.col-25 {
	width: 25%;
}

.col-33 {
	width: calc(100% / 3);
}

.col-50 {
	width: 50%;
}

.col-66 {
	width: calc(100% * (2 / 3));
}

.col-75 {
	width: 75%;
}

#burger-menu {
	display: none;
}

.bg-img {
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

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

.icon_txt i,
.icon_txt img {
	margin-right: 15px;
}

/* Default bx-slider */
.content .bx-controls-direction>a {
	display: inline-block;
	width: 55px;
	height: 55px;
	line-height: 55px;
	text-align: center;
	position: relative;
	z-index: 52;
	font-weight: 400;
	border: solid 1px transparent;
	border-radius: 50%;
	background-color: #fff;
	color: var(--rouge);
	position: absolute;
	top: calc(50% - 27.5px);
	left: 0%;
	-webkit-transform: translateY(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.content .bx-controls-direction>a:hover {
	background-color: var(--rouge);
	color: #fff;
	border-color: transparent;
}

.bx-controls-direction a.bx-next {
	top: calc(50% + 27.5px);
}

/*=====================================================
	HEADER
======================================================*/

#site-header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 53;
	background-color: rgba(0, 183, 229, 0.3);
	color: #fff;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

#site-header.scrolled {
	background-color: var(--turquoise);
	box-shadow: 0 1px 3px rgba(0,0,0,.04);
}


#site-header .logo {
	background: #fff no-repeat scroll center center / 85% auto;
	width: 250px;
    height: 80px;
}

#site-header #inner-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#site-header #right-header {
	display: flex;
	align-items: center;
}

#site-nav .menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style-type: none;
}

#site-nav .menu>li {
	padding: 15px 0;
}

#site-nav .menu>li>a {
	color: #fff;
	font-weight: 400;
	text-transform: uppercase;
	border: solid 1px transparent;
	font-size: 0.8em;
	padding: 8px 10px 5px 10px;
	margin: 0 10px;
	display: block;
	position: relative;
	border-radius: 20px;
}

#site-nav .menu>li.current-menu-parent>a, #site-nav .menu>li.current_page_item>a {
	border-color: #ffffff80;
}

#site-nav .menu>li:hover>a {
	border-color: #fff;
}

#site-nav .sub-arrow {
	margin-left: 10px;
	font-size: 0.8em;
}

#site-nav ul.sub-menu {
	opacity: 0;
	visibility: hidden;
	list-style-type: none;
	position: absolute;
	height: 0;
	top: calc(100% - 5px);
	border-radius: 8px;
	-webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
    box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
    overflow: hidden;
	background-color: #ffffff;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

#site-nav ul.menu>li:hover>.sub-menu,
#site-nav ul.menu>li .sub-menu li:hover .sub-menu {
	height: initial;
    padding: 5px;
	opacity: 1;
	visibility: visible;
}

#site-nav .sub-menu a {
	display: block;
	color: var(--dark);
	padding: 5px 15px;
	margin: 2px 0;
	font-size: .9em;
}

#site-nav .sub-menu a:hover {
	background-color: var(--light);
	color: var(--bleufonce);
	border-radius: 5px;
}

#site-header .tel {
	margin-left: 25px;
}

#site-header.scrolled .tel:hover {
	background-color: var(--bleufonce);
}

/*=====================================================
	FRONT PAGE
======================================================*/

body.home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1335px;
	padding: 0 50px;
}

#hero {
	position: relative;
}

#hero h1 {
	margin-bottom: 35px;
}

#hero .wp-block-cover__inner-container {
	z-index: 2;
    padding-bottom: 450px;
    padding-top: 85px;
}

#hero img.wp-block-cover__image-background {
	opacity: 0.5;
}

#hero::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 1705.5 320' style='enable-background:new 0 0 1705.5 320%3B' xml:space='preserve'%3E%3Cstyle type='text/css'%3E.st0%7Bfill:%23EBF9FD%3B%7D%3C/style%3E%3Cpath class='st0' d='M0 128c0 0 281.9 223 864 5.3s841.5-15.8 841.5-15.8V320H0V128z'/%3E%3C/svg%3E");
	width: 100%;
	height: 357px;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 1;
}

#categories {
	position: relative;
	z-index: 2;
	margin-top: -380px;
}

#categories .wp-block-columns {
	gap: .5em;
}

#categories .bloc {
	padding: 15px 40px 35px 40px;
}

.content #categories h2 {
	margin-top: 10px;
	font-size: 2em;
}

#categories figure {
	margin-top: -50px;
}

.wp-block-media-text.has-imgshadow figure, figure.has-imgshadow {
	border-radius: 20px;
	-webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
	box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
}

#prestations { margin-top: 65px;}

#prestations .title-presta {
	padding: 0 15px;
}

#prestations h2 {
	margin-top: 15px;
}

#prestations .bloc h3 {
	margin-top: 15px;
	margin-bottom: 10px;
}

.content #prestations .bloc h3 a {
	border-bottom: none;
	color: inherit;
}

#prestations .bloc::before {
	content: '\f058';
	font-weight: bold;
	font-family: 'Font Awesome\ 5 Free';
	color: var(--rouge);
	position: absolute;
	top: 12px;
	left: 15px;
	font-size: 1.3em;
}

#prestations .bloc {
	padding-left: 25px;
	padding-right: 25px;
	height: 215px;
}

#prestations .wp-block-columns {
  margin-bottom: 15px;
}

.content #prestations .wp-block-column > a {
	border-bottom: none;
	line-height: initial;
	display: block;
	font-weight: 400;
}

.content #prestations .wp-block-column > a > div {
	border: solid 1px transparent;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

.content #prestations .wp-block-column > a:hover >div {
	border-color: var(--turquoise);
}

#prestations .wp-block-columns:nth-child(1) > .wp-block-column:nth-child(2) {
	position: relative;
	left: 10px;
}

#prestations .wp-block-columns:nth-child(2) > .wp-block-column:nth-child(2) {	
	position: relative;
	right: 10px;
}

#prestations .wp-block-columns:nth-child(2) > .wp-block-column:nth-child(3) {
	position: relative;
	right: 20px;
}

#realisations {
	position: relative;
	height: 500px;
	margin-top: 80px;
	margin-bottom: 80px;
}

#realisations > .container {
	display: flex;
	align-items: center;
	height: 100%;
}

#realisations > .container > .row {
	width: 100%;
}

#realisations h2 {
	margin-top: 0;
}

.content #realisations .bx-pager button {
  font-size: 0.7em;
  margin-left: auto;
  background-color: var(--bleufonce);
  border: 0;
  color: #fff;
  padding: 2px 10px;
  border-radius: 45px;
	transform: all .5s ease 0s;
}

.content #realisations .bx-pager button:hover {
	opacity: .5;
}

#realisations::before {
	content: '';
	position: absolute;
	top: 50%;
	left: -200px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background-color: var(--bleufonce);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

#realisations .bxslider {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
}

#realisations .bxslider .bg-img {
	width: 100%;
	margin-left: auto;
	height: 500px;
	border-radius: 500px 0 0 500px;
}

.content #realisations .bx-pager {
	margin-top: 25px;
}

.content #realisations .bx-pager a {
	position: relative;
	display: flex;
    align-items: center;
    background-color: #fff;
    color: var(--dark);
    border-radius: 5px;
    border: solid 2px transparent;
    margin-bottom: 5px;
    padding: 5px 15px;
    text-transform: uppercase;
	padding-right: 25px;
	line-height: 1.2em;
}

.content #realisations .bx-pager a.active {
	border-color: var(--dark);
}

.content #realisations .bx-pager a i {
    content: '\f0da';
	font-weight: bold;
	font-family: 'Font Awesome\ 5 Free';
    position: absolute;
    right: 0;
	display: block;
    width: 40px;
    height: 50px;
    line-height: 50px;
    text-align: center;
	border-radius: 5px;
	-webkit-transition: all .5s ease 0s;
	-o-transition: all .5s ease 0s;
	transition: all .5s ease 0s;
}

.content #realisations .bx-pager a i:hover {
	background-color: var(--light);
	color: var(--bleufonce);
}

.content #realisations .bx-pager a span {
	padding-top: 3px;
}

.content #realisations .bx-pager img {
	margin-right: 15px;
}

#realisations .col-50 { padding-right: 110px; }

.content .bxslider ul:not(.blocks-gallery-grid), .content .bxslider ul li:not(.blocks-gallery-item) { margin: 0; padding: 0; overflow: initial; line-height: initial; }
.content .bxslider ul:not(.blocks-gallery-item) li::before { display: none; }

/*=====================================================
	PAGES INTERNES
======================================================*/

#page .has-background {
	border-radius: 5px;
    padding: 15px;
}

#page iframe {
	border-radius: 15px;
}

.page-contact .infos-contact {
	display: block;
}

.page-contact .infos-contact > * {
	padding: 4px 15px;
	margin: 5px 0;
}

/*=====================================================
	CONTENT
======================================================*/

/* Géneral text */
h1,
.h1,
h2,
.h2{
	font-family: 'AgencyFB';
	line-height: 1.2em;
}

h1,
.h1 {
	font-size: 3em;
}

h2,
.h2 {
	font-size: 2.3em;
}

h3,
.h3 {
	font-size: 1.3em;
	line-height: 1.2em;
}

h4,
.h4 {
	font-size: 1.1em;
	line-height: 1.2em;
}

a {
	color: #000;
	font-weight: 700;
}

address {
	font-style: normal;
}

ul {
	list-style: none;
}

.nomargint {
	margin-top: 0!important;
}

.nomarginb {
	margin-bottom: 0!important;
}

.bloc {
	position: relative;
	-webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
	box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
	border-radius: 20px;
	padding: 15px;
}

.bloc li {
	opacity: 0.8;
}

/* Content */
.content p {
	line-height: 1.4;
	margin-bottom: 1em;
}

.content a {
	font-weight: 700;
	border-bottom: 2px solid var(--bleufonce);
	display: inline-block;
	line-height: 0.85;
}

.content .wp-block-image a { border: none; }

.content a:hover {
	color: var(--bleufonce);
	border-color: var(--turquoise);
}

.content h1,
.content h2,
.content h3,
.content h4 {
	margin: 1em 0 .4em 0;
}

.content h1 {
	line-height: 1.1;
}

.content h2 {}

.content h3 {}

.content h4 {
	font-weight: 400;
}

.content blockquote {
	background-color: #35257414;
	padding: 20px 15px 10px 17px;
	border-left: solid 7px;
	font-style: italic;
	position: relative;
	margin: 1em 0;
	font-style: normal;
}

.content blockquote::before {
	content: "\201D";
	position: absolute;
	top: 0;
	left: 5px;
	font-size: 1.8em;
}

.content blockquote p {
	margin-bottom: 0;
}

.content blockquote cite {
	display: block;
	text-align: right;
	position: relative;
	margin-top: .8em;
	font-size: .9em;
}

.content ul:not(.blocks-gallery-grid),
.content ol {
	overflow: auto;
	line-height: 1.6;
	list-style: none;
	margin-bottom: 1em;
}

.content ul li:not(.blocks-gallery-item) {
	position: relative;
    margin: 0.4em 0;
    padding-left: 15px;
    line-height: 1.2em;
}

.content ul li:not(.blocks-gallery-item)::before {
	content: "";
	font-weight: 700;
	position: absolute;
	display: inline-block;
	background-color: var(--turquoise);
	border-radius: 100%;
	height: 6px;
	width: 6px;
	top: 0.37em;
	left: 0px;
}

.content ol li::before {
	counter-increment: section;
	content: counters(section, ".") ". ";
	font-size: 1em;
	font-weight: 700;
	position: relative;
	color: #000;
	left: 0;
	top: 0;
}

.content ul li>ul {
	margin: 0 !important;
}

.content .wp-block-image {
	position: relative;
}

.content .wp-block-image img {
	display: block;
	height: auto;
	margin-bottom: 1.5em;
    border-radius: 5px;
}

.content .wp-block-image figcaption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	margin: 0;
	background-color: #0006;
	color: #fff;
	text-align: center;
	padding: 5px;
	font-size: .8em;
}

.content .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
	padding-right: 0;
}

.content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding-left: 0;
}

.content .has-border-color {
	padding: 30px!important;
}

/* Reset list for wp-gallery */
.content ul.wp-block-gallery li {
	padding: 0;
}

.content ul.wp-block-gallery li::before {
	display: none;
}


/* Buttons */
.btn, .content .wp-block-button__link {
	text-transform: uppercase;
	font-weight: 700;
	outline: none;
	border: none;
	padding-top: 13px; /* fix font height */
    font-size: .9em;
	border: solid 2px transparent;
	line-height: 1.2em;
}

.wp-block-button .wp-block-button__link.is-style-outline, .wp-block-button.is-style-outline>.wp-block-button__link, .content .wp-block-button__link {
	padding: 8px 20px;
	padding-top: 11px; /* fix font height */
}

.btn {
	background-color: var(--rouge);
	border-radius: 35px;
	color: #fff;
	padding: 8px 15px 5px 15px;
}

.btn.is-style-outline, .content .is-style-outline .wp-block-button__link {
	color: var(--rouge);
}

.btn.is-style-outline:hover, .content .is-style-outline .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link.is-style-outline:hover, .wp-block-button.is-style-outline>.wp-block-button__link:hover {
	background-color: var(--rouge);
	color: #fff;
	border-color: var(--rouge);
}

.content .wp-block-button__link:hover, .btn:hover, .content .wp-block-button__link:hover {
	background-color: var(--turquoise);
	border-color: var(--turquoise);
	color: #fff;
}

.content .has-background.wp-block-button__link:hover, .content .has-background.wp-block-button__link:hover {
	background-color: var(--bleufonce)!important;
	color: #fff;
	border-color: var(--bleufonce);
}

/* Form */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 100%;
	padding: 7px 25px 4px 25px;
	border: solid 1px var(--dark);
	border-radius: 35px;
	outline: none;
}

textarea {
	border-radius: 5px;
	line-height: 1.2em;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
	background-color: var(--light);
	color: var(--dark);
}

input[type="submit"] {
	min-width: 275px;
    text-transform: uppercase;
    background-color: var(--bleufonce);
    color: #fff;
    border-radius: 35px;
    letter-spacing: 3px;
	border: solid 1px transparent;
	outline: none;
	padding: 3px 0 0 0;
}

input[type="submit"]:hover {
	background-color: var(--turquoise);
	-webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
    box-shadow: 0px 0px 7px 3px rgba(0,0,0,.1);
}

button[disabled], html input[disabled] {
	opacity: 1;
}

/* wpcf7 */
.wpcf7-acceptance .wpcf7-list-item {
	font-size: 0.8em;
	line-height: 1.4em;
}

.wpcf7-form-control-wrap {
	display: block;
	margin: 0 10px 10px 10px;
}

.wpcf7 br {
	display: none;
}

.wpcf7 .submit {
	text-align: center;
}

input.wpcf7-not-valid {
	border-color: var(--rouge);
}

.wpcf7-not-valid-tip {
	position: absolute;
	bottom: 0px;
    right: 15px;
    font-size: .75em;
	color: var(--rouge);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: transparent;
	color: var(--rouge);
	font-size: 0.8em;
	padding-left: 0;
	padding-right: 0;
}

/* For Chrome */
input:focus::placeholder,
textarea:focus::placeholder {
	color: var(--dark);
}

#page .has-background.col-img { border-radius: 20px; }
#page .has-background.col-img * { margin-bottom: 0; }

/*=====================================================
	HEADING
======================================================*/

#site-heading {
	position: relative;
	width: 100%;
	height: 390px;
	background-color: var(--bleufonce);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#site-heading::after {
	content: '';
	position: absolute;
	bottom: -50px;
	left: 0;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 1705.5 152' style='enable-background:new 0 0 1705.5 152%3B' xml:space='preserve'%3E%3Cstyle type='text/css'%3E.st0%7Bfill:%230099FF%3B%7D.st1%7Bfill:%23EBF9FD%3B%7D%3C/style%3E%3Cpath class='st0' d='M0-40'/%3E%3Cpath class='st1' d='M0 50c0 0 245.6 67 864 5.3c558.1-55.7 841.5-15.8 841.5-15.8V152H0V50z'/%3E%3C/svg%3E");
	width: 100%;
	height: 119px;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 1;
}

#heading-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	background-color: rgb(6 32 90 / 95%);
    background-blend-mode: soft-light;
}

#heading-content {
	color: #fff;
	position: relative;
	z-index: 1;
}

#heading-content .excerpt {
	margin-top: 10px;
}

/* 
* Breadcrumbs
*/



/*=====================================================
	HOME
======================================================*/

/* filter */
#filter {
	margin: 15px 0;
}

#filter ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	justify-content: center;
}

#filter a {
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 5px 15px;
	margin: 7px;
	text-transform: uppercase;
	font-weight: 600;
	border: solid 2px #000;
}

#filter a:hover,
#filter a.active {
	background-color: #fff;
	color: #000;
}

/* list */
.list_posts .the_post {
	width: calc((100%/3) - 10px);
}

.the_post {
	position: relative;
}

.the_post .bg-img {
	width: 100%;
	height: 200px;
}

.the_post .post-content {
	color: #000;
}

.the_post h3 {
	margin-top: .4em;
	margin-bottom: .2em;
}


/*=====================================================
	SINGLE
======================================================*/



/*=====================================================
	FOOTER
======================================================*/

/* contact */
#contact-container {
	background-color: #fff;
	-webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,.15);
	box-shadow: 0px 0px 7px 3px rgba(0,0,0,.15);
	border-radius: 5px;
	position: relative;
    z-index: 1;
	padding: 25px 25px 0 25px;
}

#contact-container h2 {
	text-align: center;
	margin-bottom: 30px;
}

#contact-container input[type="submit"] {
	position: relative;
    top: 18px;
}

/* footer */
#site-footer {
	background-color: var(--turquoise);
	background: -moz-linear-gradient(180deg, var(--turquoise) 0%, rgba(1,110,152,1) 100%);
	background: -webkit-linear-gradient(180deg, var(--turquoise) 0%, rgba(1,110,152,1) 100%);
	background: linear-gradient(180deg, var(--turquoise) 0%, rgba(1,110,152,1) 100%);
	color: #fff;
	position: relative;
	/* margin-top: 300px; */
	padding-top: 65px;
	font-size: 0.9em;
}

#site-footer::before {
	content: '';
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 1705.5 320' style='enable-background:new 0 0 1705.5 320%3B' xml:space='preserve'%3E%3Cstyle type='text/css'%3E.st0%7Bfill:%2300B6E5%3B%7D%3C/style%3E%3Cpath class='st0' d='M1.8 91.1c0 0 266.8-181.5 796.3 0c0 0 531.6 243 907.4 19.5V320H1.8V91.1z'/%3E%3C/svg%3E");
    display: block;
    width: 100%;
    height: 359px;
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: -256px;
    z-index: -1;
	/* color: #009ddc; bas footer */
}


#site-footer a {
	color: #fff;
	font-weight: 400;
}

#site-footer a:hover {
	opacity: 0.7;
}

#site-footer .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-bottom: solid 1px rgba(255, 255, 255, 0.5);
	text-transform: uppercase;
}

#site-footer .menu li a {
	display: inline-block;
	padding: 10px;
}

#site-footer .menu li:not(:last-child)::after {
	content: '.';
    color: var(--rouge);
    margin-left: 5px;
    font-size: 2.5em;
    line-height: 0;
    position: relative;
    top: -2px;
}

#site-footer .logo {
	filter: brightness(0) invert(1);;
}

.infos-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}

.infos-contact .adresse span {
	white-space: break-spaces;
    line-height: 1.3em;
}

.infos-contact i {
	opacity: .75;
}

.infos-contact span {
	position: relative;
	top: 3px;
}


#site-footer .infos-contact > * {
	padding: 4px 13px;
    margin: 6px 0;
}

.infos-contact a {
	border-radius: 20px;
	font-weight: 400;
}

#site-footer .infos-contact a:hover, .infos-contact a:hover {
	background-color: var(--light);
	color: var(--bleufonce)!important;
	opacity: 1;
}

#site-footer #credits {
	font-size: 0.75em;
	text-align: center;
	opacity: .65;
	padding-top: 15px;
	padding-bottom: 5px;
}

/*=====================================================
	RESPONSIVE
======================================================*/

/* < Laptop */
@media screen and (max-width: 1450px) {
	#realisations::before { left: -271px; }

}


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

	.container, .content-container, body.home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { padding: 0 35px; }

	#site-header .logo { width: 230px; }
	#site-nav .menu>li>a { padding: 8px 5px 5px 5px; margin: 0 5px; }
	#site-header .tel { margin-left: 10px; }

	#categories .bloc { padding: 15px 25px 35px 25px; }
	.content #categories h2 { font-size: 1.8em; }
	#prestations .bloc { height: 305px; padding-left: 15px; padding-right: 15px; }
	#prestations h2 { padding: 0; margin-top: 35px; }
	#realisations .col-50 { padding-right: 60px; padding-left: 15px; }
}

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

	#burger-menu { display: block; border: none; background: 0 0; outline: 0; position: relative; z-index: 1; font-size: 1.2em; color: #fff; background-color: var(--bleufonce); width: 40px; height: 40px; line-height: 45px; margin-left: 20px; border-radius: 50%; }
	#site-header #mobile-wrapper { position: fixed; background-color: var(--bleufonce); height: 100vh; width: 320px; right: -320px; top: 0; opacity: 0; visibility: hidden; overflow: auto; border-top: 80px solid transparent; box-shadow: 0 1px 3px rgba(0, 0, 0, .04); -webkit-transition: all .5s ease 0s; -o-transition: all .5s ease 0s; transition: all .5s ease 0s; }
	#site-header.menu-open #mobile-wrapper { opacity: 1; visibility: visible; right: 0; display: block; }
	#site-nav { width: 100% }
	#site-nav .menu { display: block }
	#site-nav .menu a { border-bottom: solid 1px #eee }
	#site-nav .sub-arrow { position: absolute; right: 0; top: 0; color: #fff; height: 100%; width: 53px; line-height: 53px; text-align: center; font-size: 1.4em }
	#site-nav .menu>li { padding: 0; border-bottom: solid 1px #ffffff2a; }
	#site-nav .menu>li>a { margin: 0; border-radius: 0; border: none; padding: 10px 15px; }
	#site-nav li.open>a { background-color: var(--turquoise); color: #fff }
	#site-nav li.open .sub-arrow { background-color: var(--turquoise); color: #fff }
	#site-nav li>.sub-menu { position: relative; padding: 0; opacity: 1; visibility: visible; max-height: 0; overflow: hidden; border-radius: 0; box-shadow: none; }
	#site-nav ul.menu>li:hover>.sub-menu, #site-nav ul.menu>li .sub-menu li:hover .sub-menu { height: initial; padding: 0; }
	#site-nav li.open>.sub-menu { max-height: 500px; background-color: #f5f5f5; height: initial; }

	#site-heading { height: 325px; }

	#categories .wp-block-columns { flex-wrap: wrap!important; }
	#categories .bloc { flex-basis: 48%!important; }

	#realisations .bxslider  { width: 40%; }
	#realisations .col-50 { width: 60%; }

	#contact .col-33 { width: 50%; }
	#contact .col-33:last-child { width: 100%; margin-top: 5px; }

	#site-footer .row.center { justify-content: center; }
	#site-footer .logo { margin: 0 auto 15px auto; }
	#site-footer .col-75, #site-footer .col-25 { width: 100%; text-align: center; }
}

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

	#prestations figure { max-width: 80px; margin: 0 auto; }
	#prestations .wp-block-columns:nth-child(1) > .wp-block-column:nth-child(2) { left: 0; }
	#prestations .wp-block-columns:nth-child(2) > .wp-block-column:nth-child(2), #prestations .wp-block-columns:nth-child(2) > .wp-block-column:nth-child(3) { right: 0; }

}

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

	#categories figure { margin-bottom: 0; }
	.content #categories h2 { margin-top: 0; }
	#categories .bloc { margin-bottom: 50px; flex-basis: 100%!important; }

	#realisations::before { top: 150px; left: -260px; }
	#realisations { height: initial; }
	#realisations .col-50 { width: 92%; margin-left: auto; padding-right: 0; }
	#realisations .bxslider { position: initial; width: 90%; margin-left: auto; margin-top: 50px; }
	#realisations .bxslider .bg-img { height: 300px; }
	.content .bx-controls-direction>a { top: initial; bottom: 120px; left: 10%; }
	.bx-controls-direction a.bx-next { top: initial; bottom: 65px; }

	#contact .col-33 { width: 100%; }


}

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

	.container, .content-container, body.home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { padding: 0 20px; }
	h1, .h1 { font-size: 2.5em; }
	h2, .h2 { font-size: 2.1em; }

	#site-header .logo { width: 175px; height: 70px; }
	#site-header .tel { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
	#site-header .tel span { display: none; }

	.content .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content { padding-left: 0; }


}

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

	#site-header .logo { width: 140px; }
	#realisations::before { display: none; }
	#realisations .bxslider, #realisations .col-50 { width: 100%; }
	#realisations .bxslider .bg-img { border-radius: 0; }
	.content .bx-controls-direction>a { bottom: -25px; }
	.content .bx-controls-direction>a.bx-next { left: initial; right: calc(50% - 30px); transform: translateX(50%); }
	.content .bx-controls-direction>a.bx-prev { left: calc(50% - 30px); transform: translateX(-50%); }

	#eligibilite .has-text-align-right { text-align: center; }
	#eligibilite .wp-block-buttons.is-content-justification-right { justify-content: center; }

	#contact-container { padding: 15px; }
	#contact-container input[type="submit"] { min-width: 100%; }
	
	#site-footer .menu li a { padding: 6px; }
}