/*! Custom CSS */
@import url('https://fonts.cdnfonts.com/css/canter');
body {
  --bs-body-font-family:"din-2014",sans-serif;
  --bs-body-font-size:0.95rem;
  --bs-body-font-weight:400;
  --bs-body-line-height:1.35;
  --bs-body-color:#2A5231;
  --bs-border-color:#2A5231;
  --bs-heading-color:#2A5231;
}
.btn-primary {
  --bs-btn-color:#FFF;
  --bs-btn-bg:#2A5231;
  --bs-btn-border-color:#2A5231;
  --bs-btn-border-radius:0;
  --bs-btn-padding-x:1.45rem;
  --bs-btn-font-size:0.95rem;
  --bs-btn-font-weight:700;
  --bs-btn-hover-color:#FFF;
  --bs-btn-hover-bg:#000;
  --bs-btn-hover-border-color:#000;
  --bs-btn-hover-text-decoration:none;
  --bs-btn-active-color:#FFF;
  --bs-btn-active-bg:#000;
  --bs-btn-active-border-color:#000;
  --bs-btn-disabled-color:#FFF;
  --bs-btn-disabled-bg:#2A5231;
  --bs-btn-disabled-border-color:#2A5231;
}
.btn-secondary {
  --bs-btn-color:#FFF;
  --bs-btn-bg:#CCB88F;
  --bs-btn-border-color:#CCB88F;
  --bs-btn-border-radius:0;
  --bs-btn-padding-x:1.45rem;
  --bs-btn-font-size: 0.95rem;
  --bs-btn-font-weight:700;
  --bs-btn-hover-color:#FFF;
  --bs-btn-hover-bg:#000;
  --bs-btn-hover-border-color:#000;
  --bs-btn-hover-text-decoration:none;
  --bs-btn-active-color:#FFF;
  --bs-btn-active-bg:#000;
  --bs-btn-active-border-color:#000;
  --bs-btn-disabled-color:#FFF;
  --bs-btn-disabled-bg:#CCB88F;
  --bs-btn-disabled-border-color:#CCB88F;
}
.table {
  --bs-table-color:#2A5231;
  --bs-table-bg:#D5C4A2;
  --bs-table-border-color:#CCB88F;
  --bs-border-width:0.25rem;
}

.container-fluid { --bs-gutter-x:0; }
.container-fluid > .container { max-width:1100px; }
.table-bordered th, .table-bordered td { font-size:0.6rem; text-align:center; }
.table-bordered th { padding-bottom:0.25rem; background:none; text-transform:uppercase; }
.table-borderless { background-color:#FFF; }
.table-borderless th, .table-borderless td { padding:0.25rem; background-color:#FFF; font-size:0.6rem; text-align:center; }
.table-borderless th { background:none; text-transform:uppercase; }
.h1, .h2, .h3, .h4, h1, h2, h3, h4 { font-family:"din-2014-narrow",sans-serif; font-weight:400; line-height:1; }
.fs-7 { font-size:0.8rem !important; }
.ffbolder { font-weight:900; }
.btn-primary, .btn-secondary { text-transform:uppercase; text-decoration:none; }
ul.list-unstyled > li::before { content:">"; font-weight:700; margin-right:0.75rem; }
li.list-group-item { padding:0.3rem 0; background:none; border-color:#FFF; color:#FFF; font-size:0.9rem; }
.text-justify { text-align:justify; }

header.container-fluid > .container { position:relative; }
header .moonlight-logo { position:relative; z-index:20; margin:0 auto -1.5rem auto; padding:2rem 0 1rem 0; max-width:200px; background-color:#2A5231; }
header .moonlight-logo img { display:block; margin:0 auto; padding:0; max-width:150px; }
header .faubourgimmo-logo { position:absolute; left:0.75rem; top:2.2rem; }
header .faubourgimmo-logo img { display:block; margin:0 auto; padding:0; max-width:50px; }

header .navbar { position:absolute; right:0.75rem; top:2.7rem; }
header .navbar .navbar-toggler { padding-left:0.5rem; padding-right:0.5rem; background-color:#CCB88F; border:none; font-size:1rem; }
header .navbar .navbar-toggler:hover { background-color:#D5C4A2; }
header .navbar .navbar-toggler:focus { box-shadow:none; }
header .navbar .dropdown-toggle::after { display:none; }
header .navbar .dropdown-item { font-size:0.8rem; text-transform:uppercase; letter-spacing:0.03rem; }
header .navbar .dropdown-divider { border-top-color:#D5C4A2; }

footer > div > p.fs-7 { font-weight:700; }
footer.section-bggold a { color:#2A5231; text-decoration:underline; }
footer.section-bggold a:hover { color:#000; text-decoration:underline; }

.contact-form > div { position:relative; }
.contact-form label, .contact-form .alert { font-size:1rem; vertical-align:middle; }
.contact-form .form-check-input:checked { background-color:#2A5231; border-color:#2A5231; }
.contact-form .form-control, .contact-form .form-select { background-color:#EDE5D6; border-color:#2A5231; border-radius:0; border-width:1px; box-shadow:none; font-size:0.95rem; }
.contact-form .form-control:focus, .contact-form .form-select:focus { background-color:rgba(237, 229, 214, 0.5); border-color:#2A5231; box-shadow:none; }
.contact-form .form-control::placeholder { color:#2A5231; }
.contact-form .btn-primary {  }
.contact-form .invalid-feedback { font-size:0.85rem; }
.contact-form .form-check-inline .invalid-feedback { position:absolute; left:0; bottom:-10px; }
.contact-form .form-check-input.is-valid ~ .form-check-label, .contact-form.was-validated .form-check-input:valid ~ .form-check-label, 
.contact-form .form-check-input.is-invalid ~ .form-check-label, .contact-form.was-validated .form-check-input:invalid ~ .form-check-label { color:#2A5231; }
.contact-form .form-legal { font-size:12px; }
.contact-form .bi { width:1em; height:1em; vertical-align:-.125em; fill:currentcolor; }
.contact-form .sujet { display:none; }

.section-bgwhite { background:#FFF; }
.section-bggreen { background:#2A5231; }
.section-bggold { background:#CCB88F; }
.section-bgbeige { background:#EDE5D6; }
.section-bgwhite .carousel-inner, .section-bggreen .carousel-inner, .section-bggold .carousel-inner, .section-bgbeige .carousel-inner { max-height:670px; text-align:center; }
.section-title { padding:1.5rem 1rem 1rem 1rem; font-family:"Canter",sans-serif; font-size:1.65rem; font-weight:700; line-height:1; text-transform:uppercase; }
.section-title span { display:block; }
.section-bggreen p, .section-bggreen ul, .section-bggreen ol, .section-bggreen .section-title { color:#FFF; }

.carousel-control-next, .carousel-control-prev { width:10%; opacity:0.7; }
.carousel-control-prev-icon, .carousel-control-next-icon { width:2.5rem; height:2.5rem; background-color:#EDE5D6; border:1px solid #2A5231; border-radius:50%; background-size:60% 60%; }
.carousel-control-prev-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0"/></svg>'); }
.carousel-control-next-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708"/></svg>'); }

.modal-body > h3 { margin-top:1.5rem; text-transform:uppercase; }
.modal-body > h3:first-child { margin-top:0.5rem; }
.modal-body p.fs-6, .modal-body ul.fs-6, .modal-body ol.fs-6 { font-size:0.9rem !important; }
.modal-body p strong, .modal-body ul strong, .modal-body ol strong { font-weight:700; }

.moonlight-feature { margin:0 0.15rem 0.25rem 0.15rem; padding:0.75rem 2rem 0.75rem 3.5rem; line-height:1.25; background-color:#305636; background-image:url("images/feature-icon.png"); background-size:1.5rem; background-position:1rem center; background-repeat:no-repeat; font-weight:700; color:#CCB88F; text-transform:uppercase; }
.moonlight-address { margin:0.75rem; padding-left:3.5rem !important; background-image:url("images/pin-icon.png"); background-size:3rem; background-position:left top; background-repeat:no-repeat; font-size:1.1rem; line-height:1.2; }

.body-offer header .moonlight-logo { margin-bottom:0; }
.text-offer { color:#FE0000; }
.section-title.text-offer { background-color:#FE0000; font-weight:700; color:#FFF; text-transform:uppercase; text-align:center; }
.btn-offer:link, .btn-offer:visited  { background-color:#FE0000; font-size:1.2rem; font-weight:700; color:#FFF; text-transform:uppercase; }
.btn-offer:hover, .btn-offer:active { background-color:#000; }
.table-offer, .section-title.text-offer { margin-left:auto; margin-right:auto; max-width:700px; }
.table-offer th, .table-offer td { font-size:1.2rem; font-weight:700; color:#FE0000; text-align:center; }
.table-offer tr > td:first-child { text-align:left; }
.table-offer tr > td:last-child { text-align:right; }
.table-offer td.text-decoration-line-through { font-weight:400; }
.table-offer td sup { font-size:0.8rem; }
.carousel-offer { position:absolute; top:10%; left:5%; z-index:20; text-align:center; }
.carousel-offer span { position:relative; z-index:40; display:inline-block; margin:0; padding:0.15rem 0.5rem; background-color:#FFF; font-size:0.9rem; line-height:1.2; color:#FE0000; }
.carousel-offer > span:last-child { z-index:30; margin-top:-0.7rem; }
.carousel-offer span sup { font-size:0.5rem; }
.featured-offer { position:relative; z-index:40; background-color:#FE0000; color:#FFF; text-transform:uppercase; text-align:center; }
.featured-offer > * { margin:0; padding:0.3rem; text-align:center; }
.featured-offer .section-title { padding-top:0.3rem; font-size:1.85rem; }
.featured-offer .section-title + p { padding-top:0; font-size:0.75rem; }
.featured-offer .section-title + p sup { font-size:0.5rem; }
.featured-offer.blackfriday .section-title { font-size:2.5rem; }
.featured-offer.blackfriday .section-title + p { font-size:1.25rem; text-transform:none; }

@media (min-width:412px) {
  header .moonlight-logo { margin-bottom:-1.7rem; max-width:250px; }
  header .moonlight-logo img { max-width:200px; }
  header .faubourgimmo-logo { left:0.85rem; }
  header .faubourgimmo-logo img { max-width:70px; }
  header .navbar { right:0.85rem; top:3.6rem; }
  .table-bordered th, .table-bordered td { font-size:0.7rem; }
  .table-offer td { font-size:1.2rem; }
  .carousel-offer span { padding:0.25rem 0.5rem; font-size:1.2rem; }
  .carousel-offer span sup { font-size:0.7rem; }
  .featured-offer .section-title { font-size:2rem; }
  .featured-offer .section-title + p { font-size:0.85rem; }
  .featured-offer.blackfriday .section-title { font-size:3rem; }
}
@media (min-width:576px) {
  header .moonlight-logo { margin-bottom:-2.1rem; max-width:360px; }
  header .moonlight-logo img { max-width:230px; }
  header .faubourgimmo-logo { left:1rem; }
  header .faubourgimmo-logo img { max-width:80px; }
  header .navbar { right:1rem; }
  header .navbar .navbar-toggler { font-size:1.25rem; }
  .table-bordered th, .table-bordered td { font-size:0.85rem; }
  .table-offer td { font-size:1.25rem; }
  .section-title { padding-top:2rem; font-size:1.85rem; }
  .featured-offer.blackfriday .section-title { font-size:3.5rem; }
}
@media (min-width:768px) {                                
  header .moonlight-logo { max-width:400px; }
  header .moonlight-logo img { max-width:250px; }
  header .faubourgimmo-logo { left:2rem; }
  header .faubourgimmo-logo img { max-width:90px; }
  header .navbar { right:2rem; top:4rem; }
  header .navbar .navbar-toggler { font-size:1.5rem; }
  header .navbar .dropdown-item { font-size:0.9rem; }
  .table-bordered th, .table-bordered td { font-size:0.95rem; }
  .table-offer td { font-size:1.4rem; }
  .section-title { font-size:1.95rem; }
  .section-bggreen .col-md-7.px-md-5 { border-left:2px solid #CCB88F; }
  .carousel-control-prev-icon, .carousel-control-next-icon { width:3rem; height:3rem; }
  .carousel-offer span { font-size:1.8rem; }
  .carousel-offer span sup { font-size:1rem; }
  .featured-offer .section-title { font-size:2.5rem; }
  .featured-offer .section-title + p { font-size:1.5rem; }
  .featured-offer .section-title + p sup { font-size:0.85rem; }
  .featured-offer.blackfriday .section-title { font-size:4rem; }
  .featured-offer.blackfriday .section-title + p { font-size:1.75rem; }
}
@media (min-width:1024px) {
  header .moonlight-logo { margin-bottom:-2.7rem; max-width:550px; }
  header .moonlight-logo img { max-width:350px; }
  header .faubourgimmo-logo { top:2.4rem; }
  header .faubourgimmo-logo img { max-width:125px; }
  header .navbar { top:5rem; }
  header .navbar .navbar-toggler { font-size:1.8rem; }
  header .navbar .dropdown-item { font-size:1rem; }
  .moonlight-feature { padding-left:7rem; background-position:4.5rem center; }
  .body-offer header .moonlight-logo img { max-width:300px; }
  .carousel-offer { top:15%; }
  .featured-offer { margin-bottom:-3rem; }
  .featured-offer .section-title { font-size:2.75rem; }
  .featured-offer .section-title + p { font-size:1.65rem; }
  .featured-offer .section-title + p sup { font-size:0.85rem; }
  .featured-offer.blackfriday .section-title { font-size:4.5rem; }
}
@media (min-width:1200px) {
  header .faubourgimmo-logo { left:-2rem; }
  header .navbar { right:-2rem; }
  .carousel-offer { top:20%; }
  .carousel-offer span { font-size:2rem; }
  .carousel-offer span sup { font-size:1.2rem; }
  .featured-offer { margin-bottom:-5rem; }
}
/*EOF*/