/*
Theme Name: Alfaa
Text Domain: https://www.alfaa.fr/
Version: 1.1
Description: Thème sur-mesure pour Alfaa
Author: Groupe Spirale
Author URI: https://groupe-spirale.com/

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, button, .btn {
	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;
}


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

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

/**
 * 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 {
	--black: #000000;
	--white: #fff;
	--darkblue: #1d5880;
	--blue: #4A90CA;
	--lightblue: #eaf4fc;
	--lightgray: #E8EDF3;
}

#cmplz-document { margin: 50px auto; }

body {
	font-size: 16px;
}

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

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

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


#top-header {
	background-color: var(--white);
	padding-top: 0px;
}

#top-header .header-widget { width: 1000%; }

#header {
	background: var(--wp--preset--gradient--dark-to-light-blue-h);
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

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

#header #open-menu {
	display: none;
	width: 45px;
  height: 45px;
  margin-left: 1em;
  border: 0;
  border-radius: 5px;
  color: var(--blue);
  background-color: var(--white);
}

#header .custom-logo { 
	min-width: 160px;
	margin: 10px 0 -15px;
	transition: all .5s ease 0s;
  filter: brightness(3000000);
}

#header .wp-block-buttons .wp-block-button__link { margin-top:0; }

#header nav { 
	padding: 0;
  margin-left: auto;
  max-width: none;
  border-radius: 0;
  position: relative;
}

#header nav ul.menu {
	display: flex;
	gap: .3em;
	justify-content: flex-end;
	align-items: center;
}

#header nav ul.menu li {
	list-style-type: none;
}

#header nav ul.menu > li > a {
  padding: 10px 15px;
  border-radius: 50px;
  color: var(--white);
  font-weight: bold;
  display: block;
  text-align: center;
  line-height: 1;
  position: relative;
  justify-content: center;
  align-items: center;
  display: flex;
}

ul.menu .media-link a {
  background-color: var(--white);
  color: var(--darkblue) !important;
}

ul.menu .media-link a::before {
	content: "\f02d";
	margin-right: 5px;
	font-weight: bold;
	font-family: "Font Awesome 5 Free";
}

.sub-arrow {
  font-size: .6em;
  display: inline-block;
  margin-left: 5px;
}

#header nav ul.menu a:hover {
	opacity: .5;
}

#header nav ul.menu .sub-menu::before {
	position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background-color: var(--white);
  top: -5px;
  left: 10px;
  transform: rotate(45deg);
}

#header nav ul.menu .sub-menu {
	background-color: #fff;
  position: absolute;
  margin-left: 2em;
  opacity: 0;
  visibility: hidden;
  transition: all .5s ease 0s;
  width: 200px;
  padding: 0;
  border-radius: 7px;
}
#header nav ul.menu .sub-menu .sub-menu {
 	left: 100%;
  min-width: 230px;
  top: -1px;
  font-size: 0.9em;
  line-height: 1.3;
}

#header nav ul.menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	margin-left: 0px;
}

#header nav ul.menu .sub-menu li { position: relative; }
#header nav ul.menu .sub-menu li:not(:last-child) { border-bottom: 1px solid var(--lightgray); }


#header nav ul.menu .sub-menu li a {
	display: block;
	padding: 12px 12px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--darkblue);
}

#header nav ul.menu .sub-menu li.product-link a { background-color: var(--lightblue); font-weight: bold; }

#header nav ul.menu .sub-menu li:first-child a { border-radius: 7px 7px 0 0; }
#header nav ul.menu .sub-menu li:last-child a { border-radius: 0 0 7px 7px; }

#header nav ul.menu .sub-menu li.current_page_item > a {
	font-weight: bold;
}

#header nav ul.menu .sub-menu li a:hover { background-color: var(--lightgray); opacity:1; }

#header.scrolled { position:fixed; background-color: var(--white);}
#header.scrolled .custom-logo { min-width: 120px; margin: 0; }
#header.scrolled #top-header {
	width: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  right: 0;
}


/*=====================================================
	Front Page
======================================================*/

#site-main { min-height: 60vh; }

.wp-block-getwid-section:not(.getwid-section-content-full-width) .wp-block-getwid-section__inner-wrapper { max-width: 1080px; }

.page-content .wp-block-getwid-section + .wp-block-getwid-section { margin-top: 0; margin-bottom: 0em; }


.getwid-background-video-controls { opacity:0; }

#fb-feed {
	max-height: 368px;
	overflow-y: auto;
}

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

/*Heading*/
#site-heading { 
	padding: 0;
	position:relative;
  background-color: var(--blue);
  position: relative;
  padding: 0 0;
  height: 250px;
  overflow: hidden;
  color: var(--white);
}

#site-heading .bg-cat-app { 
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

#site-heading .bg-cat-app img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
} 

#site-heading .bg-cat-app::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0; 
	top: 0;
	background-color: rgba(0,0,0,.3);
}

#site-heading svg {
	position: a;
	z-index: 2;
	width: 100%;
} 

#site-heading .container {
	position: relative;
	z-index: 10;
	height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#site-heading .cat-app {
	padding: 5px 15px;
  border: 1px solid var(--white);
  border-radius: 50px;
  margin-bottom: 1em;
}
.eau { background-color: var(--blue); }
.air { background-color: var(--white); color:var(--blue) !important; }
.fluides { background-color: var(--darkblue); }

#heading-content h1, #heading-content .h1 { font-size: var(--wp--preset--font-size--x-large); font-weight:bold; }
#breadcrumbs, .breadcrumbs { margin-top: 0; padding: 1em 0 !important; font-size: .68em; }
#breadcrumbs a, .breadcrumbs a { font-weight:bold;  }
#breadcrumbs i.fa-chevron-right, .breadcrumbs i.fa-chevron-right {
  text-align: center;
  margin: 0 10px;
  font-size: 0.8em;
}
#breadcrumbs a, #breadcrumbs span, #breadcrumbs i { color: var(--white); }

.single-product #site-heading { height: 150px; }
.single-product #site-heading .container { align-items: flex-start; }
.single-product #site-heading .container #breadcrumbs { padding-bottom: 60px !important; }

/*tabs*/
.page-content .wp-block-getwid-tabs__nav-links { margin-left:0; }
.page-content .wp-block-getwid-tabs__tab-content { border: 0; padding: 2em 0 0; }
.page-content .wp-block-getwid-tabs__nav-link.ui-tabs-active { border-color: transparent; background: transparent; }
.page-content .wp-block-getwid-tabs__nav-link a {
	font-size: var(--wp--preset--font-size--large);
  display: flex;
  align-items: center;
  position: relative;
  color: var(--blue);
  border-radius: 10px 10px 0 0;
  padding: 7px 15px !important;
  min-width: 200px;
  text-align: center;
  display: block;
}
.page-content .ui-tabs-active.wp-block-getwid-tabs__nav-link a {  color: var(--darkblue); background-color: var(--white); }

.wp-block-buttons .wp-block-button__link { position:relative; }
.wp-block-button__link.wp-element-button:has(img) { display: flex; gap: 5px; }
.has-layout-vertical-left .ui-tabs-active.wp-block-getwid-tabs__nav-link a::after { margin-left: 10px; }

.wp-block-button__link:hover::after { margin-left:15px; }
.has-white-color.wp-block-button__link:hover { opacity:.8; }

.wp-block-column:has(a.wp-block-getwid-image-box__image-wrapper) { position: relative; cursor: pointer; }
.wp-block-column:has(a.wp-block-getwid-image-box__image-wrapper)::after { 
	content: "";
  display: inline-block;
  border-radius: 100%;
  width: 25px;
  height: 15px;
  text-align: center;
  margin-left: 10px;
  background-image: url('assets/images/arrow-right.svg');
  transition: all .5s ease 0s;
  position: absolute;
  right: 20px;
  filter: brightness(100);
  bottom: 10px;
}

.page-content .container { padding: 4em 0; }
#page .container:has(.wp-block-getwid-section:first-child) { padding-top: 0; }
#page .container:has(.wp-block-getwid-section:last-child) { padding-bottom: 0; }

.page-content p a { font-weight:bold; text-decoration: underline; }

.page-content p a[href$="pdf"]:not(.wp-block-button__link) { font-weight: normal; }
.page-content p a[href$="pdf"]:not(.wp-block-button__link)::before {
  content: "\f019";
  font-weight: bold;
  background-color: var(--blue);
  margin-right: 8px;
  color: var(--white);
  padding: 2px;
  border-radius: 15px;
  width: 40px;
  display: inline-block;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  font-size: .8em;
}

.page-content p a[href*="youtube"]:not(.wp-block-button__link),
.page-content p a[href$="mp4"]:not(.wp-block-button__link) { font-weight: normal; }
.page-content p a[href*="youtube"]:not(.wp-block-button__link)::before,
.page-content p a[href$="mp4"]:not(.wp-block-button__link)::before {
  content: "\f03d";
  font-weight: bold;
  background-color: var(--darkblue);
  margin-right: 8px;
  color: var(--white);
  padding: 2px;
  border-radius: 15px;
  width: 40px;
  display: inline-block;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  font-size: .8em;
}

.page-content li:not([class]) a { font-weight:bold; text-decoration: underline; }

.page-content h2:not(:last-child) { margin-bottom:1em; }
.page-content h3:not(:last-child) { margin-bottom:1em; }
.page-content h4:not(:last-child) { margin-bottom:1em; }
.page-content h5:not(:last-child) { margin-bottom:1em; }

.page-content h2:not(:first-child) { margin-top:1em; }
.page-content h3:not(:first-child) { margin-top:1em; }
.page-content h4:not(:first-child) { margin-top:1em; }
.page-content h5:not(:first-child) { margin-top:1em; }

.page-content iframe { display:block; }

.page-content hr.is-style-wave {
	width: 90px;
	height: 28px;
	border: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url("assets/images/wave.svg");
	margin-left: auto;
  margin-right: auto;
}

.page-content .wp-block-getwid-section {
  width: 100vw;
  margin: 2.5em 0 0;
  margin-left: calc(-1 * ((100vw - 1080px) / 2));
}

.page-content .wp-block-getwid-section:first-child { margin-top:0; }
.page-content .wp-block-getwid-section:last-child { margin-bottom:0; }

.page-content ul, .page-content ol { margin-left: 2em; }

.page-content ul li:not([class]) { 
	position: relative;
	margin-bottom: .5em;
	list-style-type: none;
}
.page-content ul:not(.is-style-valideliste) li:not([class]):not([role])::before {
  content: "";
	width: 6px;
  height: 6px;
  background-color: var(--blue);
  display: block;
  border-radius: 100%;
  position: absolute;
  top: 8px;
  left: -20px;
}

.page-content ul.is-style-valideliste li::before { content: "\f00c" !important; }
.page-content ul.is-style-cloudliste li::before { display:none !important; }

.page-content .has-background:not(.wp-block-getwid-section__background):not(.wp-block-getwid-icon__wrapper):not(.wp-block-getwid-content-timeline__bar):not(.wp-block-getwid-icon-box__icon-wrapper):not(.wp-block-media-text):not(.wp-block-getwid-progress-bar__bar):not(.wp-block-button__link):not(:has(.wp-block-cover)) {
  padding: 2em 2.5em;
  border-radius: 10px;
}
.page-content .wp-block-column.has-background:has(.wp-block-cover) {border-radius: 10px; }

.page-content .wp-block-separator {padding: 0 !important; }
.page-content .wp-block-separator.is-style-default { max-width: 200px; margin: 3em  auto; }

.page-content article p:not(:last-child) { margin-bottom: 1em; }

.page-content .wp-block-columns:not(:last-child) { margin-block-end: 3em; }
.page-content .wp-block-columns:not(:first-child) { margin-block-start: 3em; }
.page-content .wp-block-columns .wp-block-columns:not(:first-child) { margin-block-start: 0em; }

.wp-block-getwid-accordion:not(:last-child), .wp-block-getwid-icon-box:not(:last-child) {
  margin-bottom: 1.5em;
}

.wp-block-getwid-accordion:not(.vertical-accordion) .wp-block-getwid-accordion__header-wrapper {
  background-color: var(--white);
  color: var(--black);
  margin-bottom: 0px;
  border-radius: 50px;
  border: 0;
  border: 1px solid var(--blue);
}

.wp-block-getwid-content-timeline-item__content-wrapper .wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper {
	margin-top: 1.5em;
}

.wp-block-getwid-accordion:not(.vertical-accordion) .wp-block-getwid-accordion__header {
	padding: .5em 1em;
}

.wp-block-getwid-accordion:not(.vertical-accordion) .wp-block-getwid-accordion__header-wrapper.ui-accordion-header-active {
	background-color: var(--blue);
  color: var(--white);
}

.wp-block-getwid-accordion__content-wrapper { margin-bottom:10px; }

.wp-block-getwid-accordion:not(.vertical-accordion) .wp-block-getwid-accordion__content {
	border: 0;
  background-color: rgba(255,255,255,.2);
}

.page-content article .wp-block-group.is-layout-flex > * { margin-bottom:0; margin-top:0; }

.wpcf7 input::placeholder { color: var(--black); }

.wpcf7 .wpcf7-form-control:not(.wpcf7-acceptance):not(.wpcf7-submit) {
	color: var(--black);
	border: 0;
	padding: 6px 12px;
	border-radius: 50px;
	border: 1px solid var(--blue);
	margin-bottom: 0px;
	width: 100%;
	background-color: var(--white);
	resize: none;
}

.wpcf7 .form-col { display: flex; gap: 1em; }
.wpcf7 .form-col > * { width: calc(50% - .5em); }

.wpcf7 div[class^="form-col"] p > label { color:var(--darkblue); margin-left:10px; font-weight:bold; font-size: var(--wp--preset--font-size--small); }

.wpcf7 .wpcf7-form-control.wpcf7-textarea { max-height: 150px; border-radius: 10px !important; }

.wpcf7 .wpcf7-form-control:not(.wpcf7-acceptance):not(.wpcf7-submit):focus { 
	border-color: var(--black);
	color: var(--black);
}

.wpcf7 .wpcf7-form-control.wpcf7-submit {
	padding: 7px 25px;
  float: right;
  color: var(--white);
  font-weight: bold;
  background-color: var(--blue);
  border-radius: 50px;
  margin-top: 10px;
  border: 0;
}

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover {
	background-color: var(--darkblue);
}


/* PAGINATION */

#pagination {
	width: 100%;
  	margin: 2.5em 0 0;
}

#pagination ul {
	display: flex;
	justify-content: center;
	margin: 0;
}

#pagination ul li { list-style-type: none; margin: 0 5px;}
#pagination a, #pagination span { height: 35px; line-height: 35px; font-size: .9; font-weight: bold; color: var(--black); border-radius:50px; text-align:center; padding:2px 5px; display:block; min-width: 30px}
#pagination .prev, #pagination .next { display:flex; align-items:center; }
#pagination .prev i { margin-right:5px; }
#pagination .next i { margin-left:5px; }

#pagination a:not(.next):not(.prev), #pagination span:not(.next):not(.prev) {
	width: 35px;
	
}

#pagination a:hover { background-color: var(--lightyellow); }
#pagination span.current { color: var(--white); background-color: var(--red); }

/*=====================================================
	Single Product
======================================================*/

.product-content {
	margin-top: -80px;
  position: relative;
  z-index: 10;
}

.product-content.page-content .container { padding-top:0; }

.product-summary {
	background-color: var(--white);
	border-radius: 20px;
	padding: 1.5em;
	gap: 2em;
	display: flex;
	align-items: center;
}

.product-gallery { width: 40% }

.product-slide-wrapper {
	border-radius: 10px;
	border: 1px solid var(--blue);
	margin-bottom: 20px;
}

.product-gallery .product-slider { 
	margin-left:0;
}
.product-gallery .product-slider li::before { display:none !important; }
.product-gallery .product-slider figure {
	height: 400px;
	display: flex;
	overflow: hidden;
	border-radius: 20px;
	justify-content: center;
	align-items: center;
}

.product-gallery .product-slider figure img { object-fit: contain; width:100%; height:100%; }

#product-pager { display: flex; gap: 5px; flex-wrap:wrap; }
#product-pager a { width: 54px; height: 54px; display: flex; opacity:.5; display: block; border-radius: 5px; overflow: hidden; }
#product-pager a.active { opacity:1; }
#product-pager a img { display:block; width:100%; height:100%; object-fit:cover; }

.product-details {
	width: calc(60% - 2em);
}

.product-solution {
	display: flex;
  gap: 2px 10px;
  font-size: var(--wp--preset--font-size--small);
  flex-wrap: wrap;
}

.product-solution .product-category {
	padding: 5px 15px;
  border-radius: 50px;
  border: 1px solid;
  color: var(--white);
}

.product-details h1 {
	color: var(--blue);
  margin: 5px 0 20px;
}

.product-applications p {
	text-transform: uppercase;
	color: var(--black);
	font-weight: bold;
	margin-bottom: 5px !important;
}

.product-applications ul {
	margin: 0;
	list-style-type: none;
	display: flex;
	gap: 3px 10px;
	flex-wrap: wrap;
}

.product-applications ul li {
	background-color: var(--lightblue);
	padding: 8px 15px;
	border-radius: 50px;
	line-height: 1.1;
  font-size: .9em;
	color: var(--darkblue);
	width: calc((100% - 10px) / 2);
	align-items: center;
	display: flex;
	gap: 10px;
}

.product-applications ul li i { font-size: 1.1em; }
.product-applications ul li::before { display:none !important; }

.bottom-summary {
	margin-top: 20px;
	background-color: var(--lightblue);
	border-radius: 15px;
	padding: 20px;
}

.bottom-summary .product-shortdesc { font-size: var(--wp--preset--font-size--small); }

.button-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
	margin-top: 15px;
}

.button-summary * {
	border-radius: 50px;
	padding: 8px 15px;
	border:1px solid;
	color:var(--blue);
	font-size: .9em;
}

.button-summary button { background-color: #fff; }
.button-summary button:not(:first-child) { color:var(--darkblue); }

.product-content-wrapper {
	margin-top: 2em;
}

/*POPUP*/
.white-popup {
  position: relative;
  background: #FFF;
  border-radius: 15px;
  padding: 30px;
  width: auto;
  max-width: 600px;
  margin: 20px auto;
  color: var(--darkblue);
  font-size: .9em;
}

.mfp-hide {
  display: none;
}

.white-popup h2 {
	text-align: center;
	font-size: var(--wp--preset--font-size--large);
	font-weight: bold;
	color: var(--blue);
	margin-top: 0px;
	margin-bottom: 25px;
}

/*more-info form*/
.more-info {
	margin-top: 40px;
  clear: both;
}

.more-info > *:not(:last-child) {
	margin-bottom: 8px;
}

.more-info ul {
	margin-left: 13px;
}

/*=====================================================
	PRODUCT LIST
*======================================================*/

.product-list {
	display: flex;
	flex-wrap: wrap;
  gap: 1em;
}

.product-list .one-product { width:calc((100% - 3em) / 4); }

.product-list .one-product a {
	border-radius: 15px;
	border: 1px solid var(--lightblue);
	height: 100%;
	text-align: center;
	display: block;
}

.product-list .one-product a:hover {
	transform: scale(1.05);
}

.product-list .one-product a figure {
	width: 100%;
	border-radius: 15px 15px 0 0;
	overflow: hidden;
	height: 250px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product-list .one-product a figure img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.product-list .one-product .product-text {
	padding: 1em 1.2em;
}

.product-list .one-product a p.product-title {
	color: var(--blue);
	font-weight: bold;
	margin-bottom: .8em;
	min-height: 50px;
}

.product-list .one-product a p:not(.product-title) { font-size: .9em; min-height: 66px; }

.product-list .one-product a button {
	background-color: var(--blue);
	text-align: center;
	border-radius: 50px;
	border: 0;
	display: block;
	font-size: .9em;
	width: 100%;
	font-weight: bold;
	padding: 3px 6px;
	color: var(--white);
}

.product-list .one-product a button:hover { background-color: var(--darkblue); }


/*=====================================================
	APP LIST
======================================================*/

.app-list {
	display: flex;
	flex-wrap: wrap;
  gap: 1em;
}

.app-list .one-app { width:100%;}
.app-list.col-2 .one-app { width:calc((100% - 1em) / 2);  }
.app-list.col-3 .one-app { width:calc((100% - 2em) / 3);  }
.app-list.col-4 .one-app { width:calc((100% - 3em) / 4);  }

.app-list .one-app a {
	color: var(--blue);
	display: flex;
	padding: 1.3em 1em;
	align-items: center;
	border-radius: 15px;
	gap: 10px;
	height: 100%;
}

.app-list .one-app a:hover {
	transform: scale(1.05);
}

.app-list .one-app a figure {
	width: 55px;
}

.app-list .one-app a .app-text {
	width: calc(100% - 65px);
}

.app-list .one-app a .app-text p { margin-bottom: 10px; font-weight: bold; font-size: 1.1rem; line-height: 1.2; }
.app-list .one-app a .app-text span { color: var(--darkblue); display:block; text-align:right; font-size: var(--wp--preset--font-size--small); }

.app-list.app-eau .one-app a { background-color: var(--lightblue); }
.app-list.app-air .one-app a { background-color: var(--white); }
.app-list.app-fluides .one-app a { background-color: var(--lightgray); color: var(--darkblue); }
.app-list.app-fluides .one-app a .app-text span {  color: var(--blue); }


/*=====================================================
	Home
======================================================*/

#home { position:relative; z-index:10; }

#filter { margin-top: .5em; }

#filter ul {
  display: flex;
  justify-content: center;
  list-style-type: none;
  gap: .8em;
  flex-wrap: wrap;
}

#filter ul li a {
  border-radius: 50px;
  padding: 5px 15px;
  font-size: small;
  font-weight: bold;
  color: var(--blue);
  border: 1px solid var(--white);
  background-color: var(--white);
}

#filter ul li a:hover {
	background-color: var(--blue);
	color: var(--white);
}

#home .container {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	gap: 1em;
	justify-content: space-between;
}

#home article {
	width: calc((100% - 3em) / 3);
	min-height: 350px;
	position: relative;
}

#home.home-2-news article {
	width: calc((100% - 2em) / 2);
}

#home article a {
	background-color: var(--white);
  color: var(--black);
  height: 100%;
  position: relative;
  font-size: .9em;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 0px 20px rgba(74, 144, 202, 0.32);
}

#home article a:hover {
	background-color: var(--lightblue);
}

.one-news figure {
  display: flex;
  height: 170px;
  overflow: hidden;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 10px 10px 0 0;
  margin: 0 0 5%;
  transition: all .5s ease 0s;
}

.one-news figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#home .news-text {
	padding: 20px 30px 20px;
}

#home .news-text .news-title {
	margin-bottom: 10px;
	color: var(--darkblue);
	line-height: 1.2;
	font-weight: bold;
	font-size: 1.2em;
}

#home a.no-thum .news-text {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.one-news-bottom span {
	display: flex;
	font-size: var(--wp--preset--font-size--small);
	color: var(--blue);
	align-items: center;
	justify-content: flex-end;
}

#home a button {
	border: 0;
  display: block;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  border-radius: 100%;
  right: 20px;
  bottom: 15px;
  color: var(--red);
  transition: all .5s ease 0s;
}


/*=====================================================
	Single
======================================================*/

#page.single-content {
  max-width: 900px;
  margin: 0 auto;
}

#page.single-content .wp-block-getwid-section { margin-left: calc(-1 * ((100vw - 900px) / 2)); }

#single-header { margin-bottom:2em; }
#page .container #single-header h1 { margin-bottom: 0; line-height: 1.5; }

.single-meta {
	display: flex;
  gap: 1em;
  background-color: var(--lightgray);
  padding: 5px 15px;
  border-radius: 50px;
  font-size: .8em;
}

#more-single { padding-top:2em }

#more-single .container > p {
	font-size: var(--wp--preset--font-size--x-large);
	font-family: var(--wp--preset--font-family--heading);
	text-align: center;
}


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


footer {
	background-color: var(--blue);
	font-size: .8em;
	color: var(--white);
}

footer svg { width:100%; }

footer #footer-content { padding:3em 0em 2em; position: relative; }

footer .widget_nav_menu .menu {
  list-style-type: none;
  margin-left: 0;
  display: flex;
  gap: 1.5em;
  justify-content: center;
}

footer .widget_nav_menu .menu a { display: inline-block; padding: 3px 15px; border-radius: 50px; border: 1px solid var(--white); }
footer .widget_nav_menu .menu a:hover { opacity: .7; }

footer .widget_nav_menu .menu .media-link { margin-left: 40px; }

#credits {
  text-align: center;
  padding: 2em 0;
  color: var(--white);
  background-color: var(--darkblue);
}

#credits .container {
	display: flex;
	gap: .5em;
	flex-direction: column;
	justify-content: space-between;
}

#credits a { color: var(--white); opacity:.8; }
#credits a:hover { text-decoration:underline; }


/****************************
 * RESPONSIVE
 * **************************/


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

/*	header*/
	#header .container, #credits .container,
	.wp-block-getwid-section:not(.getwid-section-content-full-width) .wp-block-getwid-section__inner-wrapper { padding: 0 15px; }
	.page-content .wp-block-getwid-section { margin-left:-15px; }
	#header nav ul.menu > li > a { padding: 10px; }

/*home*/
	#home .container { padding-left: 15px; padding-right: 15px; }

/*single*/
	#page.single-content .wp-block-getwid-section { margin-left: calc(-1 * ((100vw - 860px) / 2)); }

/*single product*/
	#site-heading .container { padding-left:30px; padding-right: 30px; }

/*footer*/
	footer #footer-content, .page-content .container { padding-left: 15px; padding-right: 15px; }
	.page-content.single-content .container { padding-left: 30px; padding-right: 30px; }

}

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

/*general*/
	:root {
		--wp--preset--font-size--xx-large : 2.5em;
		--wp--preset--font-size--x-large : 1.8em;
		--wp--preset--font-size--large : 1.3em;
	}

	body { font-size: 15px; }
	.wpcf7-form .col-50 { width: calc(50% - .5em); }

/*header*/
	#header nav { 
	  position: fixed;
	  top: 85px;
	  background-color: var(--white);
	  height: calc(100vh - 85px);
	  width: 320px;
	  padding: 0;
	  opacity: 0;
	  visibility: hidden;
	  right: -320px;
	  transition: all .5s ease 0s;
	  max-width: none;
	  border-radius: 20px 0 0;
	  display: none;
	}
	#header.scrolled nav { top: 67px; height: calc(100vh - 67px); }

	#header #open-menu { display: block; }

	#header nav.open { display: block; opacity: 1; visibility: visible; right: 0px; }

	#header nav > div { height: 100%; overflow-y: auto; }

	#header nav ul.menu { display: block; padding-bottom: 2em; }
	#header nav ul.menu > li .sub-menu::before,
	#header nav ul.menu .sub-menu li.menu-item-has-children > a::after { display:none; }
	
	#header nav ul.menu .sub-menu {
		position: relative;
    border-top: 1px solid var(--blue);
    opacity: 1;
    visibility: visible;
    margin: 0;
    width: auto;
    border-right: 0;
    border-left: 0;
    border-bottom: 0;
    border-radius: 0;
    background-color: #eaf4fc52;
	}
	#header nav ul.menu li { min-width: auto; max-width: none; }
	#header nav ul.menu li:hover > .sub-menu { margin-top:0; }
	#header nav ul.menu .sub-menu .sub-menu { left: 0; border: 0; margin-top: 0; background-color: #fefefe !important; }
	#header nav ul.menu .sub-menu li:hover > .sub-menu { margin-top:0; }

	#header nav ul.menu > li > a {
		font-size: inherit;
    padding: 10px 25px;
    display: block;
    min-height: auto;
    text-align: left;
    font-weight: bold;
    color: var(--darkblue);
	}
	#header nav ul.menu .sub-menu li:not(:last-child) {  }
	#header nav ul.menu .sub-menu li a { padding: 7px 25px; font-size: .9em; }
	#header nav ul.menu .sub-menu li:first-child a,	#header nav ul.menu .sub-menu li:last-child a { border-radius: 0; }
	#header .sub-arrow { display:none; }

	#header-links { margin-left: auto; }
	#header.scrolled #header-links { 
		width: auto;
		overflow: visible;
		visibility: visible;
		position: relative;
		right: auto;
		opacity: 1;
		color: var(--blue);
	}
	#header.scrolled #header-links a { color: var(--blue); }
	#header.scrolled #header-links a i { color:var(--white);  }
	#header.header-page.scrolled #header-links a#header-contact { background-color: var(--verylightblue); }

/*heading*/
	#site-heading .container { text-align:center; }

/*	home*/
	#home article { width: calc((100% / 3) - 1em); }

/*une formation*/
	#page.formation-content .getwid-padding-left-large { padding-left: 20px; }
	#page.formation-content .getwid-padding-right-large { padding-left: 20px; }

	/*footer*/
	footer .footer-widget:last-child { position: relative; top: 0; right:auto; }
	footer .footer-widget:last-child .wp-block-group.is-vertical { align-items: center; flex-direction: row; justify-content: center; }

}

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

	/*app list*/
	.app-list.col-3 .one-app { width: calc((100% - 1em) / 2); }
	.app-list.col-4 .one-app { width:calc((100% - 2em) / 3);  }
	.product-list .one-product { width: calc((100% - 2em) / 3); }

}

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

/*page*/
	.wp-block-group.is-content-justification-center:has(.bulle) { margin-top: 3em; }
	.wp-block-group.is-content-justification-center:has(.bulle) .wp-block-group.bulle { margin-top: 0em; }
	.page-content hr.is-style-wave { margin-top:30px; margin-bottom:30px; }

/*home*/
	#home article { width: calc((100% - 1em) / 2); }

/*single product*/
	.product-summary { flex-direction: column; }
	.product-gallery {width: 100%; max-width: 500px; }
	.product-details { width: 100%; }
	.product-details h1 { margin: 15px 0 20px; }
	.product-gallery .product-slider figure { height: 290px; }
	.button-summary.fixed {
		position: fixed;
    top: 53px;
    background: var(--lightblue);
    left: 0;
    z-index: 100;
    width: 100%;
    padding: 10px;
    border-top: 3px solid var(--white);
	}

/*Footer*/
	footer .wp-block-separator { width:100%; margin: 0; }
	footer .wp-block-image img {max-width: 250px; margin: 0 auto; display: block; }
	footer .is-vertically-aligned-center p { text-align:center; }
	footer .wp-block-column:last-child { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 2em; }
	footer .wp-block-column:last-child .wp-block-getwid-icon-box { margin: 0 !important; margin-block-start: 0; }  
	footer .wp-block-group.is-content-justification-center { margin-block-start: 0; }
}

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

	/*general*/
	/*:root {
		--wp--preset--font-size--xx-large : 2em;
		--wp--preset--font-size--x-large : 1.6em;
		--wp--preset--font-size--large : 1.4em;

	}*/
	body { font-size: 14px; }
	.page-content .has-background:not(.wp-block-getwid-section__background):not(.wp-block-getwid-icon__wrapper):not(.wp-block-getwid-content-timeline__bar):not(.wp-block-getwid-icon-box__icon-wrapper):not(.wp-block-media-text):not(.wp-block-getwid-progress-bar__bar):not(.wp-block-button__link):not(:has(.wp-block-cover)) { padding: 1em 1.5em; }
	.wp-block-getwid-accordion .wp-block-getwid-icon-box.has-icon-left { flex-direction: column; }
	.getwid-padding-right-large { padding-right: 15px; }
	.getwid-padding-left-large { padding-left: 15px; }

	.wpcf7-form .col-50 { width: 100%; }

/*	header*/
	#header .logo { max-width: 180px; }
	#header #open-menu {   margin-left: 5px; }
	#header nav { top: 60px; height: calc(100vh - 60px); }
	#header.scrolled nav { top: 52px; height: calc(100vh - 52px); }

/*app*/
	.app-list.col-3 .one-app, .app-list.col-2 .one-app, .app-list.col-4 .one-app { width: 100%; }
	.page-content .wp-block-getwid-tabs__nav-link a { min-width: 110px; padding:12px 15px !important; }

	/*product list*/
	.product-list .one-product { width: calc((100% - 1em) / 2); }

	/*product*/
	.product-applications ul li { width: 100%; }
	.wpcf7 .form-col { gap: 0; flex-direction: column; }
	.wpcf7 .form-col > * { width: 100%; }

}

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

	#home article, #home.home-2-news article { width: 100%; }

	footer .menu-pied-de-page-container { margin-top: 20px; }
	footer .widget_nav_menu .menu { gap: 1em; }
	footer .widget_nav_menu .menu .media-link { margin-left: 0; }
	footer .wp-block-group.is-content-justification-center { flex-wrap: wrap; gap: 10px 2em; }

}

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

	.product-list .one-product { width: 100%; }

}