/* ============================
   UTILITAIRES DE MARGE / PADDING
   Compatibles Bootstrap 3.3.7
   ============================ */

/* Échelles : 
   0 = 0px
   1 = 5px
   2 = 10px
   3 = 15px
   4 = 30px
*/

/* ----- MARGES (margin) ----- */
.m-0  { margin: 0 !important; }
.m-1  { margin: 5px !important; }
.m-2  { margin: 10px !important; }
.m-3  { margin: 15px !important; }
.m-4  { margin: 30px !important; }

/* Marges par côté */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 5px !important; }
.mt-2 { margin-top: 10px !important; }
.mt-3 { margin-top: 15px !important; }
.mt-4 { margin-top: 30px !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 5px !important; }
.mb-2 { margin-bottom: 10px !important; }
.mb-3 { margin-bottom: 15px !important; }
.mb-4 { margin-bottom: 30px !important; }

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 5px !important; }
.ml-2 { margin-left: 10px !important; }
.ml-3 { margin-left: 15px !important; }
.ml-4 { margin-left: 30px !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: 5px !important; }
.mr-2 { margin-right: 10px !important; }
.mr-3 { margin-right: 15px !important; }
.mr-4 { margin-right: 30px !important; }

/* Marges horizontales / verticales */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: 5px !important; margin-right: 5px !important; }
.mx-2 { margin-left: 10px !important; margin-right: 10px !important; }
.mx-3 { margin-left: 15px !important; margin-right: 15px !important; }
.mx-4 { margin-left: 30px !important; margin-right: 30px !important; }

.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: 5px !important; margin-bottom: 5px !important; }
.my-2 { margin-top: 10px !important; margin-bottom: 10px !important; }
.my-3 { margin-top: 15px !important; margin-bottom: 15px !important; }
.my-4 { margin-top: 30px !important; margin-bottom: 30px !important; }

/* ----- PADDING (remplissage interne) ----- */
.p-0  { padding: 0 !important; }
.p-1  { padding: 5px !important; }
.p-2  { padding: 10px !important; }
.p-3  { padding: 15px !important; }
.p-4  { padding: 30px !important; }

/* Padding par côté */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 5px !important; }
.pt-2 { padding-top: 10px !important; }
.pt-3 { padding-top: 15px !important; }
.pt-4 { padding-top: 30px !important; }

.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 5px !important; }
.pb-2 { padding-bottom: 10px !important; }
.pb-3 { padding-bottom: 15px !important; }
.pb-4 { padding-bottom: 30px !important; }

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: 5px !important; }
.pl-2 { padding-left: 10px !important; }
.pl-3 { padding-left: 15px !important; }
.pl-4 { padding-left: 30px !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: 5px !important; }
.pr-2 { padding-right: 10px !important; }
.pr-3 { padding-right: 15px !important; }
.pr-4 { padding-right: 30px !important; }

/* Padding horizontaux / verticaux */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: 5px !important; padding-right: 5px !important; }
.px-2 { padding-left: 10px !important; padding-right: 10px !important; }
.px-3 { padding-left: 15px !important; padding-right: 15px !important; }
.px-4 { padding-left: 30px !important; padding-right: 30px !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: 5px !important; padding-bottom: 5px !important; }
.py-2 { padding-top: 10px !important; padding-bottom: 10px !important; }
.py-3 { padding-top: 15px !important; padding-bottom: 15px !important; }
.py-4 { padding-top: 30px !important; padding-bottom: 30px !important; }


/* Pour les contenus du Backend brisé */

@import "../assets/css/shortcodes.css";
@import "../assets/css/fontello.css";
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i|Montserrat:300,400,500,600,700|Droid+Serif&subset=latin");

/* / Pour les contenus du Backend brisé */

/* changement du mauve par défaut pour mon bleu */
:root {
  --primaire: #006e86;
  --vert: #73A536;
  --bleumarin: #0d3154;
  --grisfonce: #414143;
}
body {
  font-family: "Montserrat", sans-serif;
}
h1, h2, h3, h4, h5, h6 {
  color: inherit;
}
ul p {
  margin: 0;
}
ul {
  padding: 0;
  margin: 0 0 0 35px;
}
ul li {
  padding: 0;
}

h1 {
  color: var(--bleumarin);
  font-weight: 700;
  margin-top: 50px;
}
h2, h3 {
  font-weight: normal;
}

a:hover,
.wprt-image-box.left .dd-link a:hover {
  color: #333;
  text-decoration: underline;
}
body.admin a:hover {
  text-decoration: inherit;
}
#site-header a:hover,
#footer a:hover {
  text-decoration: none;
}

.btn-primary {
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 110, 134, 0.4);
}
.btn-outline-primary {
  border-color: var(--primaire);
  color: var(--primaire);
}
.btn-outline-primary:hover,
.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary.focus, 
.btn-primary.active,
.form-check-input:checked, 
.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--primaire) !important;
  border-color: var(--primaire) !important;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 110, 134, 0.4) !important;
}
.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23006e86'/%3e%3c/svg%3e");
  border-color: var(--primaire) !important;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 110, 134, 0.4) !important;
}
.form-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}
.form-check-input:focus {
  border-color: var(--primaire);
  box-shadow: 0 2px 4px 0 rgba(0, 110, 134, 0.4);
}
/*.btn-primary:focus-visible {
  border-color: var(--primaire) !important;
}*/
.btn-primary:focus-visible {
  outline: var(--primaire) !important;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 110, 134, 0.4) !important;
}
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show,
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
  background-color: var(--primaire) !important;
  border-color: var(--primaire) !important;
}


.cursor-pointer {
  right: -1px;
  position: absolute;
  padding: 11px 14px;
  z-index: 2222;
}
/*
.cid-rVtHjeaMYh {
  background-color: var(--gris_pale);
}
.cid-rVtHjeaMYh .title {
  color: unset;
}
.cid-rVtHjeaMYh input[name=submit] {
  text-transform: uppercase;
}
.cid-rVtHjeaMYh .form-control, .cid-rVtHjeaMYh .field-input,
.cid-rVtHjeaMYh .form-control:hover, .cid-rVtHjeaMYh .field-input:hover, .cid-rVtHjeaMYh .form-control:focus, .cid-rVtHjeaMYh .field-input:focus {
  color: var(--grisfonce);
}*/
.form-control {
  border-radius: 0;
  padding: 1rem;
}

section.zone_contenu .mbr-iconfont {
  font-size: 4rem;
  color: #000000;
  width: 100%;
  min-width: 100px;
  display: block;
  justify-content: center;
  align-items: center;
  padding-bottom: 2rem;
}
.socicon-wrap {
  width: fit-content;
  display: flex;
  padding-top: 2rem;
  margin-bottom: 0.8rem;
  margin: auto;
}
.socicon-wrap .mbr-iconfont {
  font-size: 1.1rem !important;
  color: var(--blanc) !important;
  padding: 0;
  margin-right: 1.4rem;
  height: 40px;
  display: flex;
  /*width: 40px;*/
  min-width: auto !important;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  border-radius: 100%;
}
.socicon-wrap .mbr-iconfont:hover {
  color: var(--primaire) !important;
}

.footer {
  background-color: var(--grisfonce);
  color: white;
  padding-top: 105px;
  padding-bottom: 105px;
}
.footer .mbr-text,
.footer .icon-title,
.footer .mbr-form-text {
  color: #999999;
}
.footer a {
  color: #999999;
}
.footer a:hover {
  color: var(--blanc);
}
@media (min-width: 768px) {
  .footer .socicon-wrap {
    width: auto;
  }
}

/*.section,*/
.content_by_zone > .container,
.content_by_zone > .row {
  padding-top: 75px;
  padding-bottom: 75px;
}

.errors ul,
.alert-danger ul,
.alert-info ul {
  /*color: var(--grisfonce);*/
  list-style: none;
  padding: 0;
  margin: 0;
}
.alert-danger,
.errors ul {
  color: #fff;
  background-color: #cc7e7e;
}
.alert-danger .errors ul {
  color: #fff;
}
#infoMessage .errors ul {
  margin-bottom: 1.875rem;
  padding: 1.25rem;
}
.alert {
  font-size: inherit;
}

::-webkit-input-placeholder {
  color: #999999 !important;
}
::-moz-placeholder {
  color: #999999 !important;
}
:-ms-input-placeholder {
  color: #999999 !important;
}
:-moz-placeholder {
  color: #999999 !important;
}

.navbar-nav .nav-link {
  padding: .5rem !important;
}
/* centrer le menu */
.menu ul.navbar-nav {
  margin: 0 auto;
}
.menu .navbar .navbar-collapse {
  z-index: 999;
}

@media (max-width: 991px) {
  .menu .navbar ul.navbar-nav li {
    width: 100%;
  }
  .footer .col-md-6 {
    margin-bottom: 2rem;
  }
}

/* Flèches pointant vers la droite par défaut */
/*.nav-dropdown .link.dropdown-toggle::after {
  margin-left: 0.5rem;
  margin-top: 0.2rem;
  border-top: 0.35em solid transparent;
  border-right: 0;
  border-left: 0.35em solid;
  border-bottom: 0.35em solid transparent;
  color: var(--secondary);
}*/

/* Flèches pointant vers le bas lorsque le menu est ouvert */
/*.nav-item.dropdown.open .link.dropdown-toggle::after {
  margin-left: .25rem;
  border-top: 0.35em solid;
  border-right: 0.35em solid transparent;
  border-left: 0.35em solid transparent;
  border-bottom: 0;
  color: var(--secondary);
}*/


/* ADMIN AREA */

.app-brand-text.demo {
  text-transform: none;
}
.layout-menu-fixed:not(.layout-menu-collapsed) .layout-page.no_menu {
  padding-left: 0;
}
body.dragging, body.dragging * {
  cursor: move !important;
}

.dragged {
  position: absolute;
  opacity: 0.5;
  z-index: 2000;
}

ol.nested_with_switch,
ol.nested_with_switch_content_fr,
ol.nested_with_switch_content_en {
  padding-left: 0;
}
ol.nested_with_switch,
ol.nested_with_switch ol,
ol.nested_with_switch_content_fr,
ol.nested_with_switch_content_en {
  list-style: none;
}
/*ol.nested_with_switch li.placeholder {
  position: relative;
}
ol.nested_with_switch li.placeholder:before {
  position: absolute;
}*/
ol.nested_with_switch_content_fr .list_item,
ol.nested_with_switch_content_en .list_item {
  position: relative;
}

ol.nested_with_switch_content_fr textarea,
ol.nested_with_switch_content_en textarea {
  position: absolute;
}
.hover_div {
  display: none;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.02);
  border: 1px solid #ccc;
  top: 0;
  right: 0;
  text-align: right;
  width: 100%;
  height: 100%;
  z-index: 990;
}
.hover_div a {
  margin-right: 5px;
}

.bt_delete_zone {
  color: #8592a3;
}

.divider .divider-text {
  font-size: 1rem;
}
ol.nested_with_switch > li > .divider .divider-text {
  font-weight: bold;
  font-size: 1.1rem;
}
ol.nested_with_switch ol {
  margin-bottom: 60px;
}

body.dragging, body.dragging * {
  cursor: move !important;
}

.dragged {
  position: absolute;
  opacity: 0.5;
  z-index: 2000;
}

ol.nested_with_switch li.placeholder {
  position: relative;
  /** More li styles **/
}
ol.nested_with_switch li.placeholder:before {
  position: absolute;
  /** Define arrowhead **/
  content: "\eb83";
  font-family: "boxicons" !important;
}

/* icône font-awesome dans la modal dans l'admin */
#fontAwesomeIconsList .btn {
  width: 40px;
  padding: 0.5rem !important;
  margin: 5px;
}
.gallery-div .item {
  max-width: 100px !important;
  margin: 5px !important;
}
.gallery-div .item.active {
  border: 2px solid var(--bs-cyan);
  margin: 3px !important;
}
/* grandeur des images par défaut */
img {
  width: 100%;
}
/* bouton "Ajouter" dans l'admin pour le contenu */
a.add_content_choice {
  display: block;
  background-color: #a1acb8;
  text-align: center;
  color: #fff;
  padding: 5px;
}
a.add_content_choice:hover {
  background-color: var(--bs-secondary);
}
a.add_content {
  display: none;
}

section {
  background-color: transparent;
}
/*section p {
  margin: 0;
}*/

.content_by_zone p {
  margin-bottom: 0;
}

#content_color {
  border: 0;
}
.palette-color-picker-button {
  float: left;
}

.card_white .card-wrapper {
  background-color: var(--blanc);
  padding: 1rem;
  transition: all 0.3s;
}
.card_white .card-wrapper:hover {
  box-shadow: 0 30px 30px -20px rgba(50, 50, 50, 0.3);
}
.card_white .card-box {
  border: 1px solid transparent;
  padding: 2rem 1rem;
  transition: all 0.3s;
}
.card_white .card:hover .card-box {
  border: 1px solid var(--gris_pale);
}

.icon-wrapper {
  margin-right: 1.5rem;
  display: flex;
  justify-content: center;
  border-radius: 50%;
}
.icon-wrapper em {
  display: flex;
}
.card-wrapper {
  display: flex;
}

.testimonial img {
  width: 120px;
  border-radius: 100%;
  object-fit: cover;
  height: 120px;
  margin-bottom: 2rem;
}
.testimonial .display-5 {
  line-height: 1.8;
}
.testimonial .display-4 {
  color: #999999;
}

.fluid_50 {
  padding: 0 14px;
}
.fluid_50 .card {
  padding: 0;
}
.fluid_50 .card .text-wrap {
  position: absolute;
  transition: all 0.3s;
  left: 0;
  padding: 2rem;
  width: 100%;
  top: 50%;
  z-index: 2;
  transform: translateY(-45%);
  margin-bottom: -2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dragArea .col-auto, 
.dragArea .col {
  padding: 0;
}

.mbr-form .btn {
  margin: 0;
  height: 56px;
  padding: 10px 40px;
}

.mbr-text {
  max-width: 500px;
  color: #999999;
  /*text-align: center;*/
  margin: auto;
}

@media (max-width: 991px) {
  .top_menu .navbar-nav:nth-child(2){
    font-size: 12px;
  }
  .navbar-nav .nav-link {
    padding: 0.3rem .5rem !important;
  }
  .card-wrapper .icon-wrapper {
    margin: 0 auto;
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    border-radius: 50%;
  }
  
  /* boxes orange et mauve */
  .fluid_50 .img-wrapper::before {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    /*background: var(--orange);*/ /* couleur mise en JS */
    opacity: 0.8;
    transition: all 0.3s;
    content: '';
    pointer-events: none;
    z-index: 1;
  }
  .fluid_50.img_left .card:nth-child(2),
  .fluid_50.img_right .card:nth-child(1) {
    position: unset;
  }
  
}
@media (max-width: 767px) {
  .card-wrapper {
    flex-direction: column;
    margin: auto;
    text-align: center;
  }
}

.img_container {
  position: relative !important;
}
.link_delete_img {
  position: absolute !important;
  bottom: 0 !important;
  right: 0 !important;
}
.link_delete_img img {
  max-width: 22px !important;
}

#mc-embedded-subscribe-form button[type=submit] {
  padding: 16px 15px 17px 26px;
  margin: 0;
  border: 0;
}

.formulaire .form-control {
  margin-bottom: 20px;
}
.msg_confirm {
  color: #fff;
  background-color: var(--primaire);
  padding: 1.25rem;
}
.msg_erreur {
  color: #fff;
  background-color: #cc7e7e;
  padding: 1.25rem;
}

/* Style pour écraser le CSS du frontend */
body.admin .btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1.53;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  padding: 0.4375rem 1.25rem !important;
  margin: 0 !important;
  font-size: 0.9375rem;
  border-radius: 0.375rem !important;
  transition: all 0.2s ease-in-out;
  border-width: 1px;
}
body.admin .btn-icon {
  padding: 4px 9px !important;
}
body.admin .form-control {
  display: block;
  width: 100%;
  padding: 0.4375rem 0.875rem;
  font-size: 0.9375rem !important;
  font-weight: 400;
  line-height: 1.53;
  color: #697a8d;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #d9dee3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  min-height: unset;
}
body.admin .modal-dialog, 
body.admin .modal-content {
  height: auto;
}
body.admin #image-preview i {
  font-size: 30px;
  margin: 5px;
}
body.admin .card {
  background-color: #fff;
}
body.admin .content_by_zone .card {
  background-color: transparent;
}
body.admin .card {
  border-radius: 0;
  box-shadow: none;
}
body.admin ol.nested_with_switch_content_fr,
body.admin ol.nested_with_switch_content_en {
  border: 2px solid var(--bs-secondary);
}
body.admin .btn-white-outline {
  border-radius: 0 !important;
  border-width: 2px;
  padding: 1rem 2.6rem !important;
}




.title_banner {
  padding: 60px;
  background-color: #f3f3f3;
}
.title_banner H4 {
  color: #ffffff;
}
.title_banner H3 {
  color: #000000;
}



/* *****************
 * *** Nouvelles ***
 * *****************/

.nouvelles_image,
.calendrier_image,
.carrousel_image,
.pages_image,
.partenaires_image {
  position: relative;
}
.nouvelles_image .bt_delete_image_from_nouvelles,
.calendrier_image .bt_delete_image_from_calendrier,
.carrousel_image .bt_delete_image_from_carrousel,
.pages_image .bt_delete_image_from_pages,
.partenaires_image .bt_delete_image_from_partenaires,
.bt_delete_image {
  position: absolute;
  top: 5px;
  right: 5px;
}
.nouvelles_image img,
.calendrier_image img,
.carrousel_image img,
.pages_image img,
.services_image img,
.partenaires_image img,
.galerie_image img {
  width: 100%;
}

/* *******************
 * *** Partenaires ***
 * *******************/
.section_partenaires img,
.cid-rVszo5HLbm .card-title {
  cursor: auto;
}


.nouvelles_grid {
  padding-top: 0px;
  padding-bottom: 60px;
  background-color: #f3f3f3;
  margin-top: -16px;
}
.nouvelles_grid img {
  width: 100%;
  transition: all 0.6s ease-in-out;
}
.nouvelles_grid .img-wrapper {
  margin-bottom: 1.8rem;
  transition: all 0.3s ease-in-out;
}
.nouvelles_grid .card .img-wrapper {
  overflow: hidden;
  position: relative;
}
.nouvelles_grid .card:hover {
  cursor: pointer;
}
.nouvelles_grid .card:hover img {
  transform: scale(1.05);
}
.nouvelles_grid .card:hover .img-wrapper {
  box-shadow: 0 30px 30px -20px rgba(50, 50, 50, 0.3);
}
.nouvelles_grid .mbr-section-title {
  transition: all 0.3s ease-in-out;
}
.nouvelles_grid .mbr-section-date {
  color: #999999;
}
.nouvelles_grid .mbr-section-text {
  color: #999999;
}
.nouvelles_grid .card-wrapper {
  display: block;
}
.nouvelles_card:hover .mbr-section-title {
  color: var(--primaire);
}
.nouvelles_card .image_container {
  background-position: center center !important;
  background-size: cover !important;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
}


/* ******************
 * *** Calendrier ***
 * ******************/
.calendrier_evenements {
  padding-top: 75px;
  padding-bottom: 75px;
  background-color: var(--blanc);
}
.calendrier_evenements .card-wrapper {
  display: flex;
}
.calendrier_evenements .mbr-iconfont {
  font-size: 2rem;
  color: #000000;
  margin-top: 25px;
}
.calendrier_evenements .icon-wrapper {
  margin-right: 1rem;
  display: flex;
  justify-content: center;
  border-radius: 50%;
  width: 50px;
}
.calendrier_evenements h4 {
  margin: 0;
}
.calendrier_evenements .card-text {
  color: #999999;
}
.calendrier_evenements .mbr-text {
  color: #000000;
}
.calendrier_evenements .card-title {
  color: #000000;
}
@media (min-width: 1200px) {
  .calendrier_evenements .mbr-text {
    max-width: 600px;
  }
}
@media (max-width: 767px) {
  .calendrier_evenements .card-wrapper {
    flex-direction: column;
    margin: auto;
    text-align: center;
  }
  .calendrier_evenements .card-wrapper .icon-wrapper {
    margin: 0 auto;
    margin-bottom: 1rem;
  }
}
@media (max-width: 991px) {
  .calendrier_evenements .mbr-text {
    padding-bottom: 2rem;
    max-width: 100%;
  }
}


/* *************************
 * *** Revolution Slider ***
 * *************************/

.tp-banner-container{
	position:relative;
}

.tp-caption{
  width: 100%;
  padding: 0 3%;
  left: 0 !important;
}

.tp-caption.align-right{
	padding-right:30px;
}

.main-revolution h2{
	font-size:48px;
	font-weight:bold;
	color:#333;
	line-height:54px;
  margin: 0 auto;
}
.main-revolution p{
	font-size:16px;
	line-height:22px;
	color:#999;
	margin:0;
  margin: 0 auto;
  padding-bottom: 24px;
}

@media (max-width: 767px) {
  .main-revolution h2{
    font-size:22px;
    line-height:24px;
    padding-bottom: 0.5rem !important;
  }
  .main-revolution p{
    font-size:14px;
    line-height:18px;
  }
}

.main-revolution .bg_text {
  background-color: rgba(0, 0, 0, 0.3);
  padding: 5px 24px;
  width: 50%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .main-revolution .bg_text {
    width: 96%;
  }
}

.main-revolution h2,
.main-revolution p,
.main-revolution h2.style-2,
.main-revolution p.style-2{
	color: #fff;
}

.main-revolution h2,
.main-revolution p {
  white-space: initial;
  text-align: center;
}

.main-revolution a.button{
	margin:0;
}

.main-revolution .great-vibes + h2{
	margin-top:10px;
}

.main-revolution .great-vibes{
	font-size:36px;
	position:relative;
	display:inline-block;
	color:#fff;
	margin-bottom:0;
}

.main-revolution .great-vibes:before{
	content:'';
	display:block;
	width:40px;
	border-top:1px solid #fff;
	border-color:rgba(255,255,255,.6);
	position:absolute;
	top:50%;
	left:-60px;
}

.main-revolution .great-vibes:after{
	content:'';
	display:block;
	width:40px;
	border-top:1px solid #fff;
	border-color:rgba(255,255,255,.5);
	position:absolute;
	top:50%;
	right:-60px;
}

.tparrows.default{ 
	width: 45px; 
	height: 45px; 
	left:-40px!important;
	cursor: pointer; 
	background:#000; 
	background:rgba(24,24,24,0.5); 
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease; 
	transition: all .3s ease; 
	text-align: center; 
	vertical-align:middle; 
	padding-top:12px; 
	border-radius:3px; 
	-webkit-border-radius:3px; 
	-moz-border-radius:3px;
	top:50%!important;
}

.tparrows.default.tp-rightarrow{
	right:-40px!important;
	left:auto!important;
}

.tp-banner-container:hover .tparrows.default{
	left:20px!important;
	right:auto!important;
  z-index: 9999;
}

.tp-banner-container:hover .tparrows.default.tp-rightarrow{
	right:20px!important;
	left:auto!important;
}

.tparrows.default:hover{
	background:var(--primaire);
}

.tparrows.default:before{
	font-family: "FontAwesome";
	font-style: normal;
	font-weight: normal;
	speak: none;
	display: inline-block;
	text-decoration: inherit;
	margin-right: .2em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	margin-left: .2em;
	color:#fff;
	font-size:24px;
	content: "\f054";
	position:absolute;
	left:50%;
	margin-left:-7px;
}

.tparrows.default.tp-leftarrow:before{
	content: '\f053'; 
	margin-left:-10px;
}

/* *****************
 * *** DataTable ***
 * *****************/
 
.table-responsive .row {
  width: 100%;
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
  padding-left: calc(var(--bs-gutter-x) * 0.5);
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  text-decoration: none;
  border: 1px solid #d9dee3;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #697a8d;
  border-color: #d9dee3;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  cursor: default;
  border-color: #d9dee3;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  cursor: not-allowed;
  border-color: #d9dee3;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  border: 1px solid #6c7293;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  cursor: not-allowed;
}
.dataTables_wrapper .dataTables_paginate {
  margin-top: 0;
}

.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus, .pagination li.active > a:not(.page-link), .pagination li.active > a:not(.page-link):hover, .pagination li.active > a:not(.page-link):focus {
  border-color: var(--primaire);
  background-color: var(--primaire);
  color: #fff;
  box-shadow: 0 0.125rem 0.25rem rgba(105, 108, 255, 0.4);
}

.dataTables_wrapper .dataTable thead .sorting::before, .dataTables_wrapper .dataTable thead .sorting_asc::before, .dataTables_wrapper .dataTable thead .sorting_desc::before, .dataTables_wrapper .dataTable thead .sorting_asc_disabled::before, .dataTables_wrapper .dataTable thead .sorting_desc_disabled::before,
.dataTables_wrapper .dataTable thead .sorting::after, .dataTables_wrapper .dataTable thead .sorting_asc::after, .dataTables_wrapper .dataTable thead .sorting_desc::after, .dataTables_wrapper .dataTable thead .sorting_asc_disabled::after, .dataTables_wrapper .dataTable thead .sorting_desc_disabled::after {
  content: "";
}
table.dataTable thead .sorting_asc {
  /*background-image: url("/YourImageFolder/sort_asc.png")*/
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%237a1b17'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 10px) 12px;
  background-repeat: no-repeat;
  background-color: transparent;
}
table.dataTable thead .sorting_desc {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%237a1b17'><polygon points='50,50 100,100 0,100'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 10px) 6px;
  background-repeat: no-repeat;
  background-color: transparent;
}
table.dataTable thead .sorting {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%236c7293'><polygon points='50,0 100,50 50,100 0,50'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 10px) center;
  background-repeat: no-repeat;
  background-color: transparent;
}
table.dataTable thead .sorting_asc_disabled {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%232A3038'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 10px) 12px;
  background-repeat: no-repeat;
  background-color: transparent;
}
table.dataTable thead .sorting_desc_disabled {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%232A3038'><polygon points='50,50 100,100 0,100'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 10px) 6px;
  background-repeat: no-repeat;
  background-color: transparent;
}

.table-border-bottom-0 tr:last-child td, .table-border-bottom-0 tr:last-child th {
  border-bottom-width: 1px;
}

#DataTables_Table_0_length select.form-control {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}


/* Pour style un sous-sous-menu dans l'admin, comme pour les catégories sous Modèles */
body.admin .dropdown-menu a.dropdown-item ~ a.dropdown-item {
  padding-left: 2.7rem;
}
body.admin .tox .tox-editor-header {
  z-index: 1;
}
body.admin .alert-primary {
  background-color: var(--primaire);
}


/* ************** */
/* Module Modèles */
/* ************** */

.modeles_image,
.farmhouse_image,
.inventaire_image,
.subdivision_image {
  position: relative;
}
.modeles_image img,
.farmhouse_image img,
.inventaire_image img {
  width: 100%;
  padding-bottom: 90px;
}
.modeles_image .legende,
.farmhouse_image .legende,
.inventaire_image .legende,
.subdivision_image .legende {
  width: 90% !important;
  position: absolute;
  bottom: 0;
  left: 14px;
}




.section_partenaires .card {
  cursor: default !important;
}

a.card-link {
  display: block;
}



.fil_ariane {
  padding: 110px 0;
}
#featured-title #breadcrumbs .breadcrumbs-inner {
  color: #fff;
  text-align: center;
  display: block;
  font-weight: 900;
  font-size: 50px;
  text-shadow: 3px 3px rgba(0, 0, 0, 0.3);
  text-transform: uppercase;
}

@media (max-width: 479px) {
  #featured-title #breadcrumbs .breadcrumbs-inner {
    font-size: 40px;
  }
}

/* Icône Filters */
#modeles-filtre {
  position: absolute;
  line-height: 24px;
  height: 42px;
  top: 0;
  right: 15px;
  z-index: 1000;
}
#modeles-filtre a {
  font-size: 30px;
  line-height: 38px;
  color: #979797;
}
#modeles-filtre a:hover,
#modeles-filtre a.active {
  color: var(--vert);
}
#modeles-filtre span {
  font-family: 'Droid Serif', serif;
  display: inline-block;
  line-height: 42px;
  top: 0;
  position: absolute;
  right: 44px;
}

/* Pop-up filtre */
#popup-filtre {
  position: absolute; /* maintenant attachée au fond, scroll avec la page */
  width: 300px;
  max-width: 90%;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 15px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  display: none;
  top: 50px;
  right: 50px;
  z-index: 1050;
}

#popup-filtre h3 {
  color: #000000;
  margin-top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#popup-filtre h3 .close-popup {
  cursor: pointer;
  font-size: 34px;
  line-height: 24px;
}

#popup-filtre .form-group {
  margin-bottom: 10px;
}

#popup-filtre select {
  padding: 8px 12px;
  margin-bottom: 10px;
  -webkit-appearance: auto;
}

#popup-filtre .filtre_a {
  line-height: 38px;
}

#popup-filtre .btn {
  width: 100%;
}

#popup-filtre .btn {
  border-radius: unset;
  border: 0;
  font-weight: bold;
  font-size: 12px;
}
#popup-filtre .btn:hover {
 background-color: var(--grisfonce); 
}

#popup-filtre a {
  font-size: 12px;
}

.filtre_reset {
  display: block;
  margin-top:5px;
}

body.page #main-content {
  z-index: 99;
  position: relative;
}

/* Overlay invisible pour détecter clic à l'extérieur */
#popup-overlay {
  display: none;
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1040;
}



/* POUR G&E RENO CONSTRUCTION */

#sidebar .widget.widget.widget_information ul.style-2::after, #footer-widgets .widget.widget_information ul.style-2::after {
  background: transparent;
}

body:not(.admin) a:not(.wprt-button):not(.page-numbers) {
  color: var(--vert);
}
#sidebar .widget ul li a:hover, #footer-widgets .widget ul li a:hover {
  color: var(--vert);
}
#footer-widgets .widget ul li a {
  line-height: 18px;
}
#featured-title #breadcrumbs a {
  color: var(--vert);
}
#footer-widgets.style-1 .widget .widget-title > span::after, #footer-widgets.style-2 .widget .widget-title > span::after {
  background-color: var(--vert);
}
#sidebar .widget.widget_socials .socials a:hover::before, #footer-widgets .widget.widget_socials .socials a:hover::before {
  background-color: var(--vert);
  border-color: var(--vert);
}
#main-nav > ul > li > a:hover, #main-nav > ul > li.current-menu-item > a {
  color: var(--vert);
}
#main-nav .sub-menu li a:hover {
  color: var(--vert);
}
#site-header.style-5 #main-nav > ul > li.current-menu-item > a, #site-header.style-5 #main-nav > ul > li > a:hover {
  color: var(--vert);
}
#main-nav > ul > li > a:hover,
#main-nav .sub-menu li a:hover {
  text-decoration: underline;
}
#main-nav-mobi ul > li > a:hover {
  color: var(--vert);
}

#main-nav-mobi ul > li > a {
  color: #fff;
}

/* empêcher que le menu tombe sous le logo */
#site-header.style-1 #main-nav, #site-header.style-5 #main-nav {
  margin-left: 240px;
}
#main-nav > ul > li {
  padding: 0 36px 0 0;
}
#main-nav > ul > li:last-child {
  padding-right: 0;
}
#site-header.style-1 #main-nav > ul > li > a, #site-header.style-5 #main-nav > ul > li > a {
  height: 30px;
  line-height: 30px;
}

#scroll-top::before {
  background-color: var(--vert);
}
#top-bar::after {
  background-color: #282828;
}
#site-header {
  background-color: #282828;
}
#project-filter .cbp-filter-item:hover, #project-filter .cbp-filter-item.cbp-filter-item-active {
  background-color: var(--vert);
}
#featured-title .featured-title-inner-wrap {
  padding: 16px 0;
}
#site-logo-inner {
  position: relative;
  margin-top: -58px;
  margin-bottom: -12px;
  z-index: 999;
}
@media (max-width: 767px) {
  #site-logo-inner {
    margin-top: -12px;
    margin-bottom: -12px;
  }
  #site-logo-inner img {
    height: 70px;
    width: auto;
  }
}
@media (max-width: 479px) {
  #site-logo-inner {
    margin: 0;
  }
}
#site-header-inner {
  padding-bottom: 20px;
}
#featured-title {
  background-color: #979797;
}
#service-wrap .cbp-nav-next::before, #service-wrap .cbp-nav-prev::before, #testimonials-wrap .cbp-nav-next::before, #testimonials-wrap .cbp-nav-prev::before, #projects .cbp-nav-next::before, #projects .cbp-nav-prev::before, #partner-wrap .cbp-nav-next::before, #partner-wrap .cbp-nav-prev::before, #team-wrap .cbp-nav-next::before, #team-wrap .cbp-nav-prev::before, #images-wrap .cbp-nav-next::before, #images-wrap .cbp-nav-prev::before {
  background-color: var(--vert);
}
.bullet-style-2 #service-wrap .cbp-nav-pagination-active, .bullet-style-2 #projects .cbp-nav-pagination-active, .bullet-style-2 #testimonials-wrap .cbp-nav-pagination-active, .bullet-style-2 #partner-wrap .cbp-nav-pagination-active, .bullet-style-2 #team-wrap .cbp-nav-pagination-active, .bullet-style-2 #images-wrap .cbp-nav-pagination-active {
  background-color: var(--vert);
}
.bullet-style-2 #service-wrap .cbp-nav-pagination-item, .bullet-style-2 #projects .cbp-nav-pagination-item, .bullet-style-2 #testimonials-wrap .cbp-nav-pagination-item, .bullet-style-2 #partner-wrap .cbp-nav-pagination-item, .bullet-style-2 .widget_twitter .cbp-nav-pagination-item, .bullet-style-2 #team-wrap .cbp-nav-pagination-item, .bullet-style-2 #images-wrap .cbp-nav-pagination-item {
  border: 1px solid var(--vert);
}
.animsition-loading::after {
  border-top-color: var(--vert);
}
.wprt-button,
body.admin .wprt-button,
#tinymce .wprt-button {
  background-color: var(--vert);
  border: 2px solid var(--vert);
  
  padding: 0.425em 1.75em;
  font-size: 0.928em;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  display: inline-block;
  color: #fff;
  -webkit-transition: all ease .238s;
  -moz-transition: all ease .238s;
  transition: all ease .238s;
}
body.admin .wprt-button.rounded-3px,
#tinymce .wprt-button.rounded-3px {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.wprt-toggle.active .toggle-title {
  background-color: var(--vert);
  border-color: var(--vert);
  text-transform: uppercase;
}
.wprt-lines.custom-1 .line-1,
.wprt-lines.custom-2 .line-1,
.wprt-lines.custom-3 .line-1 {
  background-color: var(--vert);
}
.wprt-icon-box.accent-background.icon-effect-1 .dd-icon,
.wprt-icon-box.accent-background.icon-effect-2 .dd-icon {
  background-color: var(--vert);
}
.wprt-icon-box.accent-background.icon-effect-1 .dd-icon::after {
  background-color: var(--vert);
}
.wprt-icon-box.accent-background .dd-icon,
.wprt-icon-box.icon-left.accent-background .dd-icon {
  box-shadow: inset 0 0 0 2px var(--vert);
}
.wprt-icon-box.accent-background.icon-effect-1:hover .dd-icon,
.wprt-icon-box.icon-left.accent-background:hover .dd-icon {
  color: var(--vert);
}
.text-accent-color {
  color: var(--vert) !important;
}
.wprt-section.promotion {
  background-color: var(--vert);
}
.service-item .title a:hover {
  color: var(--vert);
}
.wprt-list.accent-color li::before {
  color: var(--vert);
}
.wprt-icon-box.icon-left .dd-title a:hover {
  color: var(--vert);
}

body:not(.admin) button:not(.toggle-icon-menu):not(.btn-close):not(.tox-mbtn):not(.tox-tbtn):not(.nav-link):not(.save-zone), input[type="button"], input[type="reset"], input[type="submit"] {
  background-color: var(--vert);
}
button.btn-danger {
  background-color: #ff3e1d !important;
}
button#moderne_addImageField,
button#farmhouse_addImageField,
button#addImageField {
  background-color: #fff;
}
button.save-zone {
  color: white;
  background-color: var(--primaire);
  margin-top: 10px;
  padding: 5px 10px 3px;
}
.btn-outline-primary:hover, .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary.active, .form-check-input:checked, .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--grisfonce) !important;
  border-color: var(--grisfonce) !important;
}

/* onglets */
.filter_style_2 .nav-tabs a {
  border: 1px solid var(--vert);
  padding: 5px 50px !important;
  text-transform: uppercase;
  margin: 0;
}
.filter_style_2 .panel-default {
  border: 0;
}
.filter_style_2 .panel {
  box-shadow: none;
}
.filter_style_2 .panel-default > .panel-heading {
  color: transparent;
  background-color: transparent;
  border: 0;
}
.filter_style_2 .nav-tabs {
  border-bottom: 0;
  margin: 0;
  display: flex;
  justify-content: center;
}
.filter_style_2 .nav-tabs > li {
  margin-bottom: 0;
}
.filter_style_2 .nav-tabs > li > a {
  border-radius: 0;
}
.filter_style_2 .nav-tabs > li.active > a, .filter_style_2 .nav-tabs > li.active > a:focus, .filter_style_2 .nav-tabs > li.active > a:hover {
  color: #fff;
  background-color: var(--vert);
  border: 1px solid var(--vert);
}
.filter_style_2 .panel-body h4 {
  text-transform: uppercase;
}
.filter_style_2 .wprt-information ul li {
  margin-bottom: 0px;
  padding: 0 0 0 40px;
}
.filter_style_2 .wprt-information ul.custom-list li::before {
  background-color: transparent;
  content: "\f00c";
  font-family: "FontAwesome";
  color: var(--vert);
}
/* /onglets */

.div_contenu_fr,
.div_contenu_en {
  font-family: "Montserrat", sans-serif;
}
.div_contenu_fr h1, .div_contenu_fr h2, .div_contenu_fr h3, .div_contenu_fr h4, .div_contenu_fr h5, .div_contenu_fr h6,
.div_contenu_en h1, .div_contenu_en h2, .div_contenu_en h3, .div_contenu_en h4, .div_contenu_en h5, .div_contenu_en h6,
.div_contenu_fr h1 a, .div_contenu_fr h2 a, .div_contenu_fr h3 a, .div_contenu_fr h4 a, .div_contenu_fr h5 a, .div_contenu_fr h6 a,
.div_contenu_en h1 a, .div_contenu_en h2 a, .div_contenu_en h3 a, .div_contenu_en h4 a, .div_contenu_en h5 a, .div_contenu_en h6 a {
  color: inherit;
}
.div_contenu_fr h1,
.div_contenu_fr h2,
.div_contenu_fr h3,
.div_contenu_fr h4,
.div_contenu_fr h5,
.div_contenu_fr h6,
.div_contenu_en h1,
.div_contenu_en h2,
.div_contenu_en h3,
.div_contenu_en h4,
.div_contenu_en h5,
.div_contenu_en h6 {
  color: #4b4b4b; line-height: 1.5; font-weight: 500;
}
.div_contenu_fr h2,
.div_contenu_en h2 {
  font-size: 1.758em;
}
.font-size-18 {
  font-size: 18px !important;
}
.font-size-20 {
  font-size: 20px !important;
}
/* Vidéo sur l'accueil */
/*.forcefullwidth_wrapper_tp_banner {
  position: relative;
  width: 100%;
  height: 100vh;
  margin: 0;
  overflow: hidden;
}
#fullVideo {
  background-size: contain;
  background-position: center center;
  background-image: url(1526909-hd_1920_1080_24fps.mp4);
  background-color: black;
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: 9;
}
.forcefullwidth_wrapper_tp_banner.cache {
  z-index: 10;
}*/
.forcefullwidth_wrapper_tp_banner {
  position: relative;
  width: 100%;
  height: 100vh;
  margin: 0;
  overflow: hidden;
}
.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  overflow: hidden; /* coupe ce qui dépasse */
}
.video-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* centre */
  border: 0;
  will-change: width, height, transform;
  /* les dimensions seront fixées en pixels par le JS */
}
.video-link {
  position: absolute;
  inset: 0; /* top:0;left:0;right:0;bottom:0 */
  z-index: 10; /* au-dessus de la vidéo */
  display: block;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
}
/* ta .cache reste visible au-dessus */
.forcefullwidth_wrapper_tp_banner_cache {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  pointer-events: none; /* si tu veux que le click passe à l'a <a> */
  z-index: 11;
}
@media (max-width: 767px) {
  .forcefullwidth_wrapper_tp_banner {
    height: auto;
  }
  .video-background-mobile {
    position: relative;
    padding-top: 56.25%; /* 16:9 ratio → 9 / 16 = 0.5625 */
    height: 0;
    overflow: hidden;
  }
  .video-background-mobile iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }
  #bgYoutube {
    width: 100% !important;
    height: 100% !important;
    margin-bottom: 0;
  }
}



.toggle-content ul {
  margin-top: -12px;
}
.toggle-content ul ul {
  margin-top: 0px;
  list-style: circle;
}

.project-item figure h2 {
  line-height: 18px;
}
.project-item figure a {
  color: inherit !important;
}
.project-item figure h2:hover a {
  text-decoration: none;
}

#projects .project-item .project-zoom {
  z-index: 888;
}



/* menu_home */
#menu_home {
    position: fixed;
    top: 0;
    right: 0;
    height: 92%;
    width: 290px;
    margin: 40px 40px 40px 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px); /* Applique un flou de 10px à l'arrière-plan */
    -webkit-backdrop-filter: blur(10px); /* Support pour les anciens navigateurs WebKit */
    transition: transform 0.4s ease;
    z-index: 1000;
}

#menu_home #menu-content {
    height: calc(100vh - 80px);
    overflow: auto;
    padding: 30px 30px 0;
}
#menu_home #menu-content p {
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 22px;
}

#menu_home .menu-closed {
    transform: translateX(114%);
}

#menu_home-content {
    height: 100%;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.9);
    overflow-y: auto;
}

#menu_home_toggle-button {
    position: absolute;
    top: 0;
    left: -80px;
    width: 80px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}

#menu_home_toggle-button .container {
    width: auto;
    height: 100%;
}
#menu_home_toggle-button .row {
    height: 100%;
}

@media (max-width: 767px) {
    #menu_home {
        width: 100%;
        height: 100%; /* Make the menu full height */
        margin: 0;
        top: 0; /* Position at the top */
        bottom: unset; /* Unset bottom */
        transform: translateY(100%); /* Start hidden at the bottom */
        z-index: 1000;
    }

    #menu_home_toggle-button {
        position: fixed; /* Keep the toggle button fixed */
        top: -80px; 
        left: 0;
        width: 100%;
        height: 80px;
        background-color: rgba(0, 0, 0, 0.7);
        cursor: pointer;
        z-index: 1001; /* Ensure it's above other elements */
    }

    #menu_home .menu-closed {
        transform: translateY(100%); /* Menu slides down off-screen */
    }
}
/* /menu_home */


.nav {
  margin: 20px 0 0;
}
ul.sub-menu {
  list-style-type: none;
  margin: 0 0 0 20px;
}
.nav:not(.nav-tabs) > li > a {
  color: #fff !important;
  padding: 3px 5px;
}
.nav:not(.nav-tabs) > li > a:hover {
  color: var(--vert) !important;
}
.nav:not(.nav-tabs) > li .sub-menu a {
  color: #fff !important;
  padding: 3px 5px;
}
.nav:not(.nav-tabs) > li .sub-menu a:hover {
  color: var(--vert) !important;
  background-color: #eee;
  border-radius: 4px;
}
.nav-stacked > .menu-item {
  border-bottom: 1px solid #fff; /* Filet blanc */
}
.nav-stacked > .menu-item:last-child {
  border-bottom: none; /* Pas de filet pour le dernier élément */
}

.rotated-text {
    transform: rotate(90deg); /* Tourne le texte de 90 degrés vers la droite */
    transform-origin: center center; /* Définit le point de pivot pour la rotation */
    white-space: nowrap; /* Empêche le texte de se casser sur plusieurs lignes */
}

.icon-button {
    color: white; /* Couleur de l'icône */
    border: none;
    border-radius: 50%; /* Rond */
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    padding:  0;
}
.icon-button .fa {
    transition: transform 0.3s;
}
/*.icon-button.active {
    background-color: #dc3545;
}*/

.vertical-align {
    display: flex;
    flex-direction: column;
    height: 100vh; /* La hauteur de la fenêtre */
}

#responsive-layout {
  width: 100%;
  height: 100%;
}
#responsive-layout img {
  max-width: 100px;
}
@media (min-width: 768px) {
  #responsive-layout .col-xs-4 {
    position: absolute;
    width: 100% !important;
  }
  #responsive-layout .col-xs-4:first-child {
    top: 15px;
  }
  #responsive-layout .col-xs-4:nth-child(2) {
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #responsive-layout .col-xs-4:last-child {
    bottom: 15px;
  }
  #responsive-layout .col-xs-4 button {
    margin: 0 auto;
  }
  .col-xs-push-4 {
    left: auto;
  }
  .col-xs-pull-4 {
    right: auto;
  }
}
@media (max-width: 767px) {
  #responsive-layout .col-xs-4 {
    height: 100%;
  }
  #responsive-layout .rotated-text {
    display: none;
  }
  #responsive-layout .col-xs-4 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #responsive-layout .col-xs-4:last-child {
    justify-content: end;
  }
}




.wprt-galleries-grid .item-wrap .zoom {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  text-align: right;
  width: 100%;
  height: 100%;
}
.wprt-galleries-grid .item-wrap .zoom:hover {
  color: #000;
}
.wprt-galleries-grid .item-wrap .zoom i {
  margin-right: 20px;
}


.label_sale_sold {
  font-size: 9px;
}



#sidebar .widget.widget_links ul.col2 li, 
#footer-widgets .widget.widget_links ul.col2 li {
  width: 100%;
}



#top-bar #top-bar-text .icons a {
  margin: 0 4px;
}
#top-bar #top-bar-text .icons a:first-child {
  margin-left: 0;
}
#top-bar #top-bar-text .icons a:last-child {
  margin-right: 0;
}
#top-bar a:hover {
  color: var(--vert);
}



.bt_wishlist_like {
  background-color: #979797 !important;
  border: 0;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 999;
}
.bt_wishlist_like.btn-danger {
  background-color: #8d071a !important;
}

/* changer le look du mouseover sur les images des maisons */
.project-item .effect-zoe figcaption {
  background: rgba(60, 74, 80, 0.7);
  color: white;
  height: 100%;
  z-index: 99;
}
.project-item .effect-zoe h2 {
  float: none;
  width: 100%;
  font-size: 2.6rem;
  margin: 20px 0 26px;
}
.project-item .effect-zoe h2 .small {
  color: white;
}
.project-item .effect-zoe p {
  color: white;
  float: none;
  width: 100%;
  margin-top: 20px;
}
.project-item .effect-zoe figcaption .row {
  font-size: 1.8rem;
}
.project-item .effect-zoe figcaption .row .col-xs-6 {
  display: flex; /* pour centrer verticalement */
  align-items: center; /* pour centrer verticalement */
  margin-bottom: 10px;
}
.project-item .effect-zoe figcaption img {
  width: 40px;
}

.button_cta {
  background-image: url("/img/fleche_verte.png");
  background-color: transparent !important;
  background-position: right;
  background-repeat: no-repeat;
  color: var(--vert);
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 38px;
  font-weight: normal;
  line-height: 40px;
  padding: 1.285em 2.642em;
  padding-left: 30px;
  margin: 1px;
  margin-right: 30px;
}
.button_cta:hover {
  color: var(--vert);
  text-decoration: underline;
}
@media (max-width: 479px) {
  .button_cta {
    background-size: 60px;
    font-size: 32px;
    padding-right: 2em;
  }
}

body.admin p {
  margin: 0 0 20px;
}

/* l'espace entre les photos pour les zones de contenu 11, 12 et 13 */
.zone_images .col-4 {
  padding: 0 0 10px 15px;
}
.zone_images .col-8 {
  padding: 0 15px 10px 10px;
}
.zone_images .col-12 {
  padding: 0 15px 10px;
}
.zone_images.inverted .col-8 {
  padding: 0 0 10px 15px;
}
.zone_images.inverted .col-4 {
  padding: 0 15px 10px 10px;
}



.row.equal {
  display: flex;
  flex-wrap: wrap;
}
.zone_fond_gris {
  background-color: #f8f8f8;
  padding: 30px 30px 15px 30px;
  text-align: center;
  flex: 1; /* pour que toutes s'étirent également */
  height: 100%;
  /* lignes suivantes, pour centrer verticalement */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;      /* pour empiler tes <p> verticalement */
}
.zone_fond_gris span {
  color: var(--vert);
  padding-right: 6px;
}
.zone_fond_gris p {
  line-height: 20px;
}

body.admin .zone_fond_gris p,
#tinymce .zone_fond_gris p {
  color: var(--grisfonce);
}

.vert {
  color: var(--vert);
}

.zone_10_css {
  margin-bottom: 15px;
}
.zone_10_css .row {
  margin-top: 30px;
}
.zone_10_css .vert {
  letter-spacing: 1px;
  font-size: 16px;
}
.zone_10_css h2,
body.admin .zone_10_css h2,
#tinymce .zone_10_css h2 {
  color: var(--bleumarin);
  font-size: 32px;
  font-weight: 900;
  margin: 0;
}
.zone_10_detail {
  font-size: 16px;
  padding-bottom: 30px;
}

a.bouton.btn.btn-primary,
body.admin a.bouton.btn.btn-primary,
#tinymce a.bouton.btn.btn-primary {
  background-color: var(--vert) !important;
  border-color: var(--vert) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-weight: bold;
  min-width: 200px;
  padding: 6px 12px !important;
}
a.bouton.btn.btn-primary:hover {
  background-color: var(--grisfonce) !important;
  border-color: var(--grisfonce) !important;
}

body.admin .text-right {
  text-align: right;
}


#project-filter {
  text-align: left;
  padding-right: 60px;
  margin-bottom: 20px;
}


.h2_bigger {
  color: var(--bleumarin);
  font-size: 34px;
  font-weight: bold;
}
#home_moveinready {
  line-height: 16px;
}
#home_moveinready .col-md-4 {
  max-width: 370px;
  margin: 0 auto;
}
#home_moveinready .row img {
  width: 30px;
}
#home_moveinready .bouton {
  width: 100%;
}
#home_moveinready .bigger {
  font-size: 20px;
}
#home_moveinready .big {
  font-size: 26px;
}
/* Dans la page "inventaire" en frontend */
#projects #home_moveinready {
  width: 100% !important;
}

.image-carousel {
  position: relative;
  width: 100%;
  max-width: 370px; /* ajuste selon ton besoin */
  /*height: 277px;*/
  overflow: hidden;
}

.image-carousel .ic-track {
  display: flex;
  width: 100%;
  transition: transform 0.5s ease;
}

.image-carousel img {
  flex: 0 0 100%;
  width: 100%;
  /*height: 200px;*/
  object-fit: cover;
  flex-shrink: 0;
}

.image-carousel button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.3) !important;
  border: none;
  font-size: 24px;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 50%;
  z-index: 2;
  transition: background 0.2s;
}

.image-carousel button:hover {
  background: rgba(255,255,255,0.5) !important;
}

.image-carousel .carousel-prev { left: 10px; }
.image-carousel .carousel-next { right: 10px; }


.row-flex-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}


/* ******************************************** */
/* *** Ajuster la modale de Leaflet (carte) *** */

#map,
.map {
  height: 750px;
  width: 100%;
}
body.admin .leaflet-popup-content {
  text-align: right;
}
body:not(.admin) .leaflet-popup-content {
  font-size: 1.5em;
  width: 300px;
}

.leaflet-popup-tip-container {
  display: none;
}
.leaflet-popup-content-wrapper {
  box-shadow: none;
  border-radius: 0;
  border: 1px solid #000;
}
.popup-content {
  font-family: "Montserrat", sans-serif;
}
.popup-content table,
.popup-content th,
.popup-content td {
  border: 0;
  margin: 0;
  padding: 0;
}
.popup-content table tr:first-child td {
  text-align: right;
}
.popup-content table tr:last-child td:first-child {
  text-align: left;
}
.popup-content table tr:last-child td:last-child {
  text-align: right;
}
.popup-content img {
  max-width: 240px;
}
.popup-content a.bouton.btn.btn-primary {
  font-size: 10px;
  min-width: auto;
  text-transform: uppercase;
}
.adresse_civique {
  font-size: 16px;
}
/* ******************************************** */



/* ******************************************************************** */
/* *** Petits label de filtres de recherche (modèles et Inventaire) *** */
.filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom: 20px; }

.chip{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.25rem .5rem; border:1px solid #979797; 
  font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.chip strong{ font-weight:700; }

.chip--outline{ background:#fff; }

.chip__close{
  appearance:none; border:0; background:transparent; cursor:pointer;
  width:1.25rem; height:1.25rem; line-height:0.9; border-radius:999px;
  font-size:14px; display:inline-grid; place-items:center;
  padding: 0px;
  color: white;
}
/* ******************************************************************** */


.wprt-button.small {
  padding: 0.1em 0.6em !important;
  font-size: 0.9em !important;
  line-height: 18px;
}

.majuscule {
  text-transform: uppercase;
}

.zone_infolettre {
  background-color: #eee;
}
