@charset "utf-8";
/*imports*/
@import url(reset.css);
@import "/fontawesome/css/fontawesome.min.css";
@import "/fontawesome/css/brands.min.css";
@import "/fontawesome/css/solid.min.css";
@import url(animations.css);
/*variables*/
/*mixins*/
/*styles*/
body {
  -webkit-tap-highlight-color: transparent;
}
html,
body {
  height: 100%;
  background: #fff;
}
html {
  /*GLOBAL*/
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 1em;
  color: #000;
  background: #fff;
  overflow-x: hidden;
  /*FORMULAIRES*/
}
html .mobile {
  display: none;
}
html .center {
  position: relative;
  width: 1140px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html a {
  text-decoration: none;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  outline-style: none !important;
}
html a:hover {
  text-decoration: none;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html em {
  font-style: italic;
}
html .lightbox {
  display: none;
}
html .violet {
  color: #c03d79;
}
html h1,
html h2,
html h3,
html h4,
html h5,
html h6,
html .titre {
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
}
html .bgnav {
  float: left;
  position: fixed;
  display: none;
  z-index: 800;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
}
html #preheader {
  float: left;
  position: relative;
  z-index: 99999;
  width: 100%;
  height: 40px;
  overflow: hidden;
  background: #fff;
}
html #preheader .message {
  float: left;
  position: relative;
  width: 100%;
  height: 40px;
  line-height: 40px;
  font-size: 1em;
  text-align: center;
  color: #000;
}
html #preheader .message strong {
  font-weight: 700;
}
html #preheader #langues {
  float: left;
  position: absolute;
  right: 0px;
  top: 0;
  height: 40px;
  line-height: 40px;
}
html #preheader #langues a {
  color: #3a3d87;
}
html #preheader #langues a:hover {
  color: #c03d79;
}
html #preheader #langues strong {
  font-weight: 900;
}
html header {
  float: left;
  position: fixed;
  top: 40px;
  left: 0;
  z-index: 99999;
  width: 100%;
  color: #fff;
  background: #fff;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html header .top {
  float: left;
  position: relative;
  width: 100%;
  height: 85px;
  padding-top: 15px;
  padding-bottom: 15px;
  background: #3a3d87;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header .top .logo {
  float: left;
  text-align: left;
}
html header .top .logo img {
  width: 139px;
  height: auto;
}
html header .top .center {
  height: 100%;
}
html header .top .accroche {
  float: left;
  height: 100%;
  display: grid;
  align-items: center;
  margin-left: 25px;
  font-size: 1.1em;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-weight: 400;
}
html header .top .accroche em {
  font-style: normal;
  color: #c03d79;
}
html header .top .accroche strong {
  font-weight: 700;
}
html header .top address {
  float: right;
  width: auto;
  margin-top: 6px;
}
html header .top address div {
  display: inline-block;
  width: auto;
  position: relative;
  margin-left: 45px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header .top address div span {
  display: block;
  position: relative;
  padding-left: 20px;
  line-height: 1.4em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header .top address div span i {
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.4em;
}
html header .top address div span a {
  color: #fff;
}
html header .top address div span a:hover {
  color: #c03d79;
}
html header nav {
  float: left;
  width: 100%;
  background: #fff;
  border-bottom: 2px solid #c03d79;
}
html header nav ul.niv1 {
  float: left;
  position: relative;
  width: 100%;
}
html header nav ul.niv1 li.niv1 {
  float: left;
}
html header nav ul.niv1 li.niv1 a.niv1 {
  float: left;
  height: 55px;
  line-height: 55px;
  margin-left: 12px;
  margin-right: 12px;
  color: #3a3d87;
  font-size: 1em;
  font-weight: 400;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1 a.niv1 strong {
  font-weight: 700;
}
html header nav ul.niv1 li.niv1 a.niv1:hover {
  color: #c03d79;
}
html header nav ul.niv1 li.niv1 a.niv1.boels:hover {
  color: #dd6e00;
}
html header nav ul.niv1 li.niv1 a.niv1.active {
  color: #c03d79;
  background: url("/images/communs/active.png") no-repeat center bottom;
}
html header nav ul.niv1 li.niv1 a.boels {
  position: relative;
  color: #ef7d00;
  padding-left: 40px;
  margin-right: 0;
}
html header nav ul.niv1 li.niv1 a.boels img {
  position: absolute;
  left: 0;
  top: 11px;
  height: 35px;
  width: auto;
}
html header nav ul.niv1 li.niv1 .ssmenu {
  display: none;
}
html header nav ul.niv1 li.niv1 form {
  float: left;
  width: 280px;
  text-align: right;
  margin-top: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1 form input {
  float: right;
  display: inline-block;
  width: 80%;
  padding: 7px;
  height: 35px;
  border: 0;
  background: #dbf8fc;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1 form input::placeholder {
  font-size: 0.9em;
}
html header nav ul.niv1 li.niv1 form button {
  float: right;
  display: inline-block;
  width: 20%;
  padding: 7px;
  height: 35px;
  font-size: 1em;
  line-height: normal;
  text-align: center;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  color: #fff;
  background: #c03d79;
  cursor: pointer;
  border: 0;
  -webkit-border-top-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -moz-border-radius-topright: 10px;
  -moz-border-radius-bottomright: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1 form button:before {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #fff;
}
html header nav ul.niv1 li.niv1 form button:hover {
  color: #fff;
  background: #C85186;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html header nav ul.niv1 li.niv1 form button:before:after {
  color: #fff;
}
html header nav ul.niv1 li.search {
  float: right;
}
html header nav ul.niv1 li.niv1:first-child a.niv1 {
  margin-left: 0px;
}
html header nav ul.niv1 li.niv1:hover .ssmenu {
  position: absolute;
  z-index: 1000;
  display: inline;
  float: left;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  top: 55px;
  border-top: 2px solid #c03d79;
}
html header nav ul.niv1 li.niv1:hover .ssmenucontainer {
  float: left;
  width: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
  background: #f3f4f1;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 {
  float: left;
  width: 100%;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 {
  float: left;
  width: 25%;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 a.niv2 {
  display: flex;
  align-items: center;
  float: left;
  width: 100%;
  height: 40px;
  padding-left: 15px;
  font-size: 1em;
  font-weight: 700;
  color: #000;
  border-left: 3px solid #f3f4f1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 a.niv2 .picto {
  flex-shrink: 0;
  float: left;
  display: block;
  width: 30px !important;
  height: 30px !important;
  margin-top: 4px;
  margin-right: 5px;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 a.niv2 .picto img {
  float: left;
  width: 98%;
  height: auto;
  margin-left: 1%;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 a.niv2 .texte {
  display: flex;
  align-items: center;
  flex: 1;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 a.niv2:hover {
  border-left: 3px solid #3a3d87;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 ul.niv3 {
  float: left;
  width: 100%;
  padding-left: 32px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 ul.niv3 li.niv3 {
  float: left;
  width: 100%;
  border-left: 2px solid #c03d79;
  padding-left: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 ul.niv3 li.niv3 a.niv3 {
  float: left;
  width: 100%;
  color: #c03d79;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 0.9em;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 ul.niv3 li.niv3 a.niv3:before {
  padding-right: 5px;
  content: "";
  font-family: "Font Awesome 6 Pro";
  font-size: 0.8em;
  color: #c03d79;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2 ul.niv3 li.niv3 a:hover {
  color: #3a3d87;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2.services {
  float: left;
  width: 33%;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2.services a.niv2 {
  height: 50px;
  padding-left: 15px;
  font-size: 1em;
}
html header nav ul.niv1 li.niv1:hover ul.niv2 li.niv2.services a.niv2 .picto {
  width: 40px !important;
  height: 40px !important;
  margin-top: 4px;
  margin-right: 5px;
}
html header.scrolled {
  position: fixed;
  top: 0;
  left: 0;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html header#pro .top {
  background: #c03d79;
}
html header#pro .top .accroche em {
  color: #3a3d87;
}
html #preheader.lower {
  z-index: 900;
}
html header.lower {
  position: relative;
  float: left;
  top: 0;
  z-index: 900;
}
html #appel {
  position: fixed;
  z-index: 700;
  bottom: 30px;
  right: 10px;
  width: 150px !important;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  text-align: center;
  padding: 5px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  background: none;
}
html #appel .ligne1 {
  float: left;
  width: 100%;
  color: #c03d79;
  font-size: 0.9em;
  font-weight: 900;
}
html #appel .ligne2 {
  float: left;
  width: 100%;
  color: #c03d79;
  font-size: 1.2em;
  font-weight: 900;
  margin-bottom: 5px;
}
html #appel .ligne3 {
  float: left;
  width: 100%;
  color: #3a3d87;
  font-size: 1.2em;
  font-weight: 900;
  margin-bottom: 17px;
}
html #appel img {
  float: right;
  width: 95px;
  height: auto;
  margin-right: 25px;
}
html #appel.lower {
  z-index: 500;
}
html #breadcrumb {
  float: left;
  width: 100%;
  margin-bottom: 20px;
}
html #breadcrumb li {
  float: left;
  font-size: 0.8em;
  margin-right: 5px;
  color: #7e7e7e;
}
html #breadcrumb li i {
  font-size: 0.6em;
}
html #breadcrumb li a {
  color: #7e7e7e;
}
html #breadcrumb li .current {
  color: #3a3d87;
  font-weight: 700;
}
html main {
  float: left;
  width: 100%;
  margin-top: 164px;
  background: #fff;
  /* ============================
            TEGO – Sections spécifiques
            ============================ */
}
html main .slideshow {
  float: left;
  position: relative;
  width: 100%;
  height: 300px;
}
html main .slideshow .rslides {
  position: relative;
  z-index: 700;
  list-style: none;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
html main .slideshow .rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  z-index: 800;
  display: inline;
  width: 100%;
  height: 300px;
  overflow: hidden;
  left: 0;
  top: 0;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html main .slideshow .rslides li .image-left {
  float: left;
  width: 29%;
  height: 100%;
  -webkit-background-size: cover;
  /* pour anciens Chrome et Safari */
  background-size: cover;
  background-position: center center;
}
html main .slideshow .rslides li .image {
  float: left;
  width: 50%;
  height: 100%;
  -webkit-background-size: contain;
  /* pour anciens Chrome et Safari */
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
html main .slideshow .rslides li .image a {
  float: left;
  width: 100%;
  height: 100%;
}
html main .slideshow .rslides li .text-center {
  float: left;
  display: flex;
  align-items: center;
  width: 42%;
  height: 100%;
  padding-left: 40px;
  padding-right: 40px;
  background: #c03d79;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-center div {
  text-align: center;
  width: 100%;
}
html main .slideshow .rslides li .text-center .title {
  text-align: center;
  font-size: 1.1em;
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
}
html main .slideshow .rslides li .text-center .text {
  padding-top: 20px;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  text-align: center;
  font-size: 1.4em;
  line-height: 1.2em;
  color: #fff;
}
html main .slideshow .rslides li .text-center .text .alternate {
  font-weight: 400;
}
html main .slideshow .rslides li .text-center .text p em {
  font-size: 0.6em;
}
html main .slideshow .rslides li .text-center .text a {
  display: inline-block;
  padding: 7px;
  margin-top: 40px;
  font-size: 0.5em;
  line-height: normal;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  color: #3a3d87;
  background: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .slideshow .rslides li .text-center .text a:after {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #c03d79;
}
html main .slideshow .rslides li .text-center .text a:hover {
  color: #fff;
  background: #3a3d87;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .slideshow .rslides li .text-center .text a:hover:after {
  color: #fff;
}
html main .slideshow .rslides li .image-right {
  float: right;
  width: 29%;
  height: 100%;
  -webkit-background-size: cover;
  /* pour anciens Chrome et Safari */
  background-size: cover;
  background-position: center center;
}
html main .slideshow .rslides li .text-right {
  float: left;
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  width: 50%;
  height: 100%;
  background: #c03d79;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-right .promotions {
  position: absolute;
  top: 20px;
  left: 30px;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 1.4em;
  line-height: 1.2em;
  color: #fff;
}
html main .slideshow .rslides li .text-right .promotions .ligne2 {
  opacity: 0.7;
}
html main .slideshow .rslides li .text-right .promotions .ligne3 {
  opacity: 0.3;
}
html main .slideshow .rslides li .text-right .promotions .ligne4 {
  opacity: 0.1;
}
html main .slideshow .rslides li .text-right .percentage {
  position: absolute;
  top: 20px;
  right: 30px;
}
html main .slideshow .rslides li .text-right .percentage .circle {
  width: 90px;
  height: 90px;
  line-height: 90px;
  color: #3a3d87;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 1.8em;
  text-align: center;
  background: #fff;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
}
html main .slideshow .rslides li .text-right .percentage .star1 {
  position: absolute;
  top: -10px;
  right: 86px;
  font-size: 1.8em;
  color: #2c2e57;
}
html main .slideshow .rslides li .text-right .percentage .star2 {
  position: absolute;
  top: 50px;
  right: 110px;
  font-size: 1.2em;
  color: #2c2e57;
}
html main .slideshow .rslides li .text-right .percentage .star3 {
  position: absolute;
  top: 90px;
  right: 70px;
  font-size: 0.9em;
  color: #2c2e57;
}
html main .slideshow .rslides li .text-right .percentage .star4 {
  position: absolute;
  top: 85px;
  right: -10px;
  font-size: 2.2em;
  color: #2c2e57;
}
html main .slideshow .rslides li .text-right .price {
  float: right;
  width: 100%;
  padding-top: 160px;
  padding-right: 30px;
  color: #fff;
  font-size: 1.8em;
  text-align: right;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-right .price strike {
  font-size: 0.7em;
  text-decoration: line-through;
  opacity: 0.4;
  margin-right: 10px;
}
html main .slideshow .rslides li .text-right .title {
  float: right;
  width: 100%;
  padding-top: 5px;
  padding-right: 30px;
  color: #fff;
  font-size: 1.4em;
  text-align: right;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-right .ref {
  float: right;
  width: 100%;
  padding-top: 5px;
  padding-right: 30px;
  color: #fff;
  font-size: 0.9em;
  text-align: right;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-right .link {
  float: right;
  width: 100%;
  padding-top: 10px;
  padding-right: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .slideshow .rslides li .text-right .link a {
  float: right;
  position: relative;
  z-index: 1000;
  padding: 6px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 0.7em;
  line-height: normal;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 700;
  color: #3a3d87;
  background: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .slideshow .rslides li .text-right .link a:after {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #c03d79;
}
html main .slideshow .rslides li .text-right .link a:hover {
  color: #fff;
  background: #3a3d87;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .slideshow .rslides li .text-right .link a:hover:after {
  color: #fff;
}
html main .slideshow .rslides_nav {
  display: none;
}
html main .slideshow .rslides_tabs {
  position: absolute;
  z-index: 700;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  text-align: center;
  padding-left: 2px;
  padding-right: 2px;
  background: rgba(211, 120, 161, 0.8);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  overflow: hidden;
}
html main .slideshow .rslides_tabs li {
  float: left;
  margin-left: 3px;
  margin-right: 3px;
  margin-bottom: 2px;
}
html main .slideshow .rslides_tabs li a {
  text-indent: -9999px;
  overflow: hidden;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.4);
  display: inline-block;
  width: 9px;
  height: 9px;
}
html main .slideshow .rslides_tabs li.rslides_here a {
  background: #ffffff;
}
html main .virtual-visit {
  float: left;
  width: 100%;
  margin-top: 20px;
}
html main .virtual-visit .content {
  float: left;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 65px;
  color: #fff;
  background: #3a3d87;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html main .virtual-visit .content .label {
  display: inline-block;
  height: 30px;
  line-height: 30px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: 40px;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 1.1em;
  text-transform: uppercase;
  color: #3a3d87;
  background: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .virtual-visit .content .text {
  display: inline-block;
  width: 450px;
}
html main .virtual-visit .content .text .picto {
  float: left;
  height: 40px;
  width: auto;
  margin-right: 10px;
}
html main .virtual-visit .content .text p {
  line-height: 1.2em;
}
html main .virtual-visit .content .text p strong {
  font-weight: 700;
}
html main .virtual-visit .content .deco {
  height: 100%;
  width: auto;
}
html main .virtual-visit .content a {
  display: inline-block;
  padding: 6px;
  padding-left: 10px;
  padding-right: 10px;
  margin-right: 40px;
  font-size: 0.7em;
  line-height: normal;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 700;
  color: #3a3d87;
  background: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .virtual-visit .content a:after {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #c03d79;
}
html main .virtual-visit .content a:hover {
  color: #fff;
  background: #c03d79;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .virtual-visit .content a:hover:after {
  color: #fff;
}
html main .categories {
  float: left;
  position: relative;
  width: 100%;
  height: 250px;
  margin-top: 20px;
  margin-bottom: 20px;
}
html main .categories h2 {
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  color: #3a3d87;
  padding-bottom: 20px;
  font-size: 1.4em;
}
html main .categories ul.slider-categories {
  float: left;
  z-index: 99;
  position: relative;
  width: 100%;
}
html main .categories ul.slider-categories li {
  float: left;
  width: 190px !important;
  margin-right: 20px;
  height: 210px;
  color: #fff;
  background: #3a3d87;
  overflow: hidden;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .categories ul.slider-categories li a {
  float: left;
  width: 100%;
  text-align: center;
}
html main .categories ul.slider-categories li a .image {
  float: left;
  width: 100%;
  height: 125px;
  -webkit-background-size: cover;
  /* pour anciens Chrome et Safari */
  background-size: cover;
  background-position: center center;
}
html main .categories ul.slider-categories li a .title {
  float: left;
  height: 52px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-align: center;
  color: #fff;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-weight: 400;
}
html main .categories ul.slider-categories li a i {
  position: relative;
  color: #fff;
  line-height: 1.8em;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .categories ul.slider-categories li a:hover i {
  margin-right: -15px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .categories-big {
  float: left;
  position: relative;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}
html main .categories-big h2 {
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  color: #3a3d87;
  padding-bottom: 20px;
  font-size: 1.4em;
}
html main .categories-big ul {
  float: left;
  z-index: 99;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
html main .categories-big ul li {
  width: 49%;
  height: 210px;
  overflow: hidden;
  margin-bottom: 20px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .categories-big ul li a {
  float: left;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-align: center;
  -webkit-background-size: cover;
  /* pour anciens Chrome et Safari */
  background-size: cover;
  background-position: center center;
}
html main .categories-big ul li a .title {
  position: relative;
  z-index: 200;
  display: inline-block;
  padding: 10px;
  height: auto;
  width: auto;
  min-width: 30%;
  color: #fff;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-weight: 400;
  background-color: #3a3d87;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html main .categories-big ul li a i {
  position: relative;
  color: #fff;
  padding-top: 10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .categories-big ul li a .bg {
  float: left;
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #3a3d87;
  opacity: 0.5;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .categories-big ul li a:hover i {
  margin-right: -15px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .categories-big ul li a:hover .bg {
  float: left;
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .maintitle {
  float: left;
  width: 100%;
}
html main .maintitle .content {
  float: left;
  display: flex;
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  background: #c03d79;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .maintitle .content .picto {
  float: left;
  width: 50px;
  height: auto;
  padding: 20px;
  opacity: 0.5;
}
html main .maintitle .content h1 {
  z-index: 102;
  padding-top: 40px;
  padding-bottom: 40px;
  font-size: 1.6em;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
html main .maintitle .content .deco {
  position: absolute;
  z-index: 100;
  top: 5%;
  right: 20px;
  height: 90%;
  width: auto;
  opacity: 0.5;
}
html main .products-list {
  float: left;
  position: relative;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}
html main .products-list h2 {
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  color: #3a3d87;
  padding-bottom: 20px;
  font-size: 1.4em;
}
html main .products-list ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
  margin: 0;
  justify-content: flex-start;
  margin-bottom: 50px;
}
html main .products-list ul li {
  position: relative;
  padding: 10px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li a .photo,
html main .products-list ul li .itemproduct .photo {
  float: left;
  width: 100%;
  height: 230px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  overflow: hidden;
}
html main .products-list ul li a .photo img.imgprod,
html main .products-list ul li .itemproduct .photo img.imgprod {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translate(-50%, -50%);
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li a .photo .discount,
html main .products-list ul li .itemproduct .photo .discount {
  position: absolute;
  z-index: 200;
  top: 0px;
  right: 0px;
  height: 85px;
  width: 85px;
  line-height: 90px;
  text-align: center;
  color: #fff;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 1.8em;
  background: #c03d79;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
}
html main .products-list ul li a .text,
html main .products-list ul li .itemproduct .text {
  float: left;
  position: relative;
  width: 100%;
  height: 145px;
}
html main .products-list ul li a .text .brand,
html main .products-list ul li .itemproduct .text .brand {
  float: left;
  width: 100%;
  color: #c03d79;
  padding-top: 10px;
  height: 25px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .products-list ul li a .text .brand img,
html main .products-list ul li .itemproduct .text .brand img {
  max-height: 20px;
  width: auto;
}
html main .products-list ul li a .text .title,
html main .products-list ul li .itemproduct .text .title {
  float: left;
  width: 100%;
  height: 80px;
  color: #3a3d87;
  font-weight: 600;
  overflow: hidden;
  padding-top: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .products-list ul li a .text .price,
html main .products-list ul li .itemproduct .text .price {
  float: left;
  width: 100%;
  color: #c03d79;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  text-align: right;
}
html main .products-list ul li a .text .price strike,
html main .products-list ul li .itemproduct .text .price strike {
  font-size: 0.8em;
  margin-right: 10px;
  text-decoration: line-through;
  opacity: 0.5;
}
html main .products-list ul li a .text .link,
html main .products-list ul li .itemproduct .text .link {
  float: left;
  width: 100%;
  padding-top: 5px;
  text-align: right;
  font-size: 0.7em;
  font-weight: 600;
  text-transform: uppercase;
  color: #3a3d87;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li a .text .link i,
html main .products-list ul li .itemproduct .text .link i {
  color: #c03d79;
}
html main .products-list ul li a:hover .photo img,
html main .products-list ul li .itemproduct:hover .photo img {
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li a:hover .text .link,
html main .products-list ul li .itemproduct:hover .text .link {
  color: #c03d79;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li::before:hover {
  background: #eaebf6;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list ul li.outofstock {
  opacity: 0.5;
  filter: grayscale(1);
}
html main .products-list ul li.noproduct {
  padding: 0;
}
html main .products-list ul li.noproduct a .photo {
  height: 395px;
  display: inline;
  background: #c03d79;
}
html main .products-list ul li.noproduct a .photo img {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: auto;
}
html main .products-list ul li.noproduct a .photo p {
  position: absolute;
  width: 100%;
  top: 20px;
  padding: 20px;
  font-size: 1.4em;
  line-height: 1.4em;
  font-weight: 700;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .products-list #csvMore {
  display: inline-block;
  padding: 15px;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 1.2em;
  line-height: normal;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  color: #fff;
  background: #c03d79;
  cursor: pointer;
  border: 0;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list #csvMore:before {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #fff;
}
html main .products-list #csvMore:hover {
  color: #fff;
  background: #3a3d87;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .products-list #csvMore:before:after {
  color: #fff;
}
html main .ajax-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
  z-index: 9999;
}
html main .ajax-overlay.is-visible {
  display: flex;
}
html main .ajax-overlay__box {
  background: #fff;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
}
html main .brands {
  float: left;
  position: relative;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 40px;
}
html main .brands h3 {
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  color: #3a3d87;
  padding-bottom: 20px;
  font-size: 1.2em;
  text-align: center;
}
html main .brands .content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 30px;
  margin: 0 auto;
  justify-content: center;
}
html main .brands .content a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .brands .content a img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
html main .presentation {
  float: left;
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
}
html main .presentation .textepresentation {
  float: left;
  width: 69%;
  margin-right: 1%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .presentation .textepresentation h1 {
  font-size: 1.4em;
  color: #c03d79;
  padding-bottom: 20px;
}
html main .presentation .textepresentation h2 {
  font-size: 1.2em;
  color: #3a3d87;
  padding-bottom: 20px;
}
html main .presentation .textepresentation p {
  line-height: 1.4em;
  padding-bottom: 20px;
}
html main .presentation .textepresentation p a {
  color: #c03d79;
}
html main .presentation .textepresentation p strong {
  font-weight: 700;
  color: #3a3d87;
}
html main .presentation .image {
  float: right;
  width: 29%;
  margin-left: 1%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .presentation .image img {
  float: right;
  width: 100%;
  height: auto;
}
html main .product {
  float: left;
  width: 100%;
}
html main .product .slideshow-product {
  float: left;
  width: 35%;
  margin-bottom: 30px;
}
html main .product .slideshow-product .image {
  float: left;
  position: relative;
  width: 100%;
  border: 1px solid #dddddd;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
}
html main .product .slideshow-product .image img {
  width: 90%;
  height: auto;
  object-fit: contain;
  margin: 5%;
  cursor: zoom-in;
}
html main .product .slideshow-product ul {
  float: left;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 0;
  margin-top: 10px;
  justify-content: flex-start;
}
html main .product .slideshow-product ul li {
  height: 85px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dddddd;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .product .slideshow-product ul li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
html main .product .infos {
  float: right;
  width: 60%;
}
html main .product .infos h1 {
  float: left;
  width: 100%;
  font-size: 1.6em;
  color: #3a3d87;
  margin-bottom: 10px;
}
html main .product .infos h2 {
  float: left;
  width: 100%;
  font-size: 1em;
  color: #3a3d87;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  margin-bottom: 10px;
}
html main .product .infos p {
  float: left;
  width: 100%;
  margin-top: 20px;
  line-height: 1.4em;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  font-size: 1em;
  color: #3a3d87;
  text-align: justify;
}
html main .product .infos .price {
  float: left;
  width: 100%;
}
html main .product .infos .price .discount {
  float: right;
  width: 70px;
  height: 70px;
  line-height: 70px;
  color: #fff;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 1.6em;
  text-align: center;
  background: #3a3d87;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
}
html main .product .infos .price .euros {
  float: right;
  width: 100%;
  padding-top: 30px;
  color: #c03d79;
  font-size: 1.8em;
  text-align: right;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .product .infos .price .euros strike {
  font-size: 0.7em;
  text-decoration: line-through;
  opacity: 0.4;
  margin-right: 10px;
}
html main .product .infos .price .ref {
  float: right;
  width: 100%;
  padding-top: 20px;
  text-align: right;
  color: #3a3d87;
  font-size: 0.7em;
  font-weight: 400;
  text-transform: uppercase;
}
html main .product .infos .price .ref strong {
  font-weight: 900;
  font-size: 1.2em;
  line-height: 25px;
}
html main .product .infos .price .ref strong em {
  line-height: 35px;
  font-size: 1.2em;
  font-style: normal;
  animation: clignote 1s infinite;
  color: #FF8C00;
}
html main .product .infos .price .ref strong.rupture em {
  color: #e73233;
}
html main .product .infos .price .ref strong.rupture a {
  text-transform: initial;
  color: #c03d79;
}
html main .product .infos .precisions {
  float: left;
  width: 100%;
  padding-top: 40px;
  text-align: right;
  font-weight: 700;
  font-size: 1em;
  color: #c03d79;
}
html main .product .infos .buttons {
  float: right;
  margin-top: 30px;
}
html main .product .infos .buttons .callus,
html main .product .infos .buttons .infosplus {
  float: left;
  position: relative;
  height: 50px;
  padding: 5px;
  padding-left: 50px;
  padding-right: 15px;
  margin-left: 10px;
  color: #fff;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  line-height: 1.4em;
  font-size: 0.7em;
  text-transform: uppercase;
  background: #3a3d87;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex: 1;
}
html main .product .infos .buttons .callus i,
html main .product .infos .buttons .infosplus i {
  position: absolute;
  left: 15px;
  top: 15px;
  font-size: 2em;
}
html main .product .infos .buttons .callus strong,
html main .product .infos .buttons .infosplus strong {
  font-weight: 700;
  font-size: 1.2em;
}
html main .product .infos .buttons .infosplus {
  background: #c03d79;
}
html main .product .infos .buttons .callus:hover {
  background: #2c2e57;
}
html main .product .infos .buttons .infosplus:hover {
  background: #C85186;
}
html main .product .infos .specifications {
  float: left;
  width: 100%;
  padding: 20px;
  margin-top: 40px;
  margin-bottom: 40px;
  background: #f1f1f4;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html main .product .infos .specifications h3 {
  float: left;
  width: 100%;
  font-size: 1em;
  color: #3a3d87;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
}
html main .product .infos .specifications .content {
  float: left;
  width: 100%;
  column-count: 2;
  column-gap: 20px;
}
html main .product .infos .specifications .content p {
  font-size: 0.9em;
  text-align: left;
}
html main .product .infos .specifications .content b,
html main .product .infos .specifications .content strong {
  font-weight: 700;
}
html main .editable-text {
  float: left;
  width: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  color: #3a3d87;
}
html main .editable-text h1 {
  font-size: 1.6em;
  padding-bottom: 30px;
}
html main .editable-text h2 {
  font-size: 1.2em;
  padding-bottom: 20px;
}
html main .editable-text img[style*="float: left"] {
  margin-right: 20px;
}
html main .editable-text img[style*="float: right"] {
  margin-left: 20px;
}
html main .editable-text p {
  padding-bottom: 20px;
  font-size: 1em;
  line-height: 1.4em;
  font-weight: 400;
}
html main .editable-text p strong,
html main .editable-text p b {
  font-weight: 600;
}
html main .editable-text p .violet {
  color: #c03d79;
}
html main .editable-text p a {
  color: #c03d79;
}
html main .editable-text p a:hover {
  color: #C85186;
}
html main .editable-text ul {
  padding-bottom: 20px;
  font-size: 1em;
  line-height: 1.4em;
  font-weight: 400;
}
html main .editable-text ul strong,
html main .editable-text ul b {
  font-weight: 600;
}
html main .editable-text ul .violet {
  color: #c03d79;
}
html main .editable-text ul li:before {
  padding-right: 10px;
  content: "";
  font-family: "Font Awesome 6 Pro";
  color: #c03d79;
  font-size: 0.8em;
}
html main .editable-text .encartpro {
  display: inline-block;
  width: 100%;
  background: #3a3d87;
  color: #fff;
  padding: 20px;
  margin-bottom: 20px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .editable-text .encartpro h2 {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .editable-text .encartpro p {
  padding-bottom: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html main .editable-text .encartpro img {
  float: left;
  padding-right: 25px;
  width: 200px;
  height: auto;
}
html main .editable-text .encartpro a {
  float: right;
  display: inline-block;
  padding: 7px;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 40px;
  font-size: 1em;
  line-height: normal;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  color: #3a3d87;
  background: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .editable-text .encartpro a:before {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #3a3d87;
}
html main .editable-text .encartpro a:hover:before {
  color: #fff;
}
html main .editable-text .encartpro a:hover {
  color: #fff;
  background: #c03d79;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .editable-text .encartpro a:before:after {
  color: #fff;
}
html main .editable-text a.btn {
  display: inline-block;
  padding: 7px;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 40px;
  font-size: 1em;
  line-height: normal;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-weight: 400;
  color: #fff;
  background: #c03d79;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .editable-text a.btn:before {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #fff;
}
html main .editable-text a.btn:hover {
  color: #fff;
  background: #3a3d87;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .editable-text a.btn:before:after {
  color: #fff;
}
html main .tego-page,
html main .auto-page {
  /* ----- Grille utilitaire locale ----- */
  /* ======================
               Pour qui ?  (.cibles)
               ====================== */
  /* ===========================
               Pourquoi TEGO ? (.promesse)
               =========================== */
  /* ======================================
               Notre service – timeline (.service)
               ====================================== */
  /* ======================================
               Galerie (thumbs + avant/après)
               ====================================== */
  /* ============================
               Configurations (.config)
               ============================ */
  /* ============================
               Options – Chip list (.options)
               ============================ */
  /* ==============================
               Ce que vous gagnez (.confiance)
               ============================== */
  /* ============================
               Contact – Bandeau (.contact)
               ============================ */
}
html main .tego-page a.btn--arrow:before,
html main .auto-page a.btn--arrow:before {
  content: " ";
}
html main .tego-page .grid,
html main .auto-page .grid {
  display: grid;
  gap: 24px;
}
html main .tego-page .grid.cols-2,
html main .auto-page .grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
html main .tego-page .grid.cols-3,
html main .auto-page .grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 980px) {
  html main .tego-page .grid.cols-3,
  html main .auto-page .grid.cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  html main .tego-page .grid.cols-2,
  html main .auto-page .grid.cols-2,
  html main .tego-page .grid.cols-3,
  html main .auto-page .grid.cols-3 {
    grid-template-columns: 1fr;
  }
}
html main .tego-page .cibles,
html main .auto-page .cibles {
  padding-top: 30px;
}
html main .tego-page .cibles h2,
html main .auto-page .cibles h2 {
  position: relative;
  clear: both;
  display: block;
  color: #3a3d87;
  padding-top: 30px;
  margin-bottom: 16px;
}
html main .tego-page .cibles .grid,
html main .auto-page .cibles .grid {
  align-items: stretch;
}
html main .tego-page .cibles .card,
html main .auto-page .cibles .card {
  position: relative;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #e9e9ee;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -webkit-box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  -moz-transition: all 0.25s ease 0s;
  -webkit-transition: all 0.25s ease 0s;
  -o-transition: all 0.25s ease 0s;
  transition: all 0.25s ease 0s;
  /* barre d’accent en haut */
}
html main .tego-page .cibles .card:before,
html main .auto-page .cibles .card:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #c03d79 0%, #3a3d87 100%);
  -webkit-border-radius: 12px 12px 0 0;
  -moz-border-radius: 12px 12px 0 0;
  border-radius: 12px 12px 0 0;
}
html main .tego-page .cibles .card h3,
html main .auto-page .cibles .card h3 {
  color: #3a3d87;
  margin: 8px 0 10px;
}
html main .tego-page .cibles .card p,
html main .auto-page .cibles .card p {
  line-height: 1.45;
}
html main .tego-page .cibles .card:hover,
html main .auto-page .cibles .card:hover {
  transform: translateY(-2px);
  border-color: #dcdce6;
  -webkit-box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
}
html main .tego-page .promesse,
html main .auto-page .promesse {
  margin-top: 60px;
  background: #e6fffa;
  padding: 26px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  border-radius: 14px;
}
html main .tego-page .promesse h2,
html main .auto-page .promesse h2 {
  color: #3a3d87;
  margin-bottom: 12px;
}
html main .tego-page .promesse .icon-list,
html main .auto-page .promesse .icon-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 22px;
  margin: 0;
  padding-left: 0;
}
html main .tego-page .promesse .icon-list li,
html main .auto-page .promesse .icon-list li {
  position: relative;
  list-style: none;
  padding-left: 30px;
  /* puce check */
}
html main .tego-page .promesse .icon-list li:before,
html main .auto-page .promesse .icon-list li:before {
  content: "";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  left: 0;
  top: 3px;
  color: #c03d79;
}
@media (max-width: 780px) {
  html main .tego-page .promesse .icon-list,
  html main .auto-page .promesse .icon-list {
    grid-template-columns: 1fr;
  }
}
html main .tego-page .service,
html main .auto-page .service {
  margin-top: 60px;
}
html main .tego-page .service h2,
html main .auto-page .service h2 {
  color: #3a3d87;
  margin-bottom: 10px;
}
html main .tego-page .service .steps,
html main .auto-page .service .steps {
  counter-reset: step;
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
html main .tego-page .service .steps li,
html main .auto-page .service .steps li {
  position: relative;
  padding: 18px 18px 18px 56px;
  background: #fff;
  border: 1px solid #ececf3;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  /* numéro rond */
}
html main .tego-page .service .steps li:before,
html main .auto-page .service .steps li:before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 16px;
  top: 16px;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  color: #fff;
  background: #c03d79;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
  -webkit-box-shadow: 0 3px 10px rgba(192, 61, 121, 0.35);
  -moz-box-shadow: 0 3px 10px rgba(192, 61, 121, 0.35);
  box-shadow: 0 3px 10px rgba(192, 61, 121, 0.35);
}
html main .tego-page .service .steps li h3,
html main .auto-page .service .steps li h3 {
  margin: 0 0 6px;
  color: #3a3d87;
}
html main .tego-page .service .steps li p,
html main .auto-page .service .steps li p {
  margin: 0;
}
@media (max-width: 900px) {
  html main .tego-page .service .steps,
  html main .auto-page .service .steps {
    grid-template-columns: 1fr;
  }
}
html main .tego-page .galerie,
html main .auto-page .galerie {
  margin-top: 60px;
  /* Bloc avant/après (si tu utilises deux images) */
  /* Si tes images "avant|après" sont déjà fusionnées avec un gros trait blanc,
                   on ajoute juste des badges côté gauche/droit pour clarifier visuellement */
}
html main .tego-page .galerie h2,
html main .auto-page .galerie h2 {
  color: #3a3d87;
  margin-bottom: 6px;
}
html main .tego-page .galerie .gallery-block,
html main .auto-page .galerie .gallery-block {
  margin-top: 18px;
}
html main .tego-page .galerie .gallery-block h3,
html main .auto-page .galerie .gallery-block h3 {
  color: #c03d79;
  margin-bottom: 12px;
}
html main .tego-page .galerie .gallery-block .thumbs figure,
html main .auto-page .galerie .gallery-block .thumbs figure {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e9e9ee;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
html main .tego-page .galerie .gallery-block .thumbs figure img,
html main .auto-page .galerie .gallery-block .thumbs figure img {
  display: block;
  width: 100%;
  height: 338px;
  object-fit: cover;
}
html main .tego-page .galerie .gallery-block .thumbs figure figcaption,
html main .auto-page .galerie .gallery-block .thumbs figure figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  font-size: 0.9em;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  padding: 6px 10px;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
}
html main .tego-page .galerie .before-after,
html main .auto-page .galerie .before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}
html main .tego-page .galerie .before-after .col,
html main .auto-page .galerie .before-after .col {
  background: #fff;
  border: 1px solid #ececf3;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  overflow: hidden;
}
html main .tego-page .galerie .before-after .col h4,
html main .auto-page .galerie .before-after .col h4 {
  margin: 10px 12px 0;
  color: #3a3d87;
}
html main .tego-page .galerie .before-after .col img,
html main .auto-page .galerie .before-after .col img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}
@media (max-width: 780px) {
  html main .tego-page .galerie .before-after,
  html main .auto-page .galerie .before-after {
    grid-template-columns: 1fr;
  }
  html main .tego-page .galerie .gallery-block .thumbs figure img,
  html main .auto-page .galerie .gallery-block .thumbs figure img {
    height: 200px;
  }
}
html main .tego-page .galerie .thumbs figure.merged:after,
html main .auto-page .galerie .thumbs figure.merged:after,
html main .tego-page .galerie .thumbs figure.merged:before,
html main .auto-page .galerie .thumbs figure.merged:before {
  position: absolute;
  top: 12px;
  font-size: 0.85em;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  padding: 5px 8px;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
}
html main .tego-page .galerie .thumbs figure.merged:before,
html main .auto-page .galerie .thumbs figure.merged:before {
  content: "3D";
  left: 12px;
}
html main .tego-page .galerie .thumbs figure.merged:after,
html main .auto-page .galerie .thumbs figure.merged:after {
  content: "Réalisation";
  right: 12px;
}
html main .tego-page .config,
html main .auto-page .config {
  margin-top: 60px;
  background: #fbfbfd;
  padding: 24px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  border-radius: 14px;
}
html main .tego-page .config h2,
html main .auto-page .config h2 {
  color: #3a3d87;
  margin-bottom: 12px;
}
html main .tego-page .config .grid.cols-2 > div,
html main .auto-page .config .grid.cols-2 > div {
  padding: 16px;
  background: #fff;
  border: 1px solid #ececf3;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
html main .tego-page .config .grid.cols-2 > div h3,
html main .auto-page .config .grid.cols-2 > div h3 {
  color: #c03d79;
  margin: 0 0 10px;
}
html main .tego-page .config .grid.cols-2 > div ul,
html main .auto-page .config .grid.cols-2 > div ul {
  margin: 0;
  padding-left: 20px;
}
html main .tego-page .config .grid.cols-2 > div ul li,
html main .auto-page .config .grid.cols-2 > div ul li {
  margin-bottom: 6px;
}
html main .tego-page .options,
html main .auto-page .options {
  margin-top: 60px;
}
html main .tego-page .options h2,
html main .auto-page .options h2 {
  color: #3a3d87;
  margin-bottom: 10px;
}
html main .tego-page .options .chip-list,
html main .auto-page .options .chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
html main .tego-page .options .chip-list .chip,
html main .auto-page .options .chip-list .chip {
  display: inline-block;
  padding: 8px 12px;
  font-weight: 600;
  color: #3a3d87;
  background: #eef5ff;
  border: 1px solid #dae7ff;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
  -moz-transition: all 0.15s ease 0s;
  -webkit-transition: all 0.15s ease 0s;
  -o-transition: all 0.15s ease 0s;
  transition: all 0.15s ease 0s;
}
html main .tego-page .options .chip-list .chip:hover,
html main .auto-page .options .chip-list .chip:hover {
  color: #fff;
  background: #c03d79;
  border-color: #C85186;
  transform: translateY(-1px);
}
html main .tego-page .options .muted,
html main .auto-page .options .muted {
  color: #7c7c88;
  margin-top: 8px;
}
html main .tego-page .confiance,
html main .auto-page .confiance {
  margin-top: 60px;
  margin-bottom: 60px;
}
html main .tego-page .confiance h2,
html main .auto-page .confiance h2 {
  color: #3a3d87;
  margin-bottom: 10px;
}
html main .tego-page .confiance .icon-list,
html main .auto-page .confiance .icon-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}
html main .tego-page .confiance .icon-list li,
html main .auto-page .confiance .icon-list li {
  position: relative;
  padding-left: 34px;
}
html main .tego-page .confiance .icon-list li:before,
html main .auto-page .confiance .icon-list li:before {
  content: "";
  /* trophée */
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  left: 0;
  top: 2px;
  color: #3a3d87;
}
@media (max-width: 780px) {
  html main .tego-page .confiance .icon-list,
  html main .auto-page .confiance .icon-list {
    grid-template-columns: 1fr;
  }
}
html main .tego-page .contact,
html main .auto-page .contact {
  margin-top: 60px;
  margin-bottom: 60px;
  /* bandeau full-width */
}
html main .tego-page .contact .banner,
html main .auto-page .contact .banner {
  position: relative;
  padding: 24px 20px;
  color: #fff;
  background: linear-gradient(90deg, #3a3d87 0%, #c03d79 100%);
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
}
html main .tego-page .contact .banner h2,
html main .auto-page .contact .banner h2 {
  color: #fff;
  margin: 0 0 6px;
}
html main .tego-page .contact .banner p,
html main .auto-page .contact .banner p {
  margin: 0 0;
  padding: 0;
  font-size: 1.2em;
}
html main .tego-page .contact .banner .cta-row,
html main .auto-page .contact .banner .cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
html main .tego-page .contact .banner .cta-row a.btn,
html main .auto-page .contact .banner .cta-row a.btn {
  display: inline-block;
  padding: 10px 16px;
  font-weight: 700;
  color: #3a3d87;
  background: #fff;
  border: 0;
  -webkit-border-radius: 999px;
  -moz-border-radius: 999px;
  border-radius: 999px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html main .tego-page .contact .banner .cta-row a.btn:hover,
html main .auto-page .contact .banner .cta-row a.btn:hover {
  color: #fff;
  background: #2c2e57;
}
html main .tego-page .contact .banner .cta-row a.btn-outline,
html main .auto-page .contact .banner .cta-row a.btn-outline {
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.7);
}
html main .tego-page .contact .banner .cta-row a.btn-outline:hover,
html main .auto-page .contact .banner .cta-row a.btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
}
html main.discount {
  float: left;
  min-height: 100vh;
  margin-top: 0;
  background: #c03d79;
}
html main.discount .catalog {
  float: left;
  width: 80%;
  margin-left: 10%;
  margin-top: 40px;
  margin-bottom: 50px;
}
html main.promotions {
  float: left;
  margin-top: 0;
  background: url("/images/discount/bg.png") repeat;
}
html main.promotions h1 {
  display: inline-block;
  position: relative;
  padding: 15px 40px;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
  font-size: 2.2em;
  color: #fff;
  background: rgba(58, 61, 135, 0.8);
  transform: rotate(-2deg);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  margin: 20px auto;
  text-align: center;
}
html main.promotions h1:before {
  content: "✦";
  position: absolute;
  left: -18px;
  top: -10px;
  font-size: 1.4em;
  color: #FBA439;
  transform: rotate(-20deg);
}
html main.promotions h1:after {
  content: "✦";
  position: absolute;
  right: -18px;
  bottom: -10px;
  font-size: 1em;
  color: #FBA439;
  transform: rotate(15deg);
}
html main.promotions .intro {
  padding: 15px;
  margin-bottom: 20px;
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
html main.promotions li.promo {
  border: 5px solid rgba(192, 61, 121, 0.8);
  background: #fff;
  transition: transform 0.2s ease;
}
html main.promotions li.promo:hover {
  border: 5px solid rgba(192, 61, 121, 0.2);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
html main.promotions li.promo:nth-child(4n+1) {
  transform: rotate(-1.2deg);
}
html main.promotions li.promo:nth-child(4n+2) {
  transform: rotate(0.8deg);
}
html main.promotions li.promo:nth-child(4n+3) {
  transform: rotate(-0.6deg);
}
html main.promotions li.promo:nth-child(4n+4) {
  transform: rotate(1deg);
}
html main.promotions li.promo:hover {
  transform: rotate(0deg) scale(1.03);
}
html main.promotions li.promo .photo {
  background: #fff;
}
html main.promotions li.promo .photo .labelpromo {
  position: absolute;
  z-index: 999;
  top: 10px;
  right: 10px;
  background: #c03d79;
  font-size: 1.6em;
  width: 90px;
  height: 90px;
  line-height: 95px;
}
html main.promotions li.promo .price {
  color: #e73233;
  font-size: 1.4em;
}
html main.promotions li.promo .price strike {
  color: #888;
}
html main.promotions li.promo .price span {
  position: absolute;
  z-index: 200;
  top: -200px;
  right: 0px;
  font-size: 1em;
  display: block;
  color: #fff;
  padding: 5px;
  background: #c03d79;
  border-bottom: 2px solid rgba(0, 0, 0, 0.3);
  border-right: 2px solid rgba(0, 0, 0, 0.3);
}
html #bandeau_services,
html #bandeau_services_big {
  float: left;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #e6fffa;
}
html #bandeau_services .container,
html #bandeau_services_big .container {
  display: flex;
  gap: 40px;
}
html #bandeau_services .container a.block,
html #bandeau_services_big .container a.block {
  flex-grow: 1;
  text-align: center;
  color: #3a3d87;
}
html #bandeau_services .container a.block .image,
html #bandeau_services_big .container a.block .image {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
html #bandeau_services .container a.block .image img,
html #bandeau_services_big .container a.block .image img {
  height: 75px;
  width: auto;
}
html #bandeau_services .container a.block .h3,
html #bandeau_services_big .container a.block .h3 {
  float: left;
  width: 100%;
  margin-bottom: 15px;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
}
html #bandeau_services .container a.block .text,
html #bandeau_services_big .container a.block .text {
  float: left;
  width: 100%;
  font-size: 0.8em;
  margin-bottom: 15px;
}
html #bandeau_services .container a.block:hover .image img,
html #bandeau_services_big .container a.block:hover .image img {
  margin-bottom: 10px;
  margin-top: -10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html #bandeau_services .deco,
html #bandeau_services_big .deco {
  float: right;
  width: 40%;
  height: auto;
  margin-top: 30px;
}
html #bandeau_services_big {
  padding-top: 50px;
  padding-bottom: 100px;
}
html #bandeau_services_big .container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}
html #bandeau_services_big .container a.block {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #dcfcf6;
  border: 1px solid #c7ede6;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html #bandeau_services_big .container a.block .image {
  width: 50%;
  margin-bottom: 0px;
}
html #bandeau_services_big .container a.block .image img {
  height: 145px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html #bandeau_services_big .container a.block .texts {
  float: right;
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding-right: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html #bandeau_services_big .container a.block .texts .h3 {
  float: none;
  display: flex;
  width: auto;
}
html #bandeau_services_big .container a.block .texts .text {
  float: none;
  display: flex;
  width: auto;
  font-size: 0.9em;
  margin-bottom: 0px;
}
html #bandeau_services_big .container a.block:hover {
  background: #c7ede6;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html #bandeau_services_big .container a.block:hover .image img {
  margin-top: -5px;
  margin-bottom: 5px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html #bandeau_services_big .container a.boels {
  color: #fff;
  background: #ef7d00;
  border: 1px solid #C64309;
}
html #bandeau_services_big .container a.boels.block:hover {
  background: #dd6e00;
}
html #bandeau_services_big .deco {
  position: absolute;
  bottom: -80px;
  right: 0;
}
html #bandeau_services_big .deco2 {
  float: right;
  width: 40%;
  height: auto;
  margin-top: 30px;
  margin-bottom: -80px;
  position: relative;
}
html .more-products .content {
  float: left;
  width: 100%;
  text-align: center;
  padding: 20px;
  background: #c03d79;
  font-size: 1.2em;
  line-height: 1.2em;
  border-radius: 5px;
  margin-bottom: 30px;
  color: #fff;
}
html .more-products a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}
html .more-products a:hover {
  text-decoration: underline;
}
html #cartefid .bannierecarte,
html #cartepro .bannierecarte {
  float: left;
  position: relative;
  width: 100%;
  aspect-ratio: 1140 / 256;
  margin-top: 20px;
  overflow: hidden;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html #cartefid .bannierecarte #animation_container,
html #cartepro .bannierecarte #animation_container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  position: relative;
}
html #cartefid .bannierecarte #canvas,
html #cartepro .bannierecarte #canvas {
  width: 100% !important;
  height: auto !important;
  display: block;
}
html #cartefid .bannierecarte #dom_overlay_container,
html #cartepro .bannierecarte #dom_overlay_container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}
html #cartefid p.center,
html #cartepro p.center {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
html #cartefid p.center a.btn:before,
html #cartepro p.center a.btn:before {
  content: " ";
  font-family: "Font Awesome 6 Pro";
  color: #fff;
}
html .faq {
  max-width: 80%;
  margin: 0 auto;
  padding: 20px;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  background: #e6fffa;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html .faq h2 {
  font-size: 1.4em;
  margin-bottom: 1rem;
  text-align: center;
}
html .faq .faq-item {
  border-bottom: 1px solid #C7EDE6;
}
html .faq .faq-item input {
  display: none;
}
html .faq .faq-item label {
  display: block;
  padding: 20px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}
html .faq .faq-item label::after {
  content: "+";
  position: absolute;
  right: 10px;
  font-size: 1.2em;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html .faq .faq-item input:checked + label::after {
  content: "–";
}
html .faq .faq-item .answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  background: #C7EDE6;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html .faq .faq-item .answer p,
html .faq .faq-item .answer ul {
  margin: 0;
}
html .faq .faq-item input:checked ~ .answer {
  max-height: 500px;
  margin-bottom: 10px;
  padding: 20px;
  padding-bottom: 0;
}
html footer {
  float: left;
  width: 100%;
  color: #fff;
  background: #2c2e57;
}
html footer div.titre {
  float: left;
  width: 100%;
  font-size: 1.1em;
  margin-bottom: 20px;
}
html footer div.ligne {
  float: left;
  width: 100%;
}
html footer .top {
  float: left;
  width: 100%;
  padding-top: 40px;
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}
html footer .top ul {
  float: left;
  width: 100%;
}
html footer .top ul li {
  float: left;
  width: 40%;
  line-height: 1.4em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .top ul li img.logo {
  float: left;
  width: 140px;
  height: auto;
  margin-bottom: 20px;
}
html footer .top ul li address {
  float: left;
  width: 100%;
}
html footer .top ul li address a {
  color: #fff;
}
html footer .top ul li address a:hover {
  color: #c03d79;
}
html footer .top ul li .listehoraires {
  float: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .top ul li .listehoraires .lignehoraire {
  float: left;
  width: 100%;
  line-height: 1.1em;
}
html footer .top ul li .listehoraires .lignehoraire .jour {
  float: left;
  width: 30%;
  height: 1.1em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .top ul li .listehoraires .lignehoraire .horaires {
  float: left;
  width: 70%;
  height: 1.1em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .top ul li .listehoraires .violet {
  font-weight: 700;
}
html footer .top ul li .facebook,
html footer .top ul li .instagram {
  float: right;
  width: 51px;
  height: 51px;
  text-align: center;
  line-height: 51px;
  font-size: 1.8em;
  color: #fff;
  margin-left: 10px;
  margin-bottom: 20px;
  background: #3a3d87;
  -webkit-border-radius: 900px;
  -moz-border-radius: 900px;
  border-radius: 900px;
}
html footer .top ul li:first-child {
  width: 30%;
}
html footer .top ul li:last-child {
  float: right;
  width: 30%;
  text-align: right;
}
html footer .middle {
  float: left;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}
html footer .middle .formulaire input {
  color: #3a3d87;
}
html footer .middle ul.niv1 {
  float: left;
  width: 100%;
}
html footer .middle ul.niv1 li.niv1 {
  float: left;
  width: 25%;
  line-height: 1.4em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .middle ul.niv1 li.niv1 a {
  color: #fff;
}
html footer .middle ul.niv1 li.niv1 a:hover {
  color: #c03d79;
}
html footer .middle ul.niv1 li.niv1 button:hover {
  color: #c03d79;
}
html footer .middle ul.niv1 li.niv1 ul {
  float: left;
  width: 100%;
}
html footer .middle ul.niv1 li.niv1 ul li {
  float: left;
  width: 100%;
  padding-right: 5px;
  padding-bottom: 7px;
  font-size: 0.9em;
  line-height: 1.2em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html footer .middle ul.niv1 li.niv1:first-child {
  width: 25%;
}
html footer .middle ul.niv1 li.niv1:last-child {
  float: right;
  width: 50%;
}
html footer .bottom p {
  float: left;
  width: 100%;
  text-align: center;
  font-size: 0.9em;
  padding-top: 20px;
  padding-bottom: 20px;
}
html footer .bottom p button {
  color: #fff;
  border: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  padding: 0;
  font-size: 1em;
  background: none;
  cursor: pointer;
}
html footer .bottom p a {
  color: #fff;
}
html footer .bottom p a img {
  height: 40px;
  width: auto;
  margin-left: 5px;
  margin-right: 10px;
  margin-bottom: -15px;
}
html footer .bottom p a:hover {
  color: #c03d79;
}
html footer .bottom p button:hover {
  color: #c03d79;
}
html form.form {
  float: left;
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
html form.form section {
  float: left;
  position: relative;
  width: 100%;
  margin-bottom: 25px;
}
html form.form section.small-left {
  width: 49%;
  margin-right: 1%;
}
html form.form section.small-right {
  width: 49%;
  margin-left: 1%;
}
html form.form div.field {
  float: left;
  position: relative;
  width: 100%;
  background: #f3f4f1;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html form.form div.checkboxfield {
  background: transparent;
}
html form.form div.checkboxfield label {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
}
html form.form input[type="text"],
html form.form input[type="password"],
html form.form select,
html form.form textarea {
  float: left;
  width: 100%;
  height: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 1em;
  background: #f3f4f1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html form.form textarea {
  width: 100%;
  margin-left: 0;
  padding: 20px;
  padding-top: 15px;
  height: 80px;
  line-height: 1.2em;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
html form.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
html form.form input[type="checkbox"] {
  width: auto;
  cursor: pointer;
}
html form.form .placeholder {
  position: absolute;
  pointer-events: none;
  font-size: 1em;
  left: 20px;
  top: 13px;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  color: #000;
  transition: 0.2s ease all;
}
html form.form input:focus ~ .placeholder,
html form.form input:-webkit-autofill ~ .placeholder,
html form.form input:not(:placeholder-shown):not(:focus):valid ~ .placeholder,
html form.form select:focus ~ .placeholder,
html form.form select:not(:focus):valid ~ .placeholder,
html form.form input:disabled ~ .placeholder {
  top: 2px;
  left: 20px;
  font-size: 0.6em;
  opacity: 1;
}
html form.form input:disabled {
  color: #f3f4f1;
}
html form.form input.error,
html form.form select.error {
  color: #e73233;
}
html form.form div.error {
  position: absolute;
  top: 40px;
  float: left;
  width: 100%;
  height: auto;
  padding-top: 5px;
  padding-bottom: 2px;
  padding-left: 14px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html form.form div.error label {
  float: left;
  position: relative;
  width: 100%;
  height: auto;
  text-align: left;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 0.8em;
  color: #e73233;
}
html form.form div.error label::before {
  content: '🚫';
  padding-right: 5px;
  color: #e73233;
}
html form.form #adressecomplete {
  float: left;
  width: 100%;
  padding-bottom: 20px;
  font-size: 1.2em;
}
html form.form label {
  cursor: pointer;
  font-family: "Reem Kufi", sans-serif;
  font-weight: 700;
}
html form.form label a {
  color: #c03d79;
}
html form.form label a:hover {
  color: #C85186;
}
html form.form .toggle-password {
  position: absolute;
  right: 20px;
  top: 12px;
  cursor: pointer;
}
html form.form p.infos {
  float: left;
  width: 100%;
  height: auto;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 14px;
  text-align: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html form.form .btn {
  float: right;
  border: 0;
  padding-top: 12px;
  padding-bottom: 8px;
  padding-left: 27px;
  padding-right: 27px;
  font-size: 1.2em;
  color: #fff;
  background: #c03d79;
  cursor: pointer;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html form.form .btn:hover {
  background: #C85186;
  -moz-transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
html section.checkbox div.field {
  background: none;
}
html section.checkbox div.field i {
  position: relative;
  top: initial;
  left: initial;
}
html .featherlight-content {
  width: 450px;
  max-width: 96%;
  margin: 0px !important;
  padding: 10px !important;
  color: #000;
  background: #fff !important;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  overflow: hidden;
}
html .featherlight-content p {
  padding: 20px;
  color: #000;
  line-height: 1.4em;
}
html .featherlight-content #popup .bloc {
  position: relative;
  display: inline-block;
  width: 100%;
  line-height: 1.4em;
  text-align: center;
  margin-top: 20px;
}
html .featherlight-content #popup .bloc p {
  padding: 0;
}
html .featherlight-content #popup .succes i {
  color: #f3f4f1;
}
html .featherlight-content #popup .echec i {
  color: #e73233;
}
html .featherlight-content .featherlight-close {
  color: #000;
}
@keyframes clignote {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*# sourceMappingURL=styles.css.map */