:root {
  --admin-bar-size: 0px;
  --color-black: #242424;
  --color-orange-200: #FFC78F;
  --color-orange-500: #e8a964;
  --color-red-50: #FDEAE9;
  --color-red-500: #C81E1E;
  --color-red-700: #B8201F;
  --color-red-800: #8A1817;
  --color-gray-50: #FAFAFA;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #ede5e5;
  --color-gray-400: #9CA3AF;
}

/* Start Design system */
body.admin-bar {
  --admin-bar-size: 32px;
}
@media (max-width: 767px) {
  body.admin-bar {
    --admin-bar-size: 46px;
  }
}

body:not(.elementor-editor-active).version-fr .spy-version-belgique {
  display: none !important;
}

body:not(.elementor-editor-active).version-be .spy-version-france {
  display: none !important;
}

.elementor-editor-active .spy-version-belgique {
  outline: 4px solid #ffc736;
}

.elementor-editor-active .spy-version-france {
  outline: 4px solid #9d94ff;
}

.btn-primary {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid var(--color-black);
  color: white !important;
  background-color: var(--color-black) !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
}
.btn-primary.active, .btn-primary:hover, .btn-primary:active, .btn-primary:focus {
  color: var(--color-black) !important;
  background-color: white !important;
  border-color: var(--color-black);
}
.btn-primary .icon {
  display: flex;
}
.btn-primary .icon svg {
  display: block;
}

.btn-outline-primary {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid var(--color-black);
  color: var(--color-black) !important;
  background-color: transparent !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
}
.btn-outline-primary.active, .btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus {
  color: white !important;
  background-color: var(--color-black) !important;
  border-color: var(--color-black);
}
.btn-outline-primary .icon {
  display: flex;
}
.btn-outline-primary .icon svg {
  display: block;
}

.btn-orange {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid var(--color-orange-200);
  color: var(--color-black) !important;
  background-color: var(--color-orange-200) !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
}
.btn-orange.active, .btn-orange:hover, .btn-orange:active, .btn-orange:focus {
  color: var(--color-black) !important;
  background-color: var(--color-orange-500) !important;
  border-color: var(--color-orange-500);
}
.btn-orange .icon {
  display: flex;
}
.btn-orange .icon svg {
  display: block;
}

.btn-white-outline {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid white;
  color: white !important;
  background-color: transparent !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
}
.btn-white-outline.active, .btn-white-outline:hover, .btn-white-outline:active, .btn-white-outline:focus {
  color: var(--color-black) !important;
  background-color: white !important;
  border-color: white;
}
.btn-white-outline .icon {
  display: flex;
}
.btn-white-outline .icon svg {
  display: block;
}

.btn-red {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid var(--color-red-500);
  color: white !important;
  background-color: var(--color-red-500) !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
}
.btn-red.active, .btn-red:hover, .btn-red:active, .btn-red:focus {
  color: white !important;
  background-color: var(--color-red-700) !important;
  border-color: var(--color-red-700);
}
.btn-red .icon {
  display: flex;
}
.btn-red .icon svg {
  display: block;
}

.spyrit-elementor-widget {
  color: var(--color-black);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 22px;
}
.spyrit-elementor-widget p:last-child {
  margin-bottom: 0;
}
.spyrit-elementor-widget h1, .spyrit-elementor-widget h2, .spyrit-elementor-widget h3, .spyrit-elementor-widget h4, .spyrit-elementor-widget h5, .spyrit-elementor-widget h6 {
  margin: 0;
}

.elementor .elementor-element.e-flex {
  --flex-wrap-mobile: no-wrap !important;
}

.widget-button {
  container-type: normal !important;
}

.elementor-widget-theme-post-content .elementor-widget-container {
  font-size: 16px;
  line-height: 22px;
}
.elementor-widget-theme-post-content h2.wp-block-heading {
  font-size: 18px;
  line-height: 24px;
  font-weight: bold;
  margin-block: 8px;
}
.elementor-widget-theme-post-content h3.wp-block-heading {
  font-size: 19px;
  line-height: 25px;
  font-weight: bold;
  margin-bottom: 8px;
}
.elementor-widget-theme-post-content h4.wp-block-heading {
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  margin-bottom: 8px;
}
.elementor-widget-theme-post-content .wp-block-image.alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}
.elementor-widget-theme-post-content .wp-block-image.alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}
.elementor-widget-theme-post-content details {
  margin-bottom: 16px;
}
.elementor-widget-theme-post-content details summary {
  cursor: pointer;
  margin-bottom: 8px;
}
.elementor-widget-theme-post-content details p {
  margin-top: 0;
  padding-top: 0;
}
.elementor-widget-theme-post-content p a, .elementor-widget-theme-post-content li a {
  color: #c81e1e !important;
}
.elementor-widget-theme-post-content .wp-block-buttons {
  margin-bottom: 24px;
}
.elementor-widget-theme-post-content .wp-block-buttons .wp-element-button {
  font-size: 14px;
  line-height: 17px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: 50px;
  border: 1px solid var(--color-black);
  color: white !important;
  background-color: var(--color-black) !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: 0.3s ease;
  gap: 8px;
  border: none;
}
.elementor-widget-theme-post-content .wp-block-buttons .wp-element-button.active, .elementor-widget-theme-post-content .wp-block-buttons .wp-element-button:hover, .elementor-widget-theme-post-content .wp-block-buttons .wp-element-button:active, .elementor-widget-theme-post-content .wp-block-buttons .wp-element-button:focus {
  color: var(--color-black) !important;
  background-color: white !important;
  border-color: var(--color-black);
}
.elementor-widget-theme-post-content .wp-block-buttons .wp-element-button .icon {
  display: flex;
}
.elementor-widget-theme-post-content .wp-block-buttons .wp-element-button .icon svg {
  display: block;
}
.elementor-widget-theme-post-content .wp-block-media-text {
  margin-bottom: 24px;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  padding-left: 0;
}
@media (max-width: 600px) {
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding-right: 0;
    padding-top: 16px;
  }
}
.wp-block-media-text .wp-block-media-text__media + .wp-block-media-text__content {
  padding-right: 0;
}
@media (max-width: 600px) {
  .wp-block-media-text .wp-block-media-text__media + .wp-block-media-text__content {
    padding-left: 0;
    padding-top: 16px;
  }
}

.wp-block-social-links .wp-social-link a svg {
  color: white !important;
}
.wp-block-social-links .wp-social-link.wp-social-link-chain a svg {
  color: #646464 !important;
}

/* End Design system */
/* Gform */
.gform_wrapper .gform_required_legend {
  display: none;
}
.gform_wrapper .gform_fields {
  gap: 20px 10px !important;
}
.gform_wrapper .gfield .gfield_label {
  margin-bottom: 8px;
  color: var(--color-black);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}
.gform_wrapper .gfield input[type=text],
.gform_wrapper .gfield input[type=tel],
.gform_wrapper .gfield input[type=email],
.gform_wrapper .gfield input[type=number],
.gform_wrapper .gfield input[type=date],
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
  color: var(--color-black);
  border: 1px solid var(--color-gray-200);
  box-shadow: none;
  padding: 7px 15px;
  height: 39px;
  border-radius: 6px;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.gform_wrapper .gfield input[type=text]::placeholder,
.gform_wrapper .gfield input[type=tel]::placeholder,
.gform_wrapper .gfield input[type=email]::placeholder,
.gform_wrapper .gfield input[type=number]::placeholder,
.gform_wrapper .gfield input[type=date]::placeholder,
.gform_wrapper .gfield select::placeholder,
.gform_wrapper .gfield textarea::placeholder {
  color: #6B7280;
}
.gform_wrapper .gfield input[type=text]:focus-visible,
.gform_wrapper .gfield input[type=tel]:focus-visible,
.gform_wrapper .gfield input[type=email]:focus-visible,
.gform_wrapper .gfield input[type=number]:focus-visible,
.gform_wrapper .gfield input[type=date]:focus-visible,
.gform_wrapper .gfield select:focus-visible,
.gform_wrapper .gfield textarea:focus-visible {
  outline: 2px solid var(--color-orange-200);
}
.gform_wrapper .gfield_html p {
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
}
.gform_wrapper .gform-footer {
  display: flex;
}
.gform_wrapper .gform-footer .gform_button {
  font-size: 14px !important;
  line-height: normal !important;
  font-weight: 700 !important;
  padding: 9px 19px !important;
  border-radius: 50px !important;
  border: 1px solid var(--color-red-500) !important;
  color: white !important;
  background-color: var(--color-red-500) !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
.gform_wrapper .gform-footer .gform_button:hover, .gform_wrapper .gform-footer .gform_button:active, .gform_wrapper .gform-footer .gform_button:focus {
  color: white !important;
  background-color: var(--color-red-700) !important;
  border-color: var(--color-red-700) !important;
}

/* End Gform */
/* Site integration styles to remove or update */
.widget-pages-navigation ul {
  list-style: none;
}
.widget-pages-navigation ul li a:hover, .widget-pages-navigation ul li a:active, .widget-pages-navigation ul li a:focus {
  text-decoration: underline;
}
.widget-pages-navigation ul.horizontal {
  list-style: none;
}
.widget-pages-navigation ul.horizontal li {
  display: inline-block;
  vertical-align: top;
}
.widget-pages-navigation ul.horizontal li:not(:last-child) {
  margin-right: 8px;
  padding-right: 10px;
  border-right: 1px solid var(--color-black);
}

/* end Site integration styles */
body.elementor-editor-active #main-navigation {
  margin-left: 0;
}

.projects-list.grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  width: 100%;
}

.projects-list.slider {
  width: 100%;
}
.projects-list.slider:not(.slick-initialized) {
  display: flex;
  flex-direction: row;
  overflow: hidden;
}
.projects-list.slider:not(.slick-initialized) .project-card {
  flex-shrink: 0;
  width: 350px;
}
.projects-list.slider .slick-list {
  overflow: visible;
}
.projects-list.slider .slick-list .slick-track {
  display: flex;
}
.projects-list.slider .slick-list .slick-track .slick-slide {
  height: auto;
  width: 350px;
  padding-bottom: 8px;
  margin-inline: 12px;
}
@media (min-width: 800px) {
  .projects-list.slider .slick-list .slick-track .slick-slide {
    margin-inline: 24px 0;
  }
}
.projects-list.slider .slick-list .slick-track .slick-slide > div {
  height: 100%;
}
.projects-list.slider .slick-list .slick-track .slick-slide > div .project-card {
  height: 100%;
  display: flex !important;
}

.project-card {
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-100);
  border-radius: 12px;
  position: relative;
  color: var(--color-black);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: box-shadow 0.6s ease;
  overflow: hidden;
}
.project-card .project-type {
  padding: 8px 24px;
  border-radius: 12px 0;
  background: var(--color-red-800, #8A1817);
  color: white;
  font-size: 14px;
  line-height: 17px;
  font-weight: 400;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}
.project-card .project-thumbnail {
  aspect-ratio: 300/202;
  object-fit: cover;
  background-color: var(--color-gray-200);
}
.project-card .project-thumbnail img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.project-card .project-content {
  padding: 16px 24px;
}
.project-card .project-content .project-location {
  min-height: 20px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.project-card .project-content .project-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 4px;
}
.project-card .project-content .project-excerpt {
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 16px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.project-card .project-content .project-areas-of-intervention {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.project-card .project-bottom {
  padding: 0 24px 32px 24px;
}
.project-card:hover, .project-card:focus, .project-card:active {
  box-shadow: 5px 5px 0 0 var(--color-red-800, #8A1817);
}
.project-card:hover .project-title, .project-card:focus .project-title, .project-card:active .project-title {
  text-decoration: underline;
}

.project-card-simple {
  display: flex;
  gap: 16px;
}
.project-card-simple .project-thumbnail {
  width: 100px;
  height: 100px;
  background-color: var(--color-gray-200);
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
}
.project-card-simple .project-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card-simple .project-info .project-title {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 8px;
}
.project-card-simple .project-info .project-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.project-card-simple .project-info .project-meta .project-location {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
}

.widget-interesting-projects .title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  font-weight: 700;
  margin-bottom: 16px;
}

.interesting-projects-list .project-card-simple {
  padding-inline: 0 8px;
  transition: 0.3s ease;
}
.interesting-projects-list .project-card-simple:not(:last-child) {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-gray-100, #F3F4F6);
}
.interesting-projects-list .project-card-simple:hover, .interesting-projects-list .project-card-simple:focus, .interesting-projects-list .project-card-simple:active {
  padding-inline: 8px 0;
}

.result-no-projects {
  grid-column: 1/-1;
  padding: 30px;
  border: 3px dashed #c1c1c1;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.projects-list.loading {
  position: relative;
}
.projects-list.loading .project-card {
  background-color: #f0f0f0;
}
.projects-list.loading .project-card * {
  color: transparent !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
}
.projects-list.loading .project-card svg {
  display: none !important;
}
.projects-list.loading .project-card .project-thumbnail {
  background-color: rgba(0, 0, 0, 0.12) !important;
}
.projects-list.loading .project-card .project-thumbnail img {
  display: none !important;
}
.projects-list.loading:after {
  content: "";
  position: absolute;
  left: calc(50% - 30px);
  top: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border: 5px solid #4c4c4c;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  z-index: 6;
}

.widget-projects-list .projects-list-top {
  margin-bottom: 46px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
@media (max-width: 767px) {
  .widget-projects-list .projects-list-top {
    margin-bottom: 24px;
  }
}
.widget-projects-list .projects-list-top .projects-list-title {
  font-family: "Optima", sans-serif;
  font-size: 36px;
  line-height: 38px;
  font-weight: 700;
}
@media (max-width: 900px) {
  .widget-projects-list .projects-list-top .projects-list-title {
    font-size: 28px;
    line-height: 33px;
  }
}
.widget-projects-list .projects-list-top .projects-list-top-filters {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 900px) {
  .widget-projects-list .projects-list-top .projects-list-top-filters {
    width: 100%;
  }
}
.widget-projects-list .projects-list-top .projects-list-top-filters .projects-list-search {
  border-radius: 50px;
  border: 1px solid var(--gray-300, #D1D5DB);
  width: 400px;
  max-width: 100%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0'/><path d='M21 21l-6 -6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px top 8px;
}
@media (max-width: 900px) {
  .widget-projects-list .projects-list-top .projects-list-top-filters .projects-list-search {
    width: 100%;
  }
}
.widget-projects-list .projects-list-top .projects-list-top-filters .projects-list-status-filter {
  border-radius: 8px;
  width: auto;
  border: 1px solid var(--gray-300, #D1D5DB);
  appearance: none;
  padding-right: 40px;
  background-repeat: no-repeat;
  background-position: right 10px top 8px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6l6 -6'/></svg>");
}
.widget-projects-list .projects-list-wrapper {
  display: flex;
  gap: 50px;
}
@media (max-width: 900px) {
  .widget-projects-list .projects-list-wrapper {
    gap: 30px;
  }
}
.widget-projects-list .projects-list-wrapper .projects-list-filters {
  width: 243px;
  flex-shrink: 0;
  padding-top: 35px;
}
@media (max-width: 767px) {
  .widget-projects-list .projects-list-wrapper .projects-list-filters {
    position: fixed;
    width: 100%;
    left: 0;
    top: var(--admin-bar-size);
    right: 0;
    bottom: 0;
    background-color: white;
    z-index: 100;
    padding: 32px 32px 76px 32px;
    visibility: hidden;
    transition: 0.3s ease;
    transform: translateY(100%);
  }
  .widget-projects-list .projects-list-wrapper .projects-list-filters.show {
    visibility: visible;
    transform: translateY(0);
  }
}
.widget-projects-list .projects-list-wrapper .projects-list-filters .title {
  font-family: "Optima", sans-serif;
  font-size: 24px;
  line-height: normal;
  font-weight: 700;
  margin-bottom: 8px;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters .reset-projects-filters {
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 400;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form p {
  margin-top: 40px;
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 14px;
  line-height: 17px;
  font-weight: 400;
  font-weight: 600;
  padding-left: 24px;
  cursor: pointer;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list label .count {
  color: #4B5563;
  font-weight: 400;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list label:before {
  content: "";
  position: absolute;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 0.5px solid var(--gray-300, #D1D5DB);
  background: var(--gray-50, #FAFAFA);
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list input {
  display: none;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list .radio label:before {
  border-radius: 50px;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list .radio input:checked + label:before {
  border: 4px solid var(--color-red-800);
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list .checkbox input:checked + label:before {
  border: 1px solid var(--color-red-800);
  background-color: var(--color-red-800);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5l10 -10'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}
.widget-projects-list .projects-list-wrapper .projects-list-filters form .check-list-empty {
  display: none;
  color: #8f8f8f;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  margin-top: -8px;
}

body.filters-mobile-open {
  overflow: hidden;
}

.filters-mobile-cta {
  position: fixed;
  bottom: 0;
  z-index: 150;
  left: 0;
  right: 0;
  background-color: #771D1D;
  padding: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 22px;
  color: white;
  font-weight: 700;
  cursor: pointer;
}
@media (min-width: 768px) {
  .filters-mobile-cta {
    display: none;
  }
}
.filters-mobile-cta .active-text {
  display: none;
}
.filters-mobile-cta.active {
  background-color: var(--color-red-500);
}
.filters-mobile-cta.active .unactive-text {
  display: none;
}
.filters-mobile-cta.active .active-text {
  display: block;
}

.tag {
  border-radius: 8px;
  border: 1px solid #ECEBEB;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 600;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  color: var(--color-black);
}
.tag.cream {
  background-color: #FFF9F9;
  color: #450C0C;
  border-color: #450C0C;
  border-radius: 4px;
}
.tag.green {
  background-color: #ECFFE8;
  color: #286E17;
  border-color: #286E17;
  border-radius: 4px;
}
.tag.red {
  background-color: var(--color-red-50);
  color: #EB5352;
  border-color: #EB5352;
  border-radius: 4px;
}
.tag.type {
  background-color: var(--color-red-800);
  color: white;
  border-color: var(--color-red-800);
}
.tag:is(a) {
  text-decoration: none;
}
.tag:is(a):hover, .tag:is(a):focus-visible, .tag:is(a):active {
  background-color: var(--color-red-700);
  border-color: var(--color-red-700);
  color: white !important;
}

.financing-jauge {
  position: relative;
  padding-top: 8px;
}
.financing-jauge .financing-jauge-bar {
  background-color: #E5E7EB;
  border-radius: 8px;
  height: 8px;
  overflow: hidden;
}
.financing-jauge .financing-jauge-bar .financing-jauge-progress {
  background-color: var(--color-orange-200);
  height: 100%;
  transition: width 0.5s ease;
}
.financing-jauge .financing-jauge-indicator {
  position: absolute;
  top: 2px;
  padding: 4px;
  background-color: var(--color-black);
  color: white;
  border-radius: 4px;
  font-size: 11px;
  line-height: 11px;
  font-weight: 700;
  transform: translateX(50%);
}
.financing-jauge .financing-jauge-indicator.percent-0, .financing-jauge .financing-jauge-indicator.percent-1, .financing-jauge .financing-jauge-indicator.percent-2, .financing-jauge .financing-jauge-indicator.percent-3, .financing-jauge .financing-jauge-indicator.percent-4, .financing-jauge .financing-jauge-indicator.percent-5, .financing-jauge .financing-jauge-indicator.percent-6, .financing-jauge .financing-jauge-indicator.percent-7, .financing-jauge .financing-jauge-indicator.percent-8, .financing-jauge .financing-jauge-indicator.percent-9, .financing-jauge .financing-jauge-indicator.percent-10, .financing-jauge .financing-jauge-indicator.percent-11, .financing-jauge .financing-jauge-indicator.percent-12, .financing-jauge .financing-jauge-indicator.percent-13, .financing-jauge .financing-jauge-indicator.percent-14, .financing-jauge .financing-jauge-indicator.percent-15, .financing-jauge .financing-jauge-indicator.percent-85, .financing-jauge .financing-jauge-indicator.percent-86, .financing-jauge .financing-jauge-indicator.percent-87, .financing-jauge .financing-jauge-indicator.percent-88, .financing-jauge .financing-jauge-indicator.percent-89, .financing-jauge .financing-jauge-indicator.percent-90, .financing-jauge .financing-jauge-indicator.percent-91, .financing-jauge .financing-jauge-indicator.percent-92, .financing-jauge .financing-jauge-indicator.percent-93, .financing-jauge .financing-jauge-indicator.percent-94, .financing-jauge .financing-jauge-indicator.percent-95, .financing-jauge .financing-jauge-indicator.percent-96, .financing-jauge .financing-jauge-indicator.percent-97, .financing-jauge .financing-jauge-indicator.percent-98, .financing-jauge .financing-jauge-indicator.percent-99, .financing-jauge .financing-jauge-indicator.percent-100 {
  transform: translateX(0);
}

.financing-figures {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  padding-top: 8px;
}

.banner-info-content {
  padding: 12px 70px;
  background: var(--color-red-800, #8A1817);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: white;
  position: fixed;
  z-index: 999;
  top: var(--admin-bar-size);
  left: 0;
  width: 100%;
}
.banner-info-content span {
  font-family: "Optima", sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
}
.banner-info-content .btn-red {
  margin-left: 8px;
}
.banner-info-content .remove-banner {
  cursor: pointer;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

[data-elementor-type=header]:has(.banner-info-content) {
  padding-top: 61px;
}
@media (max-width: 767px) {
  [data-elementor-type=header]:has(.banner-info-content) {
    padding-top: 0;
  }
}

.version-toggle-widget .version-toggle-content {
  max-width: 380px;
  display: flex;
  gap: 4px;
  margin-inline: auto;
  position: relative;
  border-right: 1px solid #EBEBEB;
  border-bottom: 1px solid #EBEBEB;
  border-left: 1px solid #EBEBEB;
  border-radius: 0 0 18px 18px;
}
.version-toggle-widget .version-toggle-content .version-toggle-link {
  padding: 9px 16px;
  font-size: 14px;
  line-height: 17px;
  font-weight: 400;
  font-weight: 700;
  color: var(--color-black);
  width: 100%;
  z-index: 2;
  text-align: center;
}
.version-toggle-widget .version-toggle-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: var(--color-orange-200);
  border-radius: 0 0 16px 16px;
  transition: 0.3s ease;
}
.version-toggle-widget .version-toggle-content:has(.version-toggle-be.active):before {
  left: 50%;
}

.dynamic-tag-project-type-area-pdf {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.dynamic-tag-project-type-area-pdf .type-area {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.dynamic-tag-project-location-reference {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
}
.dynamic-tag-project-location-reference .project-location {
  display: flex;
  gap: 4px;
  align-items: center;
}

.single-project-financing .financing-card {
  padding: 24px;
  border-radius: 12px;
  background: #FFF9F4;
}
.single-project-financing .financing-card p {
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 24px;
  font-weight: 600;
}
.single-project-financing .financing-card .label {
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 700;
  margin-bottom: 8px;
}
.single-project-financing .financing-card .btn-primary {
  margin-top: 24px;
}
.single-project-financing.mecenat .financing-card {
  background: var(--color-gray-50, #FAFAFA);
}

.financing-state {
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 500;
  padding-left: 12px;
  position: relative;
}
.financing-state .state {
  display: flex;
  align-items: center;
  gap: 8px;
}
.financing-state .state svg {
  display: block;
  flex-shrink: 0;
}
.financing-state:before, .financing-state:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #E5E7EB;
  border-radius: 50px;
}
.financing-state:after {
  height: 0;
  background: var(--color-orange-200);
}
.financing-state.nouveau:after {
  height: 15%;
}
.financing-state.nouveau .state:nth-child(1) {
  font-weight: 700;
}
.financing-state.en-cours:after {
  height: 50%;
}
.financing-state.en-cours .state:nth-child(2) {
  font-weight: 700;
}
.financing-state.clos:after {
  height: 100%;
  background: #286E17;
}
.financing-state.clos .state:nth-child(3) {
  font-weight: 700;
}

.single-project-contact-card {
  border-radius: 12px;
  border: 1px solid var(--color-gray-100, #F3F4F6);
  color: var(--color-black);
}
.single-project-contact-card .title {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--color-gray-100, #F3F4F6);
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  padding: 24px 0 16px 0;
  margin-inline: 24px;
  margin-bottom: 16px;
}
.single-project-contact-card .contact-info {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 400;
  padding: 0 32px 24px 24px;
  transition: 0.3s ease;
  cursor: pointer;
}
.single-project-contact-card .contact-info .contact-photo img {
  border-radius: 50px;
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 80px;
}
.single-project-contact-card .contact-info .contact-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.single-project-contact-card .contact-info .contact-text .contact-name {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  display: flex;
  gap: 8px;
  align-items: center;
}
.single-project-contact-card .contact-info .contact-text .contact-name svg {
  display: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.single-project-contact-card .contact-info:hover, .single-project-contact-card .contact-info:focus, .single-project-contact-card .contact-info:active {
  padding-inline: 32px 24px;
}
.single-project-contact-card .contact-info:hover .contact-text .contact-name svg, .single-project-contact-card .contact-info:focus .contact-text .contact-name svg, .single-project-contact-card .contact-info:active .contact-text .contact-name svg {
  display: block;
}

.linked-projects-card {
  background-color: var(--color-red-50);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.linked-projects-card .linked-project-item {
  display: block;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  text-decoration: none;
  padding-inline: 0 8px;
  transition: 0.3s ease;
}
.linked-projects-card .linked-project-item:not(:last-child) {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #FAD4D4;
}
.linked-projects-card .linked-project-item:hover, .linked-projects-card .linked-project-item:focus, .linked-projects-card .linked-project-item:active {
  padding-inline: 8px 0;
  text-decoration: none;
}

.widget-single-project-linked-projects .linked-projects-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}

.widget-single-project-partners .project-partners-title {
  font-family: "Optima", sans-serif;
  font-size: 28px;
  line-height: normal;
  font-weight: 700;
  margin-bottom: 40px;
}

.partners-slider:not(.slick-initialized) {
  overflow: hidden;
  display: flex;
  gap: 16px;
}
.partners-slider .partners-slide {
  padding: 0 12px;
}
.partners-slider .partners-slide .partner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.partners-slider .partners-slide .partner-item img, .partners-slider .partners-slide .partner-item .thumbnail-placeholder {
  height: 43px;
  object-fit: contain;
  display: block;
  width: 100%;
}
.partners-slider .partners-slide .partner-item .thumbnail-placeholder {
  background-color: var(--color-gray-200);
  max-width: 65px;
  border-radius: 8px;
}
.partners-slider .partners-slide .partner-item .partner-name {
  text-align: center;
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
}

.slider-wrapper {
  position: relative;
  padding-inline: 48px;
}
.slider-wrapper .slider-arrow {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  cursor: pointer;
}
.slider-wrapper .slider-arrow svg {
  display: block;
}
.slider-wrapper .slider-arrow.next {
  left: auto;
  right: 0;
}

body:not(.elementor-editor-active) #main-navigation {
  position: fixed;
}
@media (max-width: 767px) {
  body:not(.elementor-editor-active) #main-navigation {
    position: relative;
  }
}

#main-navigation {
  width: 76px;
  background-color: white;
}
@media (max-width: 767px) {
  #main-navigation {
    width: 100%;
  }
}

.mega-menu-toggle {
  width: 18px;
  height: 14px;
  position: relative;
  cursor: pointer;
}
.mega-menu-toggle span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 50px;
  background-color: var(--color-black);
  transition: 0.3s ease;
}
.mega-menu-toggle span:nth-child(2) {
  top: 6px;
}
.mega-menu-toggle span:nth-child(3) {
  top: 12px;
}
.mega-menu-toggle.active span:nth-child(3) {
  display: none;
}
.mega-menu-toggle.active span:nth-child(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mega-menu-toggle.active span:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

body:has(#mega-menu.show) {
  overflow: hidden;
}
@media (min-width: 768px) {
  body:has(#mega-menu.show) {
    margin-right: 15px;
  }
}
body:has(#mega-menu.show) .mega-menu-alpha-filter {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 39;
}

body:not(.elementor-editor-active.postid-117) #mega-menu {
  position: fixed;
  top: var(--admin-bar-size);
  left: 0;
  transform: translatex(-110%);
  transition: 0.3s ease;
  max-height: calc(100vh - var(--admin-bar-size) - 70px);
  overflow-y: auto;
}
@media (max-width: 767px) {
  body:not(.elementor-editor-active.postid-117) #mega-menu {
    top: calc(var(--admin-bar-size) + 70px);
  }
}
body:not(.elementor-editor-active.postid-117) #mega-menu.show {
  transform: translatex(0);
}

body:not(.elementor-editor-active.postid-117):has(.banner-info-content) #mega-menu {
  top: calc(var(--admin-bar-size) + 61px);
}

.version-toggle-content {
  pointer-events: none;
  opacity: 0.2;
}

body:has(.spy-version-france) .version-toggle-content,
body:has(.spy-version-belgique) .version-toggle-content {
  pointer-events: unset;
  opacity: 1;
}

body:not(.elementor-editor-active) #home-cta {
  position: fixed;
  bottom: 0;
  right: 50px;
  z-index: 100;
  width: 293px;
  max-width: calc(100vw - 100px);
  transition: 0.3s ease;
}
body:not(.elementor-editor-active) #home-cta:not(.show) {
  transform: translatey(110%);
}
@media (max-width: 900px) {
  body:not(.elementor-editor-active) #home-cta {
    right: 24px;
    max-width: calc(100vw - 48px);
  }
}
body:not(.elementor-editor-active) #home-pop-in {
  position: fixed;
  bottom: 0;
  right: 50px;
  z-index: 110;
  width: 867px;
  max-width: calc(100vw - 100px);
  transition: 0.3s ease;
}
body:not(.elementor-editor-active) #home-pop-in:not(.show) {
  transform: translatey(110%);
}
@media (max-width: 900px) {
  body:not(.elementor-editor-active) #home-pop-in {
    right: 24px;
    max-width: calc(100vw - 48px);
  }
}

body:has(.search-results-modal.show) {
  overflow: hidden;
}

.search-results-modal {
  position: fixed;
  top: var(--admin-bar-size);
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  background-color: var(--color-gray-50);
  padding: 40px 48px 40px 100px;
  z-index: 45;
  transition: 0.3s ease;
}
.search-results-modal:not(.show) {
  transform: translateX(-100%);
}
@media (max-width: 767px) {
  .search-results-modal {
    padding: 40px 24px;
    top: calc(var(--admin-bar-size) + 70px);
  }
}

.search-results-modal .top-search {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--color-gray-400);
  max-width: 1272px;
  margin-inline: auto;
}
.search-results-modal .top-search .search-input {
  max-width: 413px;
  margin-inline: auto;
  position: relative;
}
.search-results-modal .top-search .search-input input {
  padding-right: 40px;
  border-radius: 50px;
  border: 1px solid var(--gray-300, #D1D5DB);
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.33398 2.66659C4.75666 2.66659 2.66732 4.75592 2.66732 7.33325C2.66732 9.91058 4.75666 11.9999 7.33398 11.9999C9.91131 11.9999 12.0007 9.91058 12.0007 7.33325C12.0007 4.75592 9.91131 2.66659 7.33398 2.66659ZM1.33398 7.33325C1.33398 4.01954 4.02028 1.33325 7.33398 1.33325C10.6477 1.33325 13.334 4.01954 13.334 7.33325C13.334 10.647 10.6477 13.3333 7.33398 13.3333C4.02028 13.3333 1.33398 10.647 1.33398 7.33325Z" fill="black"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M10.6621 10.6618C10.9224 10.4015 11.3445 10.4015 11.6049 10.6618L14.4715 13.5285C14.7319 13.7888 14.7319 14.2109 14.4715 14.4713C14.2112 14.7316 13.7891 14.7316 13.5287 14.4713L10.6621 11.6046C10.4017 11.3443 10.4017 10.9222 10.6621 10.6618Z" fill="black"/> </svg>');
  background-repeat: no-repeat;
  background-position: top 8px right 12px;
  background-size: 20px;
}
.search-results-modal .top-search .search-input input:not(:placeholder-shown) {
  background-image: none;
}
.search-results-modal .top-search .search-input input:not(:placeholder-shown) + .reset-global-search {
  display: block;
}
.search-results-modal .top-search .search-input .reset-global-search {
  display: none;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  cursor: pointer;
}
.search-results-modal .top-search .search-input .reset-global-search svg {
  display: block;
}
.search-results-modal .search-results {
  max-width: 1272px;
  margin-inline: auto;
}
.search-results-modal .search-results .search-placeholder .search-placeholder-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper {
  display: grid;
  gap: 60px;
  grid-template-columns: 669fr 412fr;
}
@media (max-width: 900px) {
  .search-results-modal .search-results .search-placeholder .search-placeholder-wrapper {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .search-results-modal .search-results .search-placeholder .search-placeholder-wrapper {
    display: flex;
    flex-direction: column-reverse;
  }
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .highlighted-projects-title {
  font-family: "Optima", sans-serif;
  font-size: 28px;
  line-height: normal;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-red-800);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper {
  background-color: var(--color-gray-200);
  min-height: 200px;
  padding: 40px;
  border-radius: 12px;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  background-position: center;
  background-size: cover;
}
@media (max-width: 900px) {
  .search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper {
    min-height: unset;
    padding: 0;
    background-image: none !important;
    background-color: transparent;
  }
}
@media (max-width: 767px) {
  .search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper {
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper .placeholder-cta-wrapper-card {
  border-radius: 16px;
  background: var(--red-700, #B8201F);
  padding: 16px;
  width: 298px;
  max-width: 100%;
}
@media (max-width: 767px) {
  .search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper .placeholder-cta-wrapper-card {
    width: 100%;
  }
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper .placeholder-cta-wrapper-card p {
  font-size: 14px;
  line-height: 17px;
  font-weight: 400;
  font-weight: 600;
  color: white;
  margin-bottom: 24px;
}
.search-results-modal .search-results .search-placeholder .search-placeholder-wrapper .placeholder-cta-wrapper .placeholder-cta-wrapper-card .title {
  margin-bottom: 16px;
  font-family: "Optima", sans-serif;
  font-size: 24px;
  line-height: normal;
  font-weight: 700;
}
.search-results-modal .search-results .search-results-wrapper .search-results-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid {
  display: grid;
  gap: 80px;
  grid-template-columns: 320fr 872fr;
}
@media (max-width: 1150px) {
  .search-results-modal .search-results .search-results-wrapper .search-results-grid {
    gap: 30px;
    grid-template-columns: 350fr 700fr;
  }
}
@media (max-width: 767px) {
  .search-results-modal .search-results .search-results-wrapper .search-results-grid {
    display: flex;
    flex-direction: column-reverse;
  }
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-grid-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-grid-title .search-results-grid-title-text {
  font-family: "Optima", sans-serif;
  font-size: 28px;
  line-height: normal;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-red-800);
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-grid-title .search-results-grid-title-count {
  font-size: 12px;
  line-height: 15px;
  font-weight: 500;
  font-weight: 400;
  color: #4B5563;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .no-result {
  font-style: italic;
  font-size: 14px;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-item-page {
  display: block;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-black);
  margin-bottom: 8px;
  padding-inline: 0 8px;
  transition: 0.3s ease;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-item-page:hover, .search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-item-page:focus, .search-results-modal .search-results .search-results-wrapper .search-results-grid .search-results-item-page:active {
  padding-inline: 8px 0;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid a.tag:hover, .search-results-modal .search-results .search-results-wrapper .search-results-grid a.tag:focus, .search-results-modal .search-results .search-results-wrapper .search-results-grid a.tag:active {
  background-color: var(--color-red-700);
  border-color: var(--color-red-700);
  color: white;
}
.search-results-modal .search-results .search-results-wrapper .search-results-grid .matching-area-of-interventions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.search-results-modal .search-results .ajax-search-results.has-search + .search-placeholder {
  display: none;
}
.search-results-modal .search-results .ajax-search-results.loading + .search-placeholder * {
  color: transparent !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
}
.search-results-modal .search-results .ajax-search-results.loading + .search-placeholder .placeholder-cta-wrapper {
  background-image: none !important;
}
.search-results-modal .search-results .ajax-search-results.loading + .search-placeholder svg,
.search-results-modal .search-results .ajax-search-results.loading + .search-placeholder .project-thumbnail img {
  opacity: 0;
}
.search-results-modal .search-results .ajax-search-results.loading * {
  color: transparent !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
}
.search-results-modal .search-results .ajax-search-results.loading svg,
.search-results-modal .search-results .ajax-search-results.loading .project-thumbnail img {
  opacity: 0;
}
.search-results-modal .search-results:has(.ajax-search-results.loading) {
  position: relative;
}
.search-results-modal .search-results:has(.ajax-search-results.loading):after {
  content: "";
  position: absolute;
  left: calc(50% - 30px);
  top: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border: 5px solid #4c4c4c;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  z-index: 6;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.toggle-global-search {
  cursor: pointer;
}
.toggle-global-search .active {
  display: none;
}
.toggle-global-search .inactive {
  display: block;
}
.toggle-global-search.active .inactive {
  display: none;
}
.toggle-global-search.active .active {
  display: block;
}

body:has(.contact-modal-wrapper.show) {
  overflow: hidden;
  margin-right: 15px;
}

.contact-modal-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: -32px;
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 55;
  padding: 16px;
  transition: 0.3s ease;
  overflow-y: auto;
}
@media (min-width: 767px) {
  .contact-modal-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.contact-modal-wrapper .contact-modal-window {
  background-color: white;
  border-radius: 12px;
  padding: 24px;
  width: 100%;
  position: relative;
  top: var(--admin-bar-size);
  margin-bottom: 100px;
}
@media (min-width: 767px) {
  .contact-modal-wrapper .contact-modal-window {
    max-width: 580px;
    padding: 40px;
    top: unset;
    margin-bottom: 0;
  }
}
.contact-modal-wrapper .contact-modal-window .contact-modal-window-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  justify-content: space-between;
}
.contact-modal-wrapper .contact-modal-window .contact-modal-window-header .contact-modal-window-header-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 0;
}
.contact-modal-wrapper .contact-modal-window .contact-modal-window-header .close-modal-contact {
  cursor: pointer;
  flex-shrink: 0;
}
.contact-modal-wrapper .gfield--type-html p {
  margin-bottom: 0;
}
.contact-modal-wrapper .gfield--type-html p a {
  color: var(--RED-red-800, #8A1817);
  text-decoration: underline;
}
.contact-modal-wrapper:not(.show) {
  visibility: hidden;
  opacity: 0;
  transform: translateY(-32px);
}

/*# sourceMappingURL=style.css.map */
