/*
 Theme Name:     Be Quiet
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme by Be Quiet
 Author:         Be Quiet
 Author URI:     https://bequiet.be/
 Template:       Divi
 Version:        2023
*/

/*

  Potentially better fonts for title (Google Fonts) ?
  The current (Prata) one isn't always very readable when displayed on lower font-sizes
  - Source Serif 4
  - Ibarra Real Nova
  - EB Garamond

*/



/* --------------- */
/* --- GENERAL --- */
/* --------------- */

:root {
    
  /* Force Light Mode */
  color-scheme: only light;
  
  /* Colors */
  --CM-blue:              #333B99;
  --CM-blue99:            #333B9999;
  --CM-blue-light:        #ecedf9;
  --CM-blue-sat:          #2b39d4;
  --CM-blue-dark:         #262D73;
  --CM-blue-darker:       #191E4D;
  --CM-blue-darkest:      #0D0F26;
  --CM-yellow:            #EECD2F;
  --CM-white:             #FFF;
  --CM-grey:              #a0a1b1;
  --CM-grey20:            #66666620;
  --CM-grey-light:        #f4f4f4;
  --CM-grey-light-hover:  #ebebeb;
  --CM-grey-mid:          #888;
  --CM-black:             #333;
  --CM-error:             #f20d0d;
  --CM-error25:           #fee7e7;

  /* Form Fonts */
  /*--CM-title:             500 18px/1.8em 'Nuosu NIL',Georgia,"Times New Roman",serif;*/
  --CM-title:             500 18px/1.8em 'Libre Franklin',,Helvetica,Arial,Lucida,sans-serif;
  --CM-text:              500 16px/1.8em 'Libre Franklin',Helvetica,Arial,Lucida,sans-serif;
  --CM-button:            700 16px/150% 'Libre Franklin',Helvetica,Arial,Lucida,sans-serif;
  
  /* Transitions */
  --CM-transition02:      all .2s ease !important;
  --CM-transition03:      all .3s ease !important;
  --CM-transition04:      all .4s ease !important;
  
}

/* Hidden Elements */
.hidden {
  display: none !important
}

/* Superscripts */
sup {
  font-size: .8em;
  bottom: .4em;
}

/* Inputs */
input,
.back-button {
  color: #333 !important;
  border: none;
  outline: none;
  font-size: 16px;
  border-radius: 3px;
  padding: 8px 12px !important;
}

/* Buttons */
#page-container #main-header .login-button a,
#page-container .latest-custom-posts .archive-link,
#page-container .filters-wrapper input[type="submit"],
#page-container .need-to-log-in .login-button,
#page-container .back-button,
#page-container .tnp-submit {
  background: linear-gradient(160deg, var(--CM-blue) 0%, var(--CM-blue-dark) 100%);
  color: #FFF !important;
  font-family: 'Libre Franklin',Helvetica,Arial,Lucida,sans-serif;
  font-weight: 600;
  line-height: 1.5;
  border-radius: 3px;
  padding: 12px 24px !important;
  cursor: pointer;
  transition: all .25s ease;
}

/* Buttons - Secondary */
#page-container .latest-custom-posts .archive-link,
#page-container .back-button {
  background: var(--CM-blue-light) !important;
  color: var(--CM-blue) !important;
}

/* Buttons | HOVER */
#page-container #main-header .login-button a:hover,
#page-container .latest-custom-posts .archive-link:hover,
#page-container .filters-wrapper input[type="submit"]:hover,
#page-container .need-to-log-in .login-button:hover,
#page-container .back-button:hover,
#page-container .tnp-submit:hover {
  opacity: .75;
}

/* Back Button */
.back-button {
  margin-bottom: 2rem;
}

/* Leather Background */
.background-leather:before {
  content: '';
  background-image: url(/wp-content/uploads/2025/05/leather-texture-small.png);
  background-position: center;
  background-repeat: repeat;
  position: absolute;
  inset: 0;
  /*filter: hue-rotate(20deg) saturate(1.5) brightness(0.8);*/
  filter: hue-rotate(30deg) saturate(1.7) brightness(0.8);
}

/* Leather Background | FOOTER */
.et-l--footer .background-leather:before {
  mix-blend-mode: lighten;
}



/* --------------- */
/* --- COOKIES --- */
/* --------------- */

/* Links "Afficher plus/moins" */
.cky-show-desc-btn {
  color: var(--CM-blue) !important;
}

/* Footer "Powered by CookieYes" */
.cky-footer-wrapper > div:last-child {
  display: none !important;
}



/* ------------------------------ */
/* --- ADMIN BAR | SUBSCRIBER --- */
/* ------------------------------ */

/* Admin Bar */
.subscriber-logged-in #wpadminbar {
  background: var(--CM-blue-dark);
  height: 40px !important;
}

/* Link Wrappers */
.subscriber-logged-in #wpadminbar ul {
  position: relative !important;
  display: flex;
  gap: 0px;
}
.subscriber-logged-in #wpadminbar li {
  display: block;
}

/* Links */
.subscriber-logged-in #wpadminbar a {
  font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif;
  height: auto !important;
  font-size: 16px !important;
  line-height: 40px !important;
  padding: 0 12px !important;
  transition: all .15s ease;
}

/* Links | HOVER */
.subscriber-logged-in #wpadminbar a:is(:hover, :focus) {
  background: var(--CM-blue) !important;
  color: #FFF !important;
}

/* Welcome Link */
.subscriber-logged-in #wpadminbar #wp-admin-bar-subscriber_welcome a {
  max-height: 40px;
  overflow: hidden;
}
@media (max-width: 600px) {
  .subscriber-logged-in #wpadminbar #wp-admin-bar-subscriber_welcome {
    display: none;
  }
}

/* Edit Link */
.subscriber-logged-in #wpadminbar #wp-admin-bar-edit_profile a {
  white-space: nowrap;
}

/* Logout Link */
.subscriber-logged-in #wpadminbar #wp-admin-bar-logout {
  margin-left: auto;
}



/* ----------- */
/* --- NAV --- */
/* ----------- */

/* Container */
#main-header { 
  -webkit-box-shadow: none; 
  -moz-box-shadow: none; 
  box-shadow: none; 
}

/* Make navigation animation smooth at page scrolling */
#main-header .menu-item a {
  transition: all .3s ease;
}

/* Login Button */
#page-container #main-header .login-button a {
  font-size: 15px;
  width: fit-content;
  margin-top: 12px;
  margin-left: 16px;
}

/* --- RESPONSIVE --- */

@media (min-width: 1161px) {

  /* Main Nav | DESKTOP */
  #main-header #et-top-navigation #top-menu {
    display: flex !important;
  }
  
}

@media (max-width: 1160px) {

  /* Main Nav | DESKTOP */
  #main-header #et-top-navigation #top-menu {
    display: none !important;
  }

  /* Main Nav | MOBILE */
  #main-header #et-top-navigation #et_mobile_nav_menu {
    display: block !important;
  }
  
}



/* ------------------ */
/* --- BOTTOM BAR --- */
/* ------------------ */

/* Menu */
.menu_legals ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding-left: 0;
}
@media (max-width: 680px) {
  .menu_legals ul {
    flex-direction: column;
    align-items: center;
  }
}

/* Items */
.menu_legals li {
  text-align: center;
}



/* ---------------- */
/* --- HOMEPAGE --- */
/* ---------------- */
/* OLD VERSION, NOT USED  */

/* Annonceurs Slider - Elements */
.slider-annonceurs * {
  max-height: inherit;
}

/* Annonceurs Slider - Slides Wrapper */
.slider-annonceurs .slick-track {
  display: flex;
  align-items: center;
}

/* Annonceurs Slider - Image Wrapper */
.slider-annonceurs .dtq-figure {
  display: flex;
  justify-content: center;
}

/* Annonceurs Slider - Image */
.slider-annonceurs img {
  object-fit: contain;
  max-width: 300px;
}



/* ------------------ */
/* --- ANNONCEURS --- */
/* ------------------ */

/* Images */
div:is( .annonceurs-slider, .annonceurs-grid ) .et_pb_image_wrap {
  transform: translateZ(0) translate3d(0px,0px,0px);
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

/* Images */
div:is( .annonceurs-slider, .annonceurs-grid ) img {
  object-fit: contain;
  min-height: 100px;
  transition: all .15s ease;
  transform: translateZ(0) translate3d(0px,0px,0px);
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

/* Images | HOVER */
div:is( .annonceurs-slider, .annonceurs-grid ) img:hover {
  transform: translateZ(0) translate3d(0px,0px,0px) scale(0.95);
  opacity: .66;
}


/* --- SLIDER --- */

/* Slides Wrapper */
.annonceurs-slider .slick-list {
  overflow: hidden;
}
.annonceurs-slider .slick-track {
  display: flex;
  align-items: center;
}

/* Image Wrappers */
.annonceurs-slider .slick-slide > div,
.annonceurs-slider .slick-slide .et_pb_image_wrap,
.annonceurs-slider .slick-slide img {
  height: 100%;
}
.annonceurs-slider .slick-slide > div {
  display: flex;
  margin: 0 50px;
}
.annonceurs-slider-footer .slick-slide > div {
  margin: 0 20%;
}
.annonceurs-slider .slick-slide .et_pb_image_wrap,
.annonceurs-slider .slick-slide img {
  width: fit-content !important;
}
.annonceurs-slider .slick-slide a {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

/* Image */
.annonceurs-slider .slick-slide img {
  object-fit: contain;
  max-width: min(300px, 100%);
  min-height: 100px;
  max-height: 120px;
}

/* Arrows */
.annonceurs-slider .slick-arrow {
  background: #EEE;
  color: #333;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 100px;
  z-index: 999;
  cursor: pointer;
}

/* Arrow | Prev */
.annonceurs-slider .slick-prev {
  left: -20px;
}

/* Arrow | Next */
.annonceurs-slider .slick-next {
  right: -20px;
}

/* Arrows - Icon */
.annonceurs-slider .slick-arrow:before {
  content: none;
}
.annonceurs-slider .slick-arrow i {
  font-size: 16px;
  -webkit-text-stroke: 1.5px #666;
}


/* --- GRID --- */

/* Grid Wrappers */
#page-container .annonceurs-grid {
  padding-bottom: 50px !important;
}
#page-container .annonceurs-grid .et_pb_row {
  padding-bottom: 30px !important;
}

/* Grid */
body:not(.et-fb) .annonceurs-grid .et_pb_column .et_pb_code_inner,
body.et-fb .annonceurs-grid .et_pb_column .et_pb_code_inner .et-fb-editable-element {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  justify-items: center;
  align-items: center;
  gap: 50px 10%;
}
@media (max-width: 1080px) {
  body:not(.et-fb) .annonceurs-grid .et_pb_column .et_pb_code_inner,
  body.et-fb .annonceurs-grid .et_pb_column .et_pb_code_inner .et-fb-editable-element {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: unset;
    gap: 80px 12%;
  }
}
@media (max-width: 680px) {
  body:not(.et-fb) .annonceurs-grid .et_pb_column .et_pb_code_inner,
  body.et-fb .annonceurs-grid .et_pb_column .et_pb_code_inner .et-fb-editable-element {
    grid-template-columns: repeat(2, 1fr);
    gap: 100px 15%;
  }
}
@media (max-width: 480px) {
  body:not(.et-fb) .annonceurs-grid .et_pb_column .et_pb_code_inner,
  body.et-fb .annonceurs-grid .et_pb_column .et_pb_code_inner .et-fb-editable-element {
    gap: 50px 50px;
  }
}



/* ---------------- */
/* --- ARCHIVES --- */
/* ---------------- */

/* Need to login message */
.need-to-log-in {
  margin-top: 50px;
}

/* Login Button */
.need-to-log-in .login-button {
  display: block;
  width: fit-content;
}



/* --------------- */
/* --- RESULTS --- */
/* --------------- */

/* Wrapper */
.results-wrapper {
  margin: 2rem auto 5rem auto;
}

/* Grid */
.results-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Link Wrapper */
.results-items {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Edit Link (Admin) */
.results-items a.edit {
  color: var(--CM-grey);
  font-size: 12px;
}

/* Link */
.results-items .link {
  background: var(--CM-grey-light);
  color: var(--CM-black);
  box-shadow: 0 0 0 0 transparent;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  transition: all .2s ease-out;
}

/* Link | HOVER */
.results-items .link:hover {
  background: var(--CM-blue-light);
  color: var(--CM-blue-sat);
  box-shadow: 0 12px 20px -20px #000;
}

/* Date */
.results-items .date {
  font-size: 14px;
  font-weight: 400;
}

/* Title */
.results-items .title {
  font-weight: 500;
}

/* LATEST */

/* Grid */
.latest-custom-posts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media (max-width: 1080px) {
  .latest-custom-posts {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  .latest-custom-posts {
    grid-template-columns: 1fr;
  }
}

/* Post Wrapper */
.latest-custom-posts .latest-custom-post {
  display: flex;
  flex-direction: column;
}

/* Post Type Title */
.latest-custom-post h3 {
  margin-bottom: 8px;
}

/* Archive Link */
.latest-custom-posts .archive-link {
  align-self: center;
  font-size: 15px;
  margin-top: 2rem;
}



/* --------------- */
/* --- FILTERS --- */
/* --------------- */

/* Filters Elements */
.filters-wrapper * {
  font-family: 'Libre Franklin',Helvetica,Arial,Lucida,sans-serif;
  transition: all .2s ease !important;
}

/* Filters Wrapper */
.filters-wrapper {
  margin-bottom: 2rem;
}

/* Fields Wrapper */
.filters-wrapper > form > ul {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 0 10px;
}

/* Input Labels */
.filters-wrapper h4 {
  padding-top: 0;
}

/* Input Fields */
.filters-wrapper form > ul > li:not( :is(.sf-field-submit, .sf-field-reset) ) {
  margin-right: 10px;
}

/* Inputs */
.filters-wrapper input:not( [type="submit"] ) {
  padding: 11px 12px 10px 12px !important;
}

/* Search Field */
.filters-wrapper .sf-field-search {
  display: flex;
  flex-direction: column;
}

/* Date Fields Wrapper */
.filters-wrapper [data-sf-field-input-type="daterange"] .sf_date_field {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Date Fields */
.filters-wrapper [data-sf-field-input-type="daterange"] .sf_date_field li {
  padding: 0 !important;
}
.filters-wrapper [data-sf-field-input-type="daterange"] .sf_date_field input {
  width: 175px;
}

/* Submit Button */
#page-container .filters-wrapper input[type="submit"] {
  padding: 9px 20px !important;
  margin-right: 5px;
}

/* Reset Button */
.filters-wrapper .sf-field-reset a {
  font-size: 14px;
  line-height: 42px;
}

/* --- RESPONSIVE --- */
@media (max-width: 480px) {
  .filters-wrapper ul li:not( :is(.sf-field-submit, .sf-field-reset) ),
  .filters-wrapper ul li:not( :is(.sf-field-submit, .sf-field-reset) ) label,
  .filters-wrapper ul li:not( :is(.sf-field-submit, .sf-field-reset) ) input {
    width: 100% !important;
  }
}



/* ------------------ */
/* --- PAGINATION --- */
/* ------------------ */

/* Wrapper */
.pagination {
  margin-top: 2rem;
}

/* Parent */
.pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 8px;
}

/* Elements */
.pagination .wp-pagenavi :is(span, a) {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif;
  border: none;
  height: 40px;
  padding: 0 12px;
}

/* Boxes */
.pagination .wp-pagenavi :is(span, a):not(.pages):not(.first):not(.last):not(.current):not(.extend) {
  width: 40px;
  
}

/* Total */
.pagination .wp-pagenavi .pages {
  flex-basis: 100%;
}

/* Current & Extend */
.pagination .wp-pagenavi :is(.current, .extend) {
  padding: 0 4px;
}

/* Links */
.pagination .wp-pagenavi a {
  box-shadow: 0 1px 4px -1px #999999, inset 0 0 0 1px #333B9900;
  transition: all .1s ease-out;
}

/* Links | HOVER */
.pagination .wp-pagenavi a:hover {
  box-shadow: 0 0 4px 0 #99999900, inset 0 0 0 1px #333B99CC;
}



/* -------------- */
/* --- SINGLE --- */
/* -------------- */

/* Page Container */
.single #page-container {
  background: #F4F4F4;
}

/* Main Container */
.single #et-main-area .container {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
  margin-top: 50px;
  margin-bottom: 75px;
}

/* Empty Container */
.single #et-main-area .annonce-container + .et-l:not(.et-l--footer) {
  display: none;
}

/* Back Button */
.single .back-button {
  width: fit-content;
  margin: 0 auto;
}

/* Title */
.single h1,
.single font[size="5"],
.single span[style="font-size: large;"],
.single span[style="font-size: x-large;"] {
  font-family: 'Prata',Georgia,"Times New Roman",serif;
  font-size: 2em;
  font-weight: 100;
  line-height: 1.5em;
  text-align: center;
  padding-bottom: 16px;
}
.single font[size="5"] {
  display: inline-block;
  padding-bottom: 0;
}
.single span[style="font-size: large;"],
.single span[style="font-size: x-large;"] {
  font-size: 2em !important;
}

.single .post-container {
  display: flex;
  justify-content: center;
  gap: 0 50px;
}
@media (max-width: 980px) {
  .single .post-container {
    flex-direction: column;
  }
}

/* Image Wrapper */
.single .image-wrapper {
  display: flex;
  max-width: 400px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .single .image-wrapper {
    margin-bottom: 50px;
  }
}

/* Image */
.single .image-wrapper img {
  object-fit: cover;
}

/* Title & Content Wrapper */
.single .post-wrapper {
  display: flex;
  flex-direction: column;
}

/* Content Wrapper */
.single .post-content {
  background: #FFF;
  box-shadow: 0 10px 50px -25px #CCC;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  text-align: center;
  min-width: 400px;
  height: 100%;
  padding: 50px 70px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .single .post-content {
    min-width: unset;
  }
}
@media (max-width: 600px) {
  .single .post-content {
    padding: 30px;
  }
}

/* Faire-part Wrapper */
.faire-part-wrapper {
  display: flex;
  justify-content: center;
}

/* Faire-part */
.faire-part-wrapper canvas {
  max-width: 100%;
}



/* -------------------- */
/* --- ACCOUNT PAGE --- */
/* -------------------- */

/* Alert */
.profile-page-alert {
  max-width: 500px;
  border-radius: 5px;
  padding: 10px 15px;
  margin-bottom: 30px;
}

/* Alert | SUCCESS */
.profile-page-alert.success {
  background-color: #d4edda;
  color: #155724;
}

/* Alert | ERROR */
.profile-page-alert.error {
  background-color: #f8d7da;
  color: #721c24;
}

/*.page-account .entry-content {
  margin-bottom: 5rem;
}*/

.page-account .entry-content p:empty {
  display: none;
}

.tnp-profile {
  margin-bottom: 3rem !important;
}

.tnp-field:not(.tnp-field-list),
.tnp-lists {
  margin: 2rem 0;
}

/* Submit Button */
.tnp-submit {
  margin-right: 5px;
}



/* ------------------- */
/* --- NINJA FORMS --- */
/* ------------------- */

/* iOS box-shadow fix */
.nf-form-cont * {
  -webkit-appearance: none;
  font: var(--CM-text) !important;
}

/* Titre */
.nf-form-cont .nf-form-title {
  display: none;
}

/* "Champs obligatoires" */
.nf-form-cont .nf-form-fields-required {
  display: none;
}

/* Form Grid */
.nf-form-cont nf-fields-wrap {
  display: grid;
  grid-template-columns: 1fr;
  margin: auto;
  gap: 0rem 3rem;
}

/* Form Grid Elements - CONTACT */
.form_contact.nf-form-cont nf-field:nth-of-type(3),
.form_contact.nf-form-cont nf-field:nth-of-type(4),
.form_contact.nf-form-cont nf-field:nth-of-type(5) {
  grid-column: 1/-1;
}

/* Label & Input container */
.nf-form-cont .field-wrap {
  margin-top: 1rem;
}

/* HTML Titles */
.nf-form-cont .html-container :is(h3, h3 span) {
  font-family: 'Fira Sans Condensed', Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 24px !important;
  color: var(--CM-black) !important;
  line-height: 1.2em !important;
}
.nf-form-cont .html-container h3 {
  position: relative;
  width: fit-content;
}

/* HTML Titles - Underline */
.nf-form-cont .html-container h3:before {
  content: '';
  background: #EEEEEE;
  position: absolute;
  left: -6px;
  bottom: 12px;
  display: block;
  width: 80%;
  max-width: 300px;
  height: 10px;
  z-index: -1;
}

/* Label */
.nf-form-cont .label-above .nf-field-label label,
.nf-form-cont .list-wrap .nf-label-span,
#mc_embed_signup label {
  color: var(--CM-black);
  font: var(--CM-title) !important;
}

/* Fields Containers */
.nf-form-cont .nf-field-container {
  width: 100% !important;
  margin-left: 0 !important;
}

/* Fields */
.nf-form-cont .ninja-forms-field {
  color: var(--CM-grey-light) !important;
  padding: 1rem !important;
}

/* Input */
.nf-form-cont .nf-element,
.nf-form-cont select+div,
#mc_embed_signup input:not(.button) {
  background: var(--CM-grey-light) !important;
  color: var(--CM-grey-mid) !important;
  border: none !important;
  height: auto !important;
  transition: var(--CM-transition02);
}
#mc_embed_signup input:not(.button) {
  background: #FFFFFF99 !important;
  height: 52px !important;
}

/* Input | Hover, Active, Focus */
.nf-form-cont .nf-element:hover,
.nf-form-cont .nf-element:active,
.nf-form-cont .nf-element:focus,
.nf-form-cont select+div:hover,
.nf-form-cont select+div:active,
.nf-form-cont select+div:focus,
#mc_embed_signup input:not(.button):is(:hover, :active, :focus) {
  color: var(--CM-black) !important;
  background: var(--CM-grey-light-hover) !important;
}

/* Input | Focus */
.nf-form-cont .field-wrap:not(.submit-wrap):not(.file_upload-wrap) .nf-element:focus,
#mc_embed_signup input:not(.button):focus {
  background: var(--CM-grey-light) !important;
  box-shadow: 0 4px 15px var(--CM-grey20), inset 0px -2px 0px var(--CM-black) !important;
}

/* Text Area */
.nf-form-cont textarea.nf-element {
  height: 200px !important;
}

/* Hour Fields */
.nf-form-cont .date-container select {
  width: 50px;
}

/* Hour Fields - Options | CHECKED */
.nf-form-cont .date-container .hour option:checked {
  background: #ff7c7c !important;
}

/* Lists - Last Element */
.nf-form-cont .list-wrap ul > li:last-of-type {
  margin-bottom: 0 !important
}

/* --- Checkbox --- */

/* Checkbox - Default Icon */
#page-container .nf-form-cont .checkbox-wrap .nf-element,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element .nf-element {
  display: none !important;
}

/* Checkbox - Label */
#page-container .nf-form-cont .checkbox-wrap label,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label {
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 40px;
  margin-left: 0 !important;
  transition: var(--CM-transition03);
}

/* Checkbox - Label - Link */
#page-container .nf-form-cont .checkbox-wrap label a,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Checkbox - Label | CHECKED */
#page-container .nf-form-cont .checkbox-wrap label.nf-checked-label,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label.nf-checked-label {
  color: var(--CM-blue);
}

/* Checkbox - Label | HOVER */
#page-container .nf-form-cont .checkbox-wrap label:hover,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:hover {
  color: var(--CM-blue);
}

/* Checkbox - Icon */
#page-container .nf-form-cont .checkbox-wrap label:after,
#page-container .nf-form-cont .checkbox-wrap label:before,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:after,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:before {
  content:"" !important;
  width: 24px !important;
  height: 24px !important;
  background: transparent;
  border: none;
  opacity: 1 !important;
  left: 0;
  top: calc(50% - 0px);
  transform: translateY(-50%);
  transform-origin: center;
  transition: var(--CM-transition03);
}

/* Checkbox - Icon | NOT CHECKED */
#page-container .nf-form-cont .checkbox-wrap label:not(.nf-checked-label):before,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:not(.nf-checked-label):before {
  clip-path: polygon(28% 38%, 41% 53%, 100% -1%, 130% 23%, 41% 110%, 0% 65%);
}

/* Checkbox - Icon | CHECKED */
#page-container .nf-form-cont .checkbox-wrap label.nf-checked-label:before,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label.nf-checked-label:before {
  background: var(--CM-blue);
  clip-path: polygon(28% 38%, 41% 53%, 75% 24%, 86% 38%, 40% 78%, 15% 50%);
}

/* Checkbox - Border | NOT CHECKED */
#page-container .nf-form-cont .checkbox-wrap label:not(.nf-checked-label):after,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:not(.nf-checked-label):after {
  box-shadow: inset 0 0 0 1px var(--CM-grey);
}

/* Checkbox - Border | NOT CHECKED | HOVER */
#page-container .nf-form-cont .checkbox-wrap label:hover:not(.nf-checked-label):after,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:hover:not(.nf-checked-label):after {
  box-shadow: inset 0 0 0 1px var(--CM-blue);
}

/* Checkbox - Border | CHECKED */
#page-container .nf-form-cont .checkbox-wrap label:after,
#page-container .nf-form-cont .list-checkbox-wrap .nf-field-element label:after {
  box-shadow: inset 0 0 0 1px var(--CM-blue);
}


/* --- Radio --- */

/* Radio - Default Icon */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > input[type="radio"] {
  display: none;
}

/* Radio - Label */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label {
  line-height: 1.5em !important;
  padding-left: 30px !important;
  margin-left: 0 !important;
  transition: var(--CM-transition03);
}

/* Radio - Label | HOVER */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > input:hover + label {
  color: var(--CM-blue) !important;
}

/* Radio - Label | CHECKED */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > input:checked + label {
  color: var(--CM-blue) !important;
}

/* Radio - Icon */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label:after,
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label:before {
  content: "";
  width: 12px !important;
  height: 12px !important;
  border: none;
  border-radius: 100%;
  opacity: 1 !important;
  position: absolute;
  left: 0;
  top: 50%;
  bottom: unset;
  margin: 0;
  transform: translateY(-50%);
  transform-origin: center;
  transition: var(--CM-transition03);
}

/* Radio - BG */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label:before {
  background: var(--CM-grey) !important;
}

/* Radio - BG | NOT CHECKED | Hover */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li:hover > label:not(.nf-checked-label):before {
  background: var(--CM-blue99) !important;
}

/* Radio - BG | CHECKED */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label.nf-checked-label:before {
  background: transparent !important;
  transform: translateY(-50%) scale(3);
}

/* Radio - FILL */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label:after {
  content: "";
  background: transparent !important;
  border-radius: 50%;
  transform: translateY(-50%) scale(0);
  z-index: 1;
}

/* Radio - FILL | NOT CHECKED */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label:not(.nf-checked-label):after {
  transform: translateY(-50%) scale(0);
}

/* Radio - FILL | NOT CHECKED | Hover */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li:hover > label:not(.nf-checked-label):after {
  background: var(--CM-blue) !important;
  opacity: 1 !important;
}

/* Radio - FILL | CHECKED */
#page-container .nf-form-cont .list-radio-wrap .nf-field-element > ul > li > label.nf-checked-label:after {
  background: var(--CM-blue) !important;
  transform: translateY(-50%) scale(1);
}


/* --- Submit Button --- */

/* Button Container */
.nf-form-cont .submit-wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin: 1rem auto;
}

/* Text */
.nf-form-cont .submit-wrap .nf-field-element .nf-element {
  background: transparent !important;
  color: var(--CM-white) !important;
  height: auto !important;
  padding: 20px 30px !important;
  font: var(--CM-button) !important;
  text-transform: uppercase !important;
  letter-spacing: 2px;
  box-shadow: 0px 12px 28px -10px var(--CM-blue99);
  cursor: pointer;
  opacity: 1 !important;
  transition: .5s cubic-bezier(.39,.1,0,.98) !important;
}

/* Text | HOVER */
.nf-form-cont .submit-wrap .nf-field-element:hover .nf-element {
  color: var(--CM-blue) !important;
}

/* Background & Overlay */
.nf-form-cont .submit-wrap .nf-field-element:before, 
.nf-form-cont .submit-wrap .nf-field-element:after {
  content:"" !important;
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  line-height: 30px !important;
  opacity: 1 !important;
}

/* Background */
.nf-form-cont .submit-wrap .nf-field-element:before {
  background: var(--CM-blue) !important;
  border: 1px solid var(--CM-blue) !important;
  transition: border 0s cubic-bezier(.39,.1,0,.98);
}

/* Background | HOVER */
.nf-form-cont .submit-wrap .nf-field-element:hover:before {
  border: 1px solid var(--CM-white) !important;
  transition: border .5s cubic-bezier(1,0,1,1);
}

/* Overlay */
.nf-form-cont .submit-wrap .nf-field-element:after {
  background: var(--CM-white) !important;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(-1px 100% -1px -1px);
  transition: .5s cubic-bezier(.39,.1,0,.98) !important;
}

/* Overlay | HOVER */
.nf-form-cont .submit-wrap .nf-field-element:hover:after {
  -webkit-clip-path: inset(-1px -1px -1px -1px);
  clip-path: inset(-1px -1px -1px -1px);
}


/* --- ERRORS & PASS --- */

/* Required symbol */
.nf-form-cont .ninja-forms-req-symbol,
#mc_embed_signup .asterisk {
  color: var(--CM-error) !important;
}

/* Error Message */
.nf-form-cont .nf-error-msg {
  color: var(--CM-error) !important;
  font-size: 14px !important;
  margin-left: 2px;
}

/* Error Icon */
.nf-form-cont .nf-field-element::after{
  color: var(--CM-error) !important;
  background: none !important;
}

/* Error Input */
.nf-form-cont .nf-error .nf-element{
  color: var(--CM-error) !important;
}

/* Error Input | Hover, Active, Focus */
.nf-form-cont .nf-error .nf-element:hover, 
.nf-form-cont .nf-error .nf-element:active, 
.nf-form-cont .nf-error .nf-element:focus {
  background: var(--CM-error25) !important;
}

/* Error Input | Focus */
.nf-form-cont .nf-error.field-wrap:not(.submit-wrap):not(.file_upload-wrap) .nf-element:focus{
  box-shadow:  0 4px 15px var(--CM-grey20), inset 0px -2px 0px var(--CM-error) !important;
}

/* Error Message post-form */
.nf-form-cont .nf-after-form-content .nf-error-msg {
  text-align: center;
}

/* Pass Icon */
.nf-form-cont .nf-pass.field-wrap .nf-field-element::after {
  display: none;
}


/* --- RESPONSIVE --- */

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

  /* Form Grid - CONTACT */
  .form_contact.nf-form-cont nf-fields-wrap {
    grid-template-columns: 1fr 1fr;
  }
  
}

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

  /* Form Grid - CONTACT */
  .form_contact.nf-form-cont nf-fields-wrap {
    grid-template-columns: 1fr;
  }
  
}