/* ==========================================================================
HELPERS CLASSES
========================================================================== */
:root {
  --icon-angle: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bg-fancy: radial-gradient(100% 100% at 4% 86%, #e6a7ff 16%, transparent), radial-gradient(100% 100% at 92% 7%, #fffb00 -91%, transparent), radial-gradient(100% 100% at 80% 80%, #ff6564 0%, transparent), radial-gradient(100% 100% at 80% 80%, #caf0fe 0%, transparent), radial-gradient(100% 100% at 80% 80%, #ff40ff 10%, transparent), #caf0fe;
}

body.no-scroll {
  overflow: hidden;
  padding-right: 0px;
}

.overlay {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  left: 0;
  top: 0;
  display: none;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.grecaptcha-badge {
  right: -300px !important;
}

a {
  text-decoration: none;
  outline: 0;
}
a:hover, a:focus, a:active {
  outline: 0;
  text-decoration: none;
}

.btn-close:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn.focus:active,
.btn:active:focus,
.btn:focus {
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.form-control:focus {
  border-color: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn.focus:active,
.btn:active:focus,
.btn:focus {
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

img {
  max-width: 100%;
  height: auto;
}

.map {
  line-height: 1;
}
.map iframe {
  width: 100%;
}

.whatsapp-fixed {
  --wfb-space: calc(var(--wp--custom--main-size) / 2);
  position: fixed;
  bottom: var(--wfb-space);
  z-index: 999;
}
.whatsapp-fixed a {
  width: 50px;
  height: 50px;
  background-color: #25d366;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  padding: 10px;
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTYuNjkzIDU2LjY5MyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1Ni42OTMgNTYuNjkzIj48cGF0aCBkPSJNNDYuMzggMTAuNzE0QzQxLjczIDYuMDU3IDM1LjU0NCAzLjQ5MiAyOC45NTQgMy40ODljLTEzLjU3OSAwLTI0LjYzIDExLjA1LTI0LjYzNiAyNC42MzNhMjQuNTg5IDI0LjU4OSAwIDAgMCAzLjI4OSAxMi4zMTZMNC4xMTIgNTMuMjA0bDEzLjA2LTMuNDI2YTI0LjYxNCAyNC42MTQgMCAwIDAgMTEuNzcyIDIuOTk5aC4wMWMxMy41NzcgMCAyNC42My0xMS4wNTIgMjQuNjM1LTI0LjYzNS4wMDItNi41ODItMi41NTgtMTIuNzcyLTcuMjA5LTE3LjQyOHpNMjguOTU0IDQ4LjYxNmgtLjAwOWEyMC40NDUgMjAuNDQ1IDAgMCAxLTEwLjQyMS0yLjg1NGwtLjc0OC0uNDQ0LTcuNzUgMi4wMzMgMi4wNy03LjU1NS0uNDg4LS43NzVhMjAuNDI3IDIwLjQyNyAwIDAgMS0zLjEzLTEwLjg5N2MuMDA0LTExLjI5IDkuMTktMjAuNDc0IDIwLjQ4NC0yMC40NzRhMjAuMzM2IDIwLjMzNiAwIDAgMSAxNC40NzYgNi4wMDUgMjAuMzUyIDIwLjM1MiAwIDAgMSA1Ljk5MSAxNC40ODVjLS4wMDQgMTEuMjktOS4xOSAyMC40NzYtMjAuNDc1IDIwLjQ3NnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjZmZmZmZmIiBjbGFzcz0iZmlsbC0wMDAwMDAiPjwvcGF0aD48cGF0aCBkPSJNNDAuMTg1IDMzLjI4MWMtLjYxNS0uMzA4LTMuNjQyLTEuNzk3LTQuMjA2LTIuMDAzLS41NjQtLjIwNS0uOTc1LS4zMDgtMS4zODUuMzA4LS40MS42MTctMS41OSAyLjAwMy0xLjk0OSAyLjQxNC0uMzU5LjQxLS43MTguNDYyLTEuMzM0LjE1NC0uNjE1LS4zMDgtMi41OTktLjk1OC00Ljk1LTMuMDU1LTEuODMtMS42MzItMy4wNjUtMy42NDgtMy40MjQtNC4yNjQtLjM2LS42MTctLjAzOC0uOTUuMjctMS4yNTcuMjc3LS4yNzYuNjE1LS43MTkuOTIzLTEuMDc4LjMwOC0uMzYuNDEtLjYxNi42MTYtMS4wMjcuMjA1LS40MS4xMDItLjc3LS4wNTItMS4wNzgtLjE1My0uMzA4LTEuMzg0LTMuMzM4LTEuODk3LTQuNTctLjUtMS4yLTEuMDA4LTEuMDM4LTEuMzg1LTEuMDU3LS4zNTktLjAxOC0uNzctLjAyMi0xLjE4LS4wMjJzLTEuMDc3LjE1NC0xLjY0Mi43N2MtLjU2NC42MTYtMi4xNTQgMi4xMDYtMi4xNTQgNS4xMzUgMCAzLjAzIDIuMjA2IDUuOTU3IDIuNTEzIDYuMzY4LjMwOC40MSA0LjM0MSA2LjYyOCAxMC41MTYgOS4yOTRhMzUuMzQxIDM1LjM0MSAwIDAgMCAzLjUwOSAxLjI5N2MxLjQ3NC40NjkgMi44MTYuNDAyIDMuODc3LjI0NCAxLjE4My0uMTc3IDMuNjQyLTEuNDkgNC4xNTUtMi45MjcuNTEzLTEuNDM4LjUxMy0yLjY3LjM1OS0yLjkyNy0uMTU0LS4yNTctLjU2NC0uNDEtMS4xOC0uNzE5eiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNmZmZmZmYiIGNsYXNzPSJmaWxsLTAwMDAwMCI+PC9wYXRoPjwvc3ZnPg==);
}
.whatsapp-fixed.left {
  left: var(--wfb-space);
}
.whatsapp-fixed.right {
  right: var(--wfb-space);
}

@media (min-width: 1200px) {
  .whatsapp-fixed {
    --wfb-space: calc(var(--wp--custom--main-size) / 1.5);
    bottom: var(--wfb-space);
  }
  .whatsapp-fixed a {
    width: 60px;
    height: 60px;
    padding: 15px;
    -webkit-transition: background 0.3s ease-out;
    transition: background 0.3s ease-out;
  }
  .whatsapp-fixed a:hover {
    background-color: #11b04c;
  }
  .whatsapp-fixed.left {
    left: var(--wfb-space);
  }
  .whatsapp-fixed.right {
    right: var(--wfb-space);
  }
}
.loader {
  width: 48px;
  height: 48px;
  border: 5px solid var(--wp--preset--color--primary);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: loaderRotation 0.8s linear infinite;
          animation: loaderRotation 0.8s linear infinite;
}

@-webkit-keyframes loaderRotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loaderRotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.ajax-load-more-wrap.infinite.skype > .alm-btn-wrap .alm-load-more-btn {
  background-image: url(../images/loading-light.svg) !important;
  background-size: 30px;
}

/* ==========================================================================
FORMS
========================================================================== */
label {
  display: block;
}

select,
input[type=text],
input[type=url],
input[type=date],
input[type=file],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
input[type=number],
textarea {
  display: block;
  width: 100%;
  padding: 0.437rem 0.75rem;
  line-height: 1.5;
  background-color: #fff;
  background-clip: padding-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  border: 1px solid #dee2e6;
  border-radius: var(--wp--custom--border--radius);
}
select:focus,
input[type=text]:focus,
input[type=url]:focus,
input[type=date]:focus,
input[type=file]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=number]:focus,
textarea:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
select[readonly],
input[type=text][readonly],
input[type=url][readonly],
input[type=date][readonly],
input[type=file][readonly],
input[type=email][readonly],
input[type=tel][readonly],
input[type=number][readonly],
input[type=password][readonly],
input[type=number][readonly],
textarea[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

input[type=file] {
  padding-top: 4px;
  padding-bottom: 0;
  display: none;
}

#fileName {
  background-color: var(--wp--preset--color--primary);
  display: inline-block;
  padding: 7px 20px;
  border-radius: var(--wp--custom--border--radius);
  color: #FFFFFF;
  margin-top: 10px;
  font-weight: normal;
  overflow: hidden;
  cursor: pointer;
  font-size: 0.875rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 250px;
}

textarea {
  height: 120px;
}

select {
  -moz-padding-start: calc(0.75rem - 3px);
  line-height: 1.5;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1.25rem auto;
  background-image: var(--icon-angle);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 0.75rem;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 1.25rem auto;
  background-position: center;
  background-image: var(--icon-angle);
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

.nice-select {
  float: none;
  font-size: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 0;
  padding-left: 0.75rem;
  line-height: 40px;
  border-radius: var(--wp--custom--border--radius);
}
.nice-select .list {
  width: 100%;
  border-radius: 0;
  border: 1px solid #dee2e6;
}
.nice-select:after {
  margin-top: -0.125rem;
  right: 0.75rem;
}

body .select2-container,
body .ui-widget.ui-datepicker {
  z-index: 5 !important;
}

.select2-container--default .select2-selection--single {
  border: 1px solid #ced4da;
  border-radius: var(--wp--custom--border--radius);
  height: 40px;
  line-height: 40px;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #000;
}

.btn,
.wp-block-post-navigation-link a,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-post-excerpt__more-link,
.wp-element-button,
.wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline,
.woocommerce .button,
input[type=button],
input[type=submit] {
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  border-width: 1px;
  border-style: solid;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, opacity 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, opacity 0.15s ease-in-out;
}

.wp-block-post-navigation-link a,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-post-excerpt__more-link,
.woocommerce .button,
input[type=button],
input[type=submit] {
  border-radius: var(--wp--custom--border--radius);
  background-color: var(--wp--preset--color--primary);
  color: #FFF;
  display: inline-block;
  border-color: var(--wp--preset--color--primary);
}
.wp-block-post-navigation-link a:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover,
.wp-block-post-excerpt__more-link:hover,
.woocommerce .button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  color: #FFF;
  background-color: var(--wp--custom--hover-color);
  border-color: var(--wp--custom--hover-color);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--primary);
  color: #FFFFFF !important;
}

.wp-block-button.is-style-icon .wp-block-button__link {
  background-color: transparent;
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
}
.wp-block-button.is-style-icon .wp-block-button__link::before {
  content: "";
  display: block;
  width: 28px;
  height: 20px;
  background-image: url(../images/icon-flumi.svg);
  background-size: cover;
  -webkit-transition: -webkit-filter 0.15s ease-in-out;
  transition: -webkit-filter 0.15s ease-in-out;
  transition: filter 0.15s ease-in-out;
  transition: filter 0.15s ease-in-out, -webkit-filter 0.15s ease-in-out;
}
.wp-block-button.is-style-icon .wp-block-button__link:hover {
  background-color: color-mix(in oklab, var(--wp--preset--color--primary) 90%, black);
  border-color: color-mix(in oklab, var(--wp--preset--color--primary) 90%, black);
  color: #FFF;
}
.wp-block-button.is-style-icon .wp-block-button__link:hover::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.wp-block-button__link.wp-element-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}

.btn {
  border-radius: var(--wp--custom--border--radius);
}

.btn-custom {
  background-color: var(--wp--preset--color--primary);
  color: #FFF;
}
.btn-custom:hover {
  color: #FFF;
  background-color: var(--wp--custom--hover-color);
}

.btn-grey {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary);
  border: transparent;
}
.btn-grey:hover {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary);
}
.btn-grey.active {
  background-color: var(--wp--preset--color--primary);
  color: #FFF;
}

.btn-flumi {
  border: 1px solid var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
  font-weight: 500;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.375rem;
}
.btn-flumi:hover {
  color: #FFF;
  background-color: var(--wp--preset--color--primary);
}
.btn-flumi:hover img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.btn-flumi img {
  border-radius: 0 !important;
  max-width: 1.75rem;
  -webkit-transition: -webkit-filter 0.15s ease-in-out;
  transition: -webkit-filter 0.15s ease-in-out;
  transition: filter 0.15s ease-in-out;
  transition: filter 0.15s ease-in-out, -webkit-filter 0.15s ease-in-out;
}

.btn-white {
  color: var(--wp--preset--color--primary);
  background-color: #FFF;
  text-transform: uppercase;
}
.btn-white:hover {
  color: #FFF;
  background-color: var(--wp--custom--hover-color);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

::-webkit-input-placeholder {
  opacity: 0.8;
}

::-moz-placeholder {
  opacity: 0.8;
}

:-ms-input-placeholder {
  opacity: 0.8;
}

:-moz-placeholder {
  opacity: 0.8;
}

/* ==========================================================================
CF7
========================================================================== */
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form .field-cf7 {
  margin-bottom: calc(var(--wp--custom--main-size) / 2);
}
.wpcf7-form .field-cf7 > p {
  margin: 0;
}
.wpcf7-form .field-cf7 label {
  margin-bottom: 0.188rem;
}
.wpcf7-form .wpcf7-list-item {
  margin: 0;
  display: block;
}
.wpcf7-form.submitting .wpcf7-submit {
  background-image: url(../images/loading-light.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.25rem;
  color: transparent;
}
.wpcf7-form .wpcf7-submit {
  min-width: 9.375rem;
}
.wpcf7-form .wpcf7-spinner {
  display: none !important;
}
.wpcf7-form .wpcf7-not-valid {
  border-color: #f00;
}
.wpcf7-form .wpcf7-not-valid + .nice-select {
  border-color: #f00;
}
.wpcf7-form div.wpcf7-response-output {
  margin: 0 0 0.75rem 0;
  padding: 0.313rem;
  font-size: 0.9375rem;
}
.wpcf7-form.invalid .wpcf7-response-output {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border: 1px solid #faebcc;
  border-radius: calc(var(--wp--custom--main-size) / 2);
}
.wpcf7-form.sent .wpcf7-response-output {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  border-radius: calc(var(--wp--custom--main-size) / 2);
}
.wpcf7-form span.wpcf7-not-valid-tip {
  font-size: 0.875rem;
  padding-top: 5px;
  display: block;
  display: none !important;
}
.wpcf7-form div.wpcf7-spam-blocked,
.wpcf7-form div.wpcf7-mail-sent-ng {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

.wpcf7-field-group-remove,
.wpcf7-field-group-add {
  border: none;
  border-radius: 30px;
  background-color: var(--wp--preset--color--primary);
  color: #FFF;
  font-size: 18px;
  padding: 8px 30px;
  display: block;
}
.wpcf7-field-group-remove:hover,
.wpcf7-field-group-add:hover {
  color: white;
  background-color: #134A8C;
}

.wpcf7-field-group-add {
  max-width: 200px;
  margin: 10px auto 20px auto;
}

@media (min-width: 768px) {
  .cf7-two-cols {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr calc(var(--wp--custom--main-size) / 2) 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0 calc(var(--wp--custom--main-size) / 2);
  }
}
/* ==========================================================================
OWL CAROUSEL
========================================================================== */
.owl-carousel {
  position: relative;
  display: none;
}
.owl-carousel .owl-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.owl-carousel .owl-dots {
  margin-top: var(--wp--custom--main-size);
  line-height: 1;
}
.owl-carousel .owl-nav {
  margin-top: var(--wp--custom--main-size);
}
.owl-carousel .owl-nav button {
  -webkit-transition: background 0.3s ease-out;
  transition: background 0.3s ease-out;
  margin: 0;
  width: 6rem;
  height: 3.3rem;
  overflow: hidden;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: auto 1.5rem !important;
  background-image: url(../images/arrow-owl.svg) !important;
  border-radius: 30px !important;
}
.owl-carousel .owl-nav button span {
  display: none;
}
.owl-carousel .owl-nav button.owl-next {
  background: rgba(232, 231, 230, 0.3);
  -webkit-backdrop-filter: blur(27px);
  backdrop-filter: blur(27px);
}
.owl-carousel .owl-nav button.owl-prev {
  background: rgba(232, 231, 230, 0.3);
  -webkit-backdrop-filter: blur(27px);
  backdrop-filter: blur(27px);
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.owl-carousel .owl-nav [class*=owl-]:hover {
  background: rgba(232, 231, 230, 0.3);
  -webkit-backdrop-filter: blur(27px);
  backdrop-filter: blur(27px);
}

.owl-theme .owl-dots .owl-dot span {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.313rem;
  background: none;
  border: 1px solid var(--wp--preset--color--primary);
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background-color: var(--wp--custom--hover-color);
  opacity: 1;
}

@media (min-width: 1400px) {
  .middle-arrows-owl-carousel {
    padding: 0 calc(var(--wp--custom--main-size) * 2);
  }
  .middle-arrows-owl-carousel .owl-carousel .owl-nav {
    margin-top: 0;
    position: absolute;
    top: calc(50% - 1.563rem);
    left: 0;
    width: 100%;
    pointer-events: none;
  }
  .middle-arrows-owl-carousel .owl-carousel .owl-nav button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    pointer-events: auto;
  }
  .middle-arrows-owl-carousel .owl-carousel .owl-nav button.owl-prev {
    float: left;
    margin-left: -4.375rem;
  }
  .middle-arrows-owl-carousel .owl-carousel .owl-nav button.owl-next {
    float: right;
    margin-right: -4.375rem;
  }
}
/* ==========================================================================
ZOOM EFECT
========================================================================== */
a.zoom-effect {
  position: relative;
  display: inline-block;
}
a.zoom-effect:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 90;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
  background-color: rgba(0, 0, 0, 0.6);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.875rem;
}
a.zoom-effect:hover:after {
  opacity: 1;
}
a.zoom-effect:hover:before {
  opacity: 1;
}

/* ==========================================================================
NAVIGATION
========================================================================== */
.navigation {
  padding-top: calc(var(--wp--custom--main-size) * 2);
}
.navigation .screen-reader-text {
  display: none;
}
.navigation.pagination .nav-links {
  width: 100%;
  text-align: center;
}
.navigation.pagination a,
.navigation.pagination span {
  border: none;
  color: var(--wp--preset--color--primary);
  width: 40px;
  height: 40px;
  text-align: center;
  display: inline-block;
  font-size: 22px;
  line-height: 37px;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  border-radius: 50%;
}
.navigation.pagination a:hover,
.navigation.pagination span.current {
  background-color: var(--wp--preset--color--primary);
  color: #FFFFFF;
}
.navigation.post-navigation {
  padding: var(--wp--custom--main-size);
  padding-top: calc(var(--wp--custom--main-size) * 2);
}
.navigation.post-navigation .nav-links {
  max-width: 960px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.navigation.post-navigation .nav-links .nav-next {
  margin-left: auto;
}
.navigation.post-navigation .nav-links a {
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  font-size: 1rem;
  line-height: 1.5;
  vertical-align: middle;
  display: inline-block;
  text-align: center;
  padding: 0.375rem 0.75rem;
  border: 2px solid var(--wp--preset--color--primary);
  border-radius: var(--wp--custom--border--radius);
  min-width: 130px;
}
.navigation.post-navigation .nav-links a:hover {
  background-color: var(--wp--custom--hover-color);
  color: #FFFFFF;
}

/* ==========================================================================
BLOG
========================================================================== */
.list-posts.list-posts-related .col:nth-child(3) {
  display: none;
}
.list-posts .post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
}
.list-posts .post > * {
  width: 100%;
}
.list-posts .post .image-post {
  margin-bottom: calc(var(--wp--custom--main-size) / 2);
}
.list-posts .post h3 {
  font-size: 1.375rem;
  margin-bottom: calc(var(--wp--custom--main-size) / 2);
}
.list-posts .post .read-more {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.list-posts .post .meta-post {
  margin-bottom: var(--wp--custom--main-size);
}
.list-posts .post .excerpt-post {
  margin-bottom: var(--wp--custom--main-size);
}
.list-posts .post p {
  margin: 0;
}

.list-post-search {
  padding-bottom: var(--wp--custom--main-size);
}
.list-post-search .col-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.list-post-search .col-item article {
  padding-top: var(--wp--custom--main-size);
  padding-bottom: var(--wp--custom--main-size);
}
.list-post-search .col-item article .meta-post {
  font-size: 90%;
  opacity: 0.8;
}
.list-post-search .col-item article > * {
  margin-bottom: calc(var(--wp--custom--main-size) / 2);
}
.list-post-search .col-item article > .content-post {
  margin-bottom: 0;
}
.list-post-search .col-item article > .content-post p {
  margin: 0;
}

@media (min-width: 992px) {
  .list-posts.list-posts-related .col:nth-child(3) {
    display: block;
  }
}
.post .image-post a {
  display: block;
}
.post .image-post img {
  max-width: none;
  width: 100%;
  aspect-ratio: 1/0.6;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--wp--custom--border--radius);
}
.post .image-post a {
  display: block;
}
.post .meta-post {
  font-size: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.post .meta-post span {
  display: block;
}
.post .meta-post span:not(:last-child):after {
  content: " | ";
  display: inline-block;
  padding: 0 0.75rem;
}
.post .meta-post span:last-child {
  padding-right: 0;
}
.post .meta-post .list-terms a:not(:last-child):after {
  content: ", ";
}

body.single-post .entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 960px;
}

/* ==========================================================================
GENERAL
========================================================================== */
.error404 article {
  max-width: 800px;
  margin: 0 auto;
}
.error404 article .title-page {
  font-size: 6.25rem;
  line-height: 1.2;
}

.search-no-results article .inner {
  max-width: 31.25rem;
  margin: 0 auto;
}
.search-no-results article .inner .form-group {
  margin-bottom: 0;
}

/* ==========================================================================
SEARCH
========================================================================== */
.search-form .input-group {
  border: 1px solid #ced4da;
}
.search-form .form-control {
  margin-left: 0 !important;
}
.search-form .search-field {
  border: none;
}
.search-form .btn {
  border-radius: 0;
  background-color: #FFFFFF;
}
.search-form .btn img {
  width: 30px;
}

.wrap-search {
  background-color: #FFFFFF;
  position: fixed;
  width: 100%;
  z-index: 9999;
  left: 0;
  top: 0;
  padding: 24px 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.35s ease-out;
  transition: -webkit-transform 0.35s ease-out;
  transition: transform 0.35s ease-out;
  transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}
.wrap-search.open {
  -webkit-transform: translate(0);
          transform: translate(0);
}
.wrap-search .dgwt-wcas-sf-wrapp {
  width: calc(100% - 48px);
}
.wrap-search .dgwt-wcas-sf-wrapp {
  margin: 0 24px;
}
.wrap-search .search-form {
  padding: 0 24px;
}
.wrap-search .search-form .input-group {
  border: none;
}
.wrap-search .search-form .form-control {
  margin-left: 0 !important;
  padding: 0;
  font-size: 18px;
}
.wrap-search .search-form .search-field {
  border: none;
}
.wrap-search .search-form .btn {
  border-radius: 0;
  background-color: #FFFFFF;
  padding: 0;
}
.wrap-search .search-form .btn img {
  width: 30px;
}

@media (min-width: 768px) {
  .wrap-search .search-form,
  .wrap-search .dgwt-wcas-sf-wrapp {
    margin: 0 auto;
    max-width: 800px;
  }
}
@media (min-width: 992px) {
  .wrap-search {
    padding: 36px 0;
  }
}
/* ==========================================================================
BOOTSTRAP
========================================================================== */
.accordion {
  background: none;
}

.accordion-item {
  background: none;
  border: none;
  background: none !important;
}

.accordion-header {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: none !important;
  border-bottom: 1px solid var(--wp--preset--color--primary);
}

.accordion-body {
  padding: var(--wp--custom--main-size) 0;
}

.accordion-button:not(.collapsed) {
  color: var(--wp--preset--color--secondary);
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.accordion-button {
  background: none;
  color: var(--wp--preset--color--secondary);
  font-size: 1.15rem;
  padding-left: 0;
  padding-right: 0;
}

.accordion-button::after {
  background-image: var(--icon-angle);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--icon-angle);
  background-position: center;
}

.accordion-item:last-of-type .accordion-button.collapsed,
.accordion-item:first-of-type .accordion-button {
  border-radius: 0;
}

@media (min-width: 1200px) {
  .accordion-button {
    font-size: 1.25rem;
  }
}
/* ==========================================================================
GENERAL
========================================================================== */
a {
  color: var(--wp--preset--color--primary);
}
a:hover {
  color: var(--wp--custom--hover-color);
  opacity: 0.3s;
}

table {
  width: 100%;
  max-width: 100%;
  margin: 25px 0;
  background-color: transparent;
  font-size: 0.9rem;
}

table td,
table th {
  padding: 0.3rem;
}

table td,
table th {
  border-top: 1px solid #dee2e6;
}

.container,
.container-xl,
.container-xxl,
.container-fluid {
  padding-left: var(--wp--custom--main-size);
  padding-right: var(--wp--custom--main-size);
  max-width: 1540px;
}

section.wp-block-group,
.section {
  padding-top: calc(var(--wp--custom--main-size) * 2);
  padding-bottom: calc(var(--wp--custom--main-size) * 2);
}

@media (min-width: 768px) {
  .section.section-default {
    padding-top: calc(var(--wp--custom--main-size) * 6);
    padding-bottom: 0;
  }
}
@media (min-width: 992px) {
  section.wp-block-group,
  .section {
    padding-top: calc(var(--wp--custom--main-size) * 2);
    padding-bottom: calc(var(--wp--custom--main-size) * 2);
  }
}
@media (min-width: 1200px) {
  section.wp-block-group,
  .section {
    padding-top: calc(var(--wp--custom--main-size) * 3);
    padding-bottom: calc(var(--wp--custom--main-size) * 3);
  }
  .section.section-default {
    padding-top: calc(var(--wp--custom--main-size) * 8);
  }
}
/* ==========================================================================
GUTENBERG
========================================================================== */
.is-style-d-none {
  display: none !important;
}

.is-style-grey-box {
  background-color: var(--wp--preset--color--secondary);
}

.is-style-fancy-box {
  background: var(--bg-fancy);
}

.is-style-grey-box,
.is-style-fancy-box {
  border-radius: var(--wp--custom--border--radius);
  padding: var(--wp--custom--main-size);
}

#main .wp-block-jupa-bootstrap-row-column .wp-block-group.is-style-grey-box {
  height: 100%;
}

.is-style-fancy {
  background: var(--bg-fancy);
  border-radius: var(--wp--custom--border--radius);
  padding: var(--wp--custom--main-size);
  font-weight: 500;
}

@media (min-width: 1200px) {
  .is-style-fancy-box,
  .is-style-grey-box {
    padding: calc(var(--wp--custom--main-size) * 2);
  }
  .is-style-grey-box-half {
    padding: var(--wp--custom--main-size);
  }
}
.is-style-badge {
  background-color: var(--wp--preset--color--secondary);
  border-radius: var(--wp--custom--border--radius);
  padding: calc(var(--wp--custom--main-size) / 2) var(--wp--custom--main-size);
}

.wp-block-details summary {
  border-bottom: 1px solid var(--wp--preset--color--primary);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 1rem 0;
  font-size: 1.25rem;
  line-height: 1.3;
}
.wp-block-details summary:after {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-repeat: no-repeat;
  background-image: var(--icon-angle);
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
.wp-block-details[open] summary:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

hr,
.wp-block-separator {
  opacity: 1;
  border-top: 1px solid currentColor;
  -webkit-border-after: 0;
          border-block-end: 0;
}

.has-global-padding > .wp-block-group.alignfull.has-background.is-layout-constrained {
  padding-left: var(--wp--custom--main-size);
  padding-right: var(--wp--custom--main-size);
}

.g-2,
.gx-2 {
  --bs-gutter-x: 10px;
}

.mt-2 {
  margin-top: 10px !important;
}

.mb-2 {
  margin-bottom: 10px !important;
}

.pt-2 {
  padding-top: 10px !important;
}

.pb-2 {
  padding-bottom: 10px !important;
}

/* ==========================================================================
HEADER
========================================================================== */
.main-header {
  z-index: 998;
  position: fixed;
  width: 100%;
  top: 0;
  padding: calc(var(--wp--custom--main-size) / 2);
  display: none;
}
.main-header .col-logo a {
  display: block;
}
.main-header .col-logo a img {
  max-width: 100px;
}
.main-header nav.wp-block-navigation.main-menu {
  font-size: 1rem;
  border-radius: 1.875rem;
  background: rgba(232, 231, 230, 0.3);
  -webkit-backdrop-filter: blur(27px);
          backdrop-filter: blur(27px);
  padding: calc(var(--wp--custom--main-size) / 2) var(--wp--custom--main-size);
}
.main-header nav.wp-block-navigation.main-menu a {
  display: inline-block;
  position: relative;
}
.main-header nav.wp-block-navigation.main-menu a:after {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background-color: currentColor;
}
.main-header nav.wp-block-navigation.main-menu li.current-menu-item a:after {
  width: 100%;
}
.main-header .custom-logo-link {
  background: rgba(232, 231, 230, 0.3);
  -webkit-backdrop-filter: blur(27px);
          backdrop-filter: blur(27px);
  padding: calc(var(--wp--custom--main-size) / 2) var(--wp--custom--main-size);
  border-radius: 1.875rem;
}
.main-header .custom-logo-link img {
  border-radius: 0;
}

.single-project .main-header nav.wp-block-navigation.main-menu li.menu-item-projects a::after {
  width: 100%;
}

.main-header-mobile {
  padding: var(--wp--custom--main-size);
}
.main-header-mobile .icon-open-menu {
  height: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.main-header-mobile .icon-open-menu img {
  display: block;
}

@media (min-width: 768px) {
  .main-header-mobile {
    display: none;
  }
  .main-header {
    display: block;
  }
}
@media (min-width: 992px) {
  .main-header {
    padding: var(--wp--custom--main-size);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  .main-header nav.wp-block-navigation.main-menu {
    font-size: 1.125rem;
  }
  .main-header nav.wp-block-navigation.main-menu ul {
    gap: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .main-header .col-logo a img {
    max-width: 7.5rem;
  }
  .main-header nav.wp-block-navigation.main-menu ul {
    gap: 3rem;
  }
  .main-header nav.wp-block-navigation.main-menu a:hover:after {
    left: 0;
    width: 100%;
  }
}
/* ==========================================================================
MENU
========================================================================== */
.menu-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 999;
  padding: var(--wp--custom--main-size);
  overflow: auto;
  -webkit-transform: translateY(-110%);
          transform: translateY(-110%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1), -webkit-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  font-size: 1.875rem;
}
.menu-mobile .icon-close-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.menu-mobile li.current-menu-item a {
  display: inline-block;
  position: relative;
}
.menu-mobile li.current-menu-item a:after {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}

:where(body .menu-mobile) > * {
  -webkit-margin-before: calc(var(--wp--custom--main-size) * 3);
          margin-block-start: calc(var(--wp--custom--main-size) * 3);
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

body.show-menu .menu-mobile {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media (min-width: 768px) {
  .menu-mobile {
    display: none;
  }
}
/* ==========================================================================
FOOTER
========================================================================== */
.main-footer {
  padding: var(--wp--custom--main-size);
  margin-top: calc(var(--wp--custom--main-size) * 5);
}
.main-footer .is-style-badge {
  display: inline-block;
}

.field-cf7-subscribe {
  border: 1px solid var(--wp--preset--color--primary);
  border-radius: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 var(--wp--custom--main-size);
  font-size: 1.25rem;
}
.field-cf7-subscribe .wpcf7-text {
  border: none;
  background: none;
  height: 3.375rem;
  padding: 0;
}
.field-cf7-subscribe .wpcf7-submit {
  background-color: transparent;
  border: none;
  color: var(--wp--preset--color--primary);
  border-radius: 0;
  padding: 0 0 0 50px;
  min-width: auto;
  background-image: url(../images/icon-flumi.svg);
  background-repeat: no-repeat;
  background-position: 0 50%;
  margin-left: var(--wp--custom--main-size);
  font-size: 1.25rem;
}
.field-cf7-subscribe .wpcf7-submit:hover {
  background-color: transparent;
  border: none;
  color: var(--wp--preset--color--primary);
  opacity: 0.6;
}

@media (max-width: 991px) {
  .main-footer .wp-block-spacer {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .main-footer .box-info {
    height: 100%;
  }
  .main-footer .col-footer-1 .has-large-font-size {
    font-size: 1.2rem;
  }
  .field-cf7-subscribe .wpcf7-text {
    font-size: 1.3rem;
  }
}
@media (min-width: 1500px) {
  .main-footer {
    padding-inline: calc(var(--wp--custom--main-size) * 2);
  }
  .main-footer .wp-block-social-links.is-style-logos-only .wp-social-link svg {
    width: 2em;
    height: 2em;
  }
}
/* ==========================================================================
HEADER PAGE
========================================================================== */
.header-page.wp-block-group {
  min-height: 75svh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  padding-bottom: var(--wp--custom--main-size);
}
.header-page.wp-block-group > * {
  width: 100%;
}
.header-page.wp-block-group .featured-img img {
  max-width: none;
  width: auto;
  height: 30svh;
  border-radius: var(--wp--custom--border--radius);
  aspect-ratio: 2/2.3;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 768px) {
  .header-page.wp-block-group {
    padding-top: calc(var(--wp--custom--main-size) * 6);
    min-height: 70svh;
  }
}
@media (min-width: 992px) {
  .header-page.wp-block-group {
    min-height: 100svh;
  }
  .header-page.wp-block-group .featured-img img {
    height: 43svh;
  }
}
@media (min-width: 1200px) {
  .header-page.wp-block-group {
    padding-bottom: calc(var(--wp--custom--main-size) * 2);
  }
  .header-page.wp-block-group.header-page-catalyzer {
    padding-top: calc(var(--wp--custom--main-size) * 8);
  }
}
@media (min-width: 1800px) {
  .header-page.wp-block-group {
    padding-top: calc(var(--wp--custom--main-size) * 8);
    min-height: 100vh;
  }
  .header-page.wp-block-group.header-page-catalyzer {
    padding-top: calc(var(--wp--custom--main-size) * 10);
  }
}
/* ==========================================================================
RESOURCES
========================================================================== */
.type-resource .inner {
  background-color: var(--wp--preset--color--secondary);
  padding: var(--wp--custom--main-size);
  border-radius: var(--wp--custom--border--radius);
  font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem);
  margin-bottom: 0.625rem;
}
.type-resource h3 {
  font-size: clamp(1.25rem, 1.1389rem + 0.5556vw, 1.625rem);
}

.flumi-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.3125rem;
  font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem);
}
.flumi-tags a {
  padding: 0.625rem;
  border-radius: 1.875rem;
  display: block;
  background-color: var(--wp--preset--color--secondary);
  line-height: 1;
  -webkit-transition: background 0.15s ease-out;
  transition: background 0.15s ease-out;
}
.flumi-tags a.link {
  background-color: #FFF;
}
.flumi-tags a.link:hover {
  background-color: var(--wp--preset--color--secondary);
}
.flumi-tags a:hover {
  background-color: #FFF;
}

.list-tags {
  font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem);
}
.list-tags p,
.list-tags a {
  padding: 0.625rem;
  border-radius: 1.875rem;
  display: block;
  background-color: var(--wp--preset--color--secondary);
  line-height: 1;
}
.list-tags p.link,
.list-tags a.link {
  background-color: #FFF;
}
.list-tags p.link:hover,
.list-tags a.link:hover {
  background-color: var(--wp--preset--color--secondary);
}
.list-tags a {
  -webkit-transition: background 0.15s ease-out;
  transition: background 0.15s ease-out;
}
.list-tags a:hover {
  background-color: #FFF;
}
.list-tags p a {
  padding: 0;
  background: none;
}
.list-tags.list-tags-anchors p {
  padding: 0;
}
.list-tags.list-tags-anchors p a {
  padding: 0.625rem;
}

.list-tags-single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
.list-tags-single p {
  margin: 0;
}
.list-tags-single:not(:last-child) {
  margin-bottom: 10px;
}

.title-tag {
  margin: 0 0 10px;
}
.title-tag span {
  font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem);
  padding: 0.625rem 1rem;
  border-radius: 1.875rem;
  display: inline-block;
  background-color: var(--wp--preset--color--secondary);
  line-height: 1.2;
}

:where(body .type-resource .inner) > * {
  -webkit-margin-before: var(--wp--custom--main-size);
          margin-block-start: var(--wp--custom--main-size);
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

:where(body .type-resource .inner) > :first-child:first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

/* ==========================================================================
CATALYZERS
========================================================================== */
.list-catalyzer {
  font-size: 1rem;
}
.list-catalyzer .type-catalyzer .inner {
  display: inline-block;
}
.list-catalyzer .type-catalyzer .wrap-image {
  display: block;
  border-radius: var(--wp--custom--border--radius);
  overflow: hidden;
  margin-bottom: 0.625rem;
}
.list-catalyzer .type-catalyzer img.wp-post-image {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 2/2.3;
  max-width: none;
  width: 100%;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  border-radius: var(--wp--custom--border--radius);
}
.list-catalyzer .type-catalyzer h3 {
  font-size: 1.5rem;
  margin-top: var(--wp--custom--main-size);
  margin-bottom: 0;
  margin-top: 0;
}
.list-catalyzer .type-catalyzer p a:not(.btn) {
  display: block;
  text-decoration: underline;
}
.list-catalyzer .type-catalyzer .is-style-grey-box {
  padding: calc(var(--wp--custom--main-size));
}

@media (min-width: 1200px) {
  .list-catalyzer .type-catalyzer:nth-child(4n+3),
  .list-catalyzer .type-catalyzer:nth-child(4n+4) {
    margin-top: 28.7%;
  }
  .list-catalyzer.list-filtered .type-catalyzer:nth-child(4n+3),
  .list-catalyzer.list-filtered .type-catalyzer:nth-child(4n+4) {
    margin-top: 0;
  }
}
.list-catalyzer-single {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--wp--custom--main-size) 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--custom--main-size);
}
.list-catalyzer-single .type-catalyzer .inner {
  display: inline-block;
}
.list-catalyzer-single .type-catalyzer .wrap-image {
  max-width: 150px;
  margin: 0 auto;
  border-radius: var(--wp--custom--border--radius);
}
.list-catalyzer-single .type-catalyzer img.wp-post-image {
  border-radius: var(--wp--custom--border--radius);
  aspect-ratio: 2/2.3;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.list-catalyzer-single .type-catalyzer h3 {
  font-size: 1.3rem;
  margin-top: var(--wp--custom--main-size);
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .list-catalyzer-single {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .list-catalyzer-single .type-catalyzer {
    text-align: center;
  }
  .list-catalyzer-single .type-catalyzer img {
    max-width: 9.375rem;
  }
}
@media (min-width: 992px) {
  .list-catalyzer-single {
    -ms-grid-columns: 1fr calc(var(--wp--custom--main-size) * 2) 1fr calc(var(--wp--custom--main-size) * 2) 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--wp--custom--main-size) * 2);
  }
  .list-catalyzer-single .type-catalyzer {
    text-align: center;
  }
  .list-catalyzer-single .type-catalyzer:nth-child(4n+1) {
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    -ms-grid-column: 1;
        grid-column-start: 1;
  }
  .list-catalyzer-single .type-catalyzer:nth-child(4n+4) {
    -ms-grid-column: 2;
        grid-column-start: 2;
    -webkit-transform: translateX(calc(50% + 1.25rem));
            transform: translateX(calc(50% + 1.25rem));
  }
}
@media (min-width: 1200px) {
  .list-catalyzers-project .wrap-image,
  .list-catalyzer-single .wrap-image,
  .list-catalyzer .wrap-image {
    position: relative;
    overflow: hidden;
  }
  .list-catalyzers-project .wrap-image:after,
  .list-catalyzer-single .wrap-image:after,
  .list-catalyzer .wrap-image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background: var(--bg-fancy);
    opacity: 0;
    z-index: 99;
    -webkit-transition: opacity 0.4s ease-out;
    transition: opacity 0.4s ease-out;
  }
  .list-catalyzers-project .wrap-image img,
  .list-catalyzer-single .wrap-image img,
  .list-catalyzer .wrap-image img {
    -webkit-transition: -webkit-transform 0.25s ease-out;
    transition: -webkit-transform 0.25s ease-out;
    transition: transform 0.25s ease-out;
    transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
  }
  .list-catalyzers-project .wrap-image:hover:after,
  .list-catalyzer-single .wrap-image:hover:after,
  .list-catalyzer .wrap-image:hover:after {
    opacity: 0.6;
  }
  .list-catalyzers-project .wrap-image:hover img,
  .list-catalyzer-single .wrap-image:hover img,
  .list-catalyzer .wrap-image:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.single-catalyzer .attachment-post-thumbnail {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}

.filters-catalyzers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4rem;
}

@media (max-width: 767px) {
  .filters-catalyzers .btn {
    font-size: 14px;
  }
}
.section-list-catalyzer {
  min-height: 980px;
}

/* ==========================================================================
SINGLE PROJECT
========================================================================== */
.list-catalyzers-project .row .wrap-image {
  border-radius: var(--wp--custom--border--radius);
  overflow: hidden;
  position: relative;
}
.list-catalyzers-project .row img.wp-post-image {
  border-radius: var(--wp--custom--border--radius);
  aspect-ratio: 2/2.3;
  -o-object-fit: cover;
     object-fit: cover;
}
.list-catalyzers-project .row h3 {
  font-size: 1rem;
}

.text-key-people {
  font-size: 1rem;
  background-color: var(--wp--preset--color--secondary);
  padding: calc(var(--wp--custom--main-size) / 2);
  border-radius: var(--wp--custom--border--radius);
}
.text-key-people a {
  text-decoration: underline;
}

.owl-project.owl-carousel {
  overflow: hidden;
  border-radius: var(--wp--custom--border--radius);
  border-bottom-left-radius: 0;
}
.owl-project.owl-carousel .owl-item {
  padding-left: 10px;
}
.owl-project.owl-carousel .owl-item img {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/2.7;
  border-radius: var(--wp--custom--border--radius);
}
.owl-project.owl-carousel .owl-item p {
  font-size: 14px;
  margin: 10px 0 0 0;
  padding-left: 10px;
}
.owl-project.owl-carousel .owl-nav {
  width: calc(100vw - 2.5rem);
}

@media (min-width: 992px) {
  .owl-project.owl-carousel .owl-nav {
    width: calc(100vw - 9.25rem);
  }
}
@media (min-width: 1200px) {
  .owl-project.owl-carousel {
    position: relative;
  }
  .owl-project.owl-carousel .owl-nav {
    width: calc(100vw - 200px);
    position: absolute;
    top: calc(50% - 30px);
    z-index: 999;
    margin: 0;
    text-align: right;
  }
  .owl-project.owl-carousel .owl-next {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .owl-project.owl-carousel .owl-prev {
    display: none;
  }
  .owl-project.owl-carousel:hover .owl-next {
    opacity: 1;
  }
}
.owl-related-projects.owl-carousel .owl-item {
  padding-left: 10px;
}
.owl-related-projects.owl-carousel .owl-item .wrap-image {
  overflow: hidden;
  display: block;
  border-radius: var(--wp--custom--border--radius);
}
.owl-related-projects.owl-carousel .owl-item img {
  aspect-ratio: 2/2.3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--wp--custom--border--radius);
}

.large-owl {
  width: 150vw;
}
.large-owl.large-owl-related {
  width: 100%;
}

@media (min-width: 768px) {
  .large-owl {
    width: 130%;
  }
  .large-owl.large-owl-related {
    width: 125%;
  }
}
@media (min-width: 992px) {
  .large-owl {
    width: 120vw;
    padding-left: 100px;
    margin-top: -54px;
  }
  .large-owl.large-owl-related {
    padding-left: 110px;
    margin-top: -75px;
  }
}
/* ==========================================================================
PROJECTS
========================================================================== */
.list-projects .wrap-image {
  border-radius: var(--wp--custom--border--radius);
  overflow: hidden;
  display: block;
}
.list-projects img.wp-post-image {
  border-radius: var(--wp--custom--border--radius);
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
.list-projects h3 a {
  display: block;
  position: relative;
  overflow: hidden;
}

@media (min-width: 992px) {
  .list-projects img.wp-post-image {
    aspect-ratio: 2/2.3;
  }
}
@media (min-width: 1200px) {
  .owl-related-projects .wrap-image img,
  .list-projects .wrap-image img {
    -webkit-transition: -webkit-transform 0.4s ease-out;
    transition: -webkit-transform 0.4s ease-out;
    transition: transform 0.4s ease-out;
    transition: transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
  }
  .owl-related-projects .wrap-image:hover:after,
  .list-projects .wrap-image:hover:after {
    opacity: 0.8;
  }
  .owl-related-projects .wrap-image:hover img,
  .list-projects .wrap-image:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .featured-project h3 a,
  .owl-related-projects h3 a,
  .list-projects h3 a {
    display: block;
    position: relative;
    overflow: hidden;
  }
  .featured-project h3 a::after,
  .owl-related-projects h3 a::after,
  .list-projects h3 a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.15s ease-out;
    transition: opacity 0.15s ease-out;
  }
  .featured-project h3 a span,
  .owl-related-projects h3 a span,
  .list-projects h3 a span {
    position: relative;
    z-index: 5;
  }
  .featured-project h3 a:hover,
  .owl-related-projects h3 a:hover,
  .list-projects h3 a:hover {
    color: #4B4A48;
  }
  .featured-project h3 a:hover:after,
  .owl-related-projects h3 a:hover:after,
  .list-projects h3 a:hover:after {
    opacity: 1;
  }
}
/* ==========================================================================
HOME
========================================================================== */
.post-home img.wp-post-image {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  border-radius: var(--wp--custom--border--radius);
}
.post-home .title-post {
  font-weight: 600;
  font-size: clamp(1.625rem, 1.5509rem + 0.3704vw, 1.875rem);
}
.post-home h2 {
  font-weight: 600;
  font-size: clamp(1.625rem, 1.3657rem + 1.2963vw, 2.5rem);
  line-height: 1;
}
.post-home .col-date {
  font-size: clamp(1.625rem, 1.3657rem + 1.2963vw, 2.5rem);
  line-height: 1;
}

@media (min-width: 992px) {
  .post-home img.wp-post-image {
    aspect-ratio: 2/2.3;
  }
}
.featured-project h2 {
  font-weight: 600;
  font-size: clamp(1.625rem, 1.3657rem + 1.2963vw, 2.5rem);
}
.featured-project img.wp-post-image {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/6.5;
  aspect-ratio: 16/9;
  border-radius: var(--wp--custom--border--radius);
  max-width: none;
  width: 100%;
}
.featured-project h3 {
  font-size: clamp(1.625rem, 1.3657rem + 1.2963vw, 2.5rem);
}
.featured-project h3 a {
  display: block;
  position: relative;
  overflow: hidden;
}

@media (min-width: 992px) {
  .featured-project img.wp-post-image {
    aspect-ratio: 16/6.5;
  }
}
.item-feedback {
  padding: 0 5px;
  cursor: -webkit-grab;
  cursor: grab;
}
.item-feedback .name-position {
  padding-top: calc(var(--wp--custom--main-size) * 2);
}
.item-feedback p {
  margin: 1rem 0 0 0;
  display: block;
}

@media (min-width: 1200px) {
  .item-feedback .name-position {
    padding-top: calc(var(--wp--custom--main-size) * 3);
  }
}
/* ==========================================================================
ANIMATIONS
========================================================================== */
.wrapper-logo-flumi-animated {
  position: fixed;
  width: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  top: var(--wp--custom--main-size);
  padding: 0 var(--wp--custom--main-size);
  z-index: 9999;
  pointer-events: none;
}

.logo-flumi-animated {
  position: relative;
  padding-top: calc(var(--wp--custom--main-size) * 3);
}
.logo-flumi-animated::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgb(74, 207, 255)), color-stop(14%, rgb(241, 167, 243)), color-stop(28%, rgb(228, 231, 92)), color-stop(42%, rgb(135, 236, 174)), color-stop(56%, rgb(135, 236, 174)), color-stop(70%, rgb(140, 250, 142)), color-stop(84%, rgb(140, 250, 141)), to(rgb(74, 207, 255)));
  background: linear-gradient(90deg, rgb(74, 207, 255) 0%, rgb(241, 167, 243) 14%, rgb(228, 231, 92) 28%, rgb(135, 236, 174) 42%, rgb(135, 236, 174) 56%, rgb(140, 250, 142) 70%, rgb(140, 250, 141) 84%, rgb(74, 207, 255) 100%);
  background-size: 400% 400%;
  -webkit-mask-image: url(../images/big-flumi-2.svg);
          mask-image: url(../images/big-flumi-2.svg);
  -webkit-mask-position: bottom center;
          mask-position: bottom center;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  left: 57%;
  bottom: 1%;
  width: 35.4%;
  -webkit-animation: gradient 10s linear infinite;
          animation: gradient 10s linear infinite;
}
.logo-flumi-animated .icon-flumi {
  position: absolute;
  left: 57%;
  bottom: 1%;
  width: 35.4%;
}

@media (max-width: 767px) {
  .wrapper-logo-flumi-animated {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .home .logo-flumi-animated {
    -webkit-transition: -webkit-transform 0.25s ease-out;
    transition: -webkit-transform 0.25s ease-out;
    transition: transform 0.25s ease-out;
    transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
  }
  .home .main-header .col-logo {
    opacity: 0;
    -webkit-transition: opacity 0.25s ease-out;
    transition: opacity 0.25s ease-out;
  }
  .home .main-header .col-logo img {
    opacity: 0;
    pointer-events: none;
  }
  .home.animated-logo-fixed .logo-flumi-animated {
    -webkit-transform: translateX(10%);
            transform: translateX(10%);
    width: 100px !important;
  }
  .home.animated-logo-fixed .main-header .col-logo {
    opacity: 1;
  }
}
@media (min-width: 992px) {
  .wrapper-logo-flumi-animated {
    top: calc(var(--wp--custom--main-size) * 1.5);
  }
  .logo-flumi-animated {
    padding-top: 0;
  }
  .home.animated-logo-fixed .logo-flumi-animated {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    width: 120px !important;
  }
}
@media (min-width: 1200px) {
  .wrapper-logo-flumi-animated {
    max-width: 1580px !important;
  }
}
@-webkit-keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.list-services-home .wp-block-image {
  min-width: 35px;
}

@media (min-width: 1200px) {
  .list-services-home p {
    line-height: 1.1;
    font-size: 1.8rem;
  }
}
/* ==========================================================================
RESPONSIVE
========================================================================== */
@media (min-width: 1400px) {
  body {
    --wp--style--root--padding-right: 2.5rem;
    --wp--style--root--padding-left: 2.5rem;
  }
  .main-footer,
  .main-header {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .main-footer {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .wrapper-logo-flumi-animated {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
/* ==========================================================================
ANIMATIONS
========================================================================== */
body {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
body.show-body {
  opacity: 1;
}

:root {
  --animate-duration: 0.7s;
}

.animate__animated {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.animate__animated.run-animation {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

.curtainTop,
.curtainRight,
.curtainLeft,
.curtainBottom {
  position: relative;
}
.curtainTop:after,
.curtainRight:after,
.curtainLeft:after,
.curtainBottom:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 10;
  -webkit-transition: -webkit-transform 1s 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: -webkit-transform 1s 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: transform 1s 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: transform 1s 0.5s cubic-bezier(0.7, 0, 0.3, 1), -webkit-transform 1s 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.curtainTop.run-animation:after,
.curtainRight.run-animation:after,
.curtainLeft.run-animation:after,
.curtainBottom.run-animation:after {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

.curtainTop:after {
  -webkit-animation-name: curtainTop;
          animation-name: curtainTop;
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
}

@-webkit-keyframes curtainTop {
  from {
    -webkit-transform: scaleY(100%);
            transform: scaleY(100%);
  }
  to {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

@keyframes curtainTop {
  from {
    -webkit-transform: scaleY(100%);
            transform: scaleY(100%);
  }
  to {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
.curtainRight:after {
  -webkit-animation-name: curtainRight;
          animation-name: curtainRight;
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
}

@-webkit-keyframes curtainRight {
  from {
    -webkit-transform: scaleX(100%);
            transform: scaleX(100%);
  }
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes curtainRight {
  from {
    -webkit-transform: scaleX(100%);
            transform: scaleX(100%);
  }
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.curtainBottom:after {
  -webkit-animation-name: curtainBottom;
          animation-name: curtainBottom;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}

@-webkit-keyframes curtainBottom {
  from {
    -webkit-transform: scaleY(100%);
            transform: scaleY(100%);
  }
  to {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

@keyframes curtainBottom {
  from {
    -webkit-transform: scaleY(100%);
            transform: scaleY(100%);
  }
  to {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
.curtainLeft:after {
  -webkit-animation-name: curtainLeft;
          animation-name: curtainLeft;
}

@-webkit-keyframes curtainLeft {
  from {
    -webkit-transform: scaleX(100%);
            transform: scaleX(100%);
  }
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes curtainLeft {
  from {
    -webkit-transform: scaleX(100%);
            transform: scaleX(100%);
  }
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.delay-200 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.delay-400 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.delay-600 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.delay-800 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.delay-1000 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.delay-1500 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.delay-2000 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.delay-2500 {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}

.delay-3000 {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}

.delay-cols-2 .animate__animated:nth-child(2n+2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.delay-cols-3 .animate__animated:nth-child(3n+2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.delay-cols-3 .animate__animated:nth-child(3n+3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.delay-cols-4 .animate__animated:nth-child(4n+2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.delay-cols-4 .animate__animated:nth-child(4n+3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.delay-cols-4 .animate__animated:nth-child(4n+4) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.count-up {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.count-up.run-animation {
  opacity: 1;
}

.lettering {
  opacity: 0;
  overflow: hidden;
}
.lettering span {
  display: inline-block;
}
.lettering.run-animation {
  opacity: 1;
}

.lettering-lines span {
  display: block;
}