/*
Theme Name: ArcHub Child
Theme URI: https://archub.liquid-themes.com/
Author: Liquid Themes
Author URI: https://themeforest.net/user/liquidthemes
Template: archub
Description: Smart, Powerful and Unlimited Customizable WordPress Theme.
Version: 1.0
License: GNU General Public License
License URI: license.txt
Text Domain: archub-child
Tags: responsive, retina, rtl-language-support, blog, portfolio, custom-colors, live-editor
*/

:root {
  --text-dark: #1D1D1B;
  --text-light: #FEFDFB;
}

.hide {
  display: none !important;
}

/* --------------- START -- Text Colors --------------- */

.text-dark,
.text-dark span,
.text-dark li,
.text-dark .elementor-heading-title,
.text-dark .ld-fh-element,
.text-dark .elementor-widget-text-editor,
.text-dark a {
  color: var(--text-dark) !important;
}

.text-light,
.text-light span,
.text-light li,
.text-light .elementor-heading-title,
.text-light .ld-fh-element,
.text-light .elementor-widget-text-editor,
.text-light a {
  color: var(--text-light) !important;
}

/* --------------- END -- Text Colors --------------- */

/* --------------- START -- Custom Fonts --------------- */

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-100.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-regular.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("assets/fonts/source-serif-4-200.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("assets/fonts/source-serif-4-regular.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("assets/fonts/source-serif-4-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* --------------- END -- Custom Fonts --------------- */

/* --------------- START -- Global Typography --------------- */

/* Body text */
body,
p,
li,
label,
input,
textarea,
select,
button,
.btn,
.elementor-button,
.main-nav,
.main-nav > li > a,
.elementor-widget-text-editor,
.elementor-icon-list-text,
.ld-fh-element.p {
  font-family: "Geologica", Arial, sans-serif !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.elementor-heading-title,
.ld-fh-element.h1,
.ld-fh-element.h2,
.ld-fh-element.h3,
.ld-fh-element.h4,
.ld-fh-element.h5,
.ld-fh-element.h6 {
  font-family: "Source Serif 4", Georgia, serif !important;
}

/* --------------- END -- Global Typography --------------- */

/* --------------- START -- Heading Typography --------------- */

:root {
  --font-size-h1: clamp(37.8px, calc(33.74px + 1.27vw), 52px);
  --font-size-h2: clamp(29.7px, calc(26.47px + 1.01vw), 41px);
  --font-size-h3: clamp(24.7px, calc(22.61px + 0.65vw), 32px);
  --font-size-h4: clamp(20px, calc(18.29px + 0.54vw), 26px);
  --font-size-h5: clamp(16px, calc(14.86px + 0.36vw), 20px);
  --font-size-h6: clamp(13.2px, calc(11.94px + 0.393vw), 17.6px);
}

/* Shared heading properties */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Source Serif 4", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* Individual sizes */
h1,
.h1 {
  font-size: var(--font-size-h1) !important;
  line-height: 1.05 !important;
}

h2,
.h2 {
  font-size: var(--font-size-h2) !important;
  line-height: 1.1 !important;
}

h3,
.h3 {
  font-size: var(--font-size-h3) !important;
  line-height: 1.15 !important;
}

h4,
.h4 {
  font-size: var(--font-size-h4) !important;
  line-height: 1.2 !important;
}

h5,
.h5 {
  font-size: var(--font-size-h5) !important;
  line-height: 1.2 !important;
}

h6,
.h6 {
  font-size: var(--font-size-h6) !important;
  line-height: 1.2 !important;
}

/* Italic headings */
.heading-italic .elementor-heading-title,
.heading-italic .ld-fh-element,
h1.heading-italic,
h2.heading-italic,
h3.heading-italic,
h4.heading-italic,
h5.heading-italic,
h6.heading-italic {
  font-weight: 500 !important;
  font-style: italic !important;
}

/* Italic words inside headings */
h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
  font-weight: 500 !important;
}

/* --------------- END -- Heading Typography --------------- */

/* --------------- START -- Body Typography --------------- */

:root {
  --font-size-body-small: clamp(14px, calc(13.71px + 0.09vw), 15px);
  --font-size-body-base: clamp(15px, calc(14.71px + 0.09vw), 16px);
  --font-size-body-large: clamp(18px, calc(17.43px + 0.18vw), 20px);
}

.body-small,
.body-small p,
.body-small .ld-fh-element {
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-small) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.body-base,
.body-base p,
.body-base .ld-fh-element {
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

.body-large,
.body-large p,
.body-large .ld-fh-element {
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-large) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

/* --------------- END -- Body Typography --------------- */

/* --------------- START -- Full Screen Image --------------- */

.full-screen-image {
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  overflow: hidden;
}

.full-screen-image .elementor-widget-container,
.full-screen-image a,
.full-screen-image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.full-screen-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100svh !important;
  height: 100dvh !important;
  object-fit: cover !important;
  object-position: center center;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .full-screen-image,
  .full-screen-image img {
    min-height: 100vh !important;
    min-height: 100svh !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Full Screen Image --------------- */

/* --------------- START -- Sticky Header Colors --------------- */

/* Force dark elements when the sticky header has a white background */
#header.is-stuck.lqd-active-row-dark .nav-trigger,
#header.is-stuck.lqd-active-row-dark .ld-module-trigger,
#header.is-stuck.lqd-active-row-dark .btn {
  color: #000000 !important;
  fill: #000000 !important;
  border-color: rgba(0, 0, 0, 0.25) !important;
}

#header.is-stuck.lqd-active-row-dark .nav-trigger .bar {
  color: #000000 !important;
  background-color: #000000 !important;
}

/* Display the dark logo */
#header.is-stuck.lqd-active-row-dark .logo-light {
  opacity: 0 !important;
  visibility: hidden !important;
}

#header.is-stuck.lqd-active-row-dark .logo-dark,
#header.is-stuck.lqd-active-row-dark .logo-default {
  opacity: 1 !important;
  visibility: visible !important;
}

/* --------------- END -- Sticky Header Colors --------------- */

/* --------------- START -- Main Header --------------- */

/* Black background only before the header becomes sticky */
#header:not(.is-stuck) .header-main-row {
  background-color: #1D1D1B !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  #header .header-main-row > .elementor-container {
    display: flex;
  }

  #header .header-main-row .header-logo-column {
    order: 1;
    width: 60% !important;
  }

  #header .header-main-row .header-menu-column {
    order: 2;
    width: 40% !important;
  }

  #header .header-main-row .header-logo-column > .elementor-widget-wrap {
    justify-content: flex-start !important;
  }

  #header .header-main-row .header-menu-column > .elementor-widget-wrap {
    justify-content: flex-end !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Main Header --------------- */

/* --------------- START -- Header Button --------------- */

#header .header-button .nav-trigger,
#header .header-button .btn,
#header .header-button .elementor-button {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-color: #FFFFFF36 !important;
  color: #FFFFFF !important;
}

#header .header-button .nav-trigger:hover,
#header .header-button .nav-trigger:focus,
#header .header-button .nav-trigger:active,
#header .header-button .nav-trigger.is-active,
#header .header-button .nav-trigger[aria-expanded="true"],
#header .header-button .btn:hover,
#header .header-button .btn:focus,
#header .header-button .btn:active {
  color: #1D1D1B !important;
}

#header .header-button .txt,
#header .header-button .btn-txt {
  color: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

#header .header-button .btn-icon,
#header .header-button .ld-module-trigger-icon,
#header .header-button .bars {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit !important;
  line-height: 1 !important;
}

#header .header-button .btn-icon i,
#header .header-button .ld-module-trigger-icon i {
  color: inherit !important;
  line-height: 1 !important;
}

#header .header-button .btn-icon svg,
#header .header-button .ld-module-trigger-icon svg {
  display: block;
  fill: currentColor;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  #header .header-button .nav-trigger,
  #header .header-button .btn,
  #header .header-button .elementor-button {
    font-size: 12px !important;
    padding: 12px 20px !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Header Button --------------- */

/* --------------- START -- Sticky Drawer Close Icon --------------- */

#header.is-stuck .nav-trigger.is-active .bar,
#header.is-stuck .nav-trigger[aria-expanded="true"] .bar,
#header.is-stuck .nav-trigger.is-active .bar::before,
#header.is-stuck .nav-trigger.is-active .bar::after,
#header.is-stuck .nav-trigger[aria-expanded="true"] .bar::before,
#header.is-stuck .nav-trigger[aria-expanded="true"] .bar::after {
  background-color: #FEFDFB !important;
  border-color: #FEFDFB !important;
}

/* --------------- END -- Sticky Drawer Close Icon --------------- */

/* --------------- START -- Footer --------------- */

/* Background */
.main-footer {
  background-image: none !important;
  background-color: #1D1D1B !important;
}

/* Standard footer text */
.main-footer
.elementor-widget-hub_fancy_heading:not(.footer-small-title)
.ld-fh-element {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* Small titles */
.main-footer .footer-small-title p {
  color: rgb(255 255 255 / 48%) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 0.65em !important;
}

/* Sitemap */
.main-footer .footer-sitemap ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.main-footer .footer-sitemap li {
  margin: 0 !important;
  padding: 0 !important;
}

.main-footer .footer-sitemap a,
.main-footer .footer-sitemap a:visited {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  padding: 0 !important;
  border: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: color 0.3s ease !important;
}

.main-footer .footer-sitemap a:hover,
.main-footer .footer-sitemap a:focus {
  color: rgb(254 253 251 / 65%) !important;
}

/* Email and telephone links */
.main-footer a[href^="mailto:"],
.main-footer a[href^="mailto:"]:visited,
.main-footer a[href^="tel:"],
.main-footer a[href^="tel:"]:visited {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  overflow-wrap: anywhere;
  transition: color 0.3s ease !important;
}

.main-footer a[href^="mailto:"]:hover,
.main-footer a[href^="mailto:"]:focus,
.main-footer a[href^="tel:"]:hover,
.main-footer a[href^="tel:"]:focus {
  color: rgb(255 255 255 / 60%) !important;
}

/* Legal information */
.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
p.ld-fh-element {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
p.ld-fh-element a,
.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
p.ld-fh-element a:visited {
  color: #FEFDFB !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  transition: color 0.3s ease !important;
}

.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
p.ld-fh-element a:hover,
.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
p.ld-fh-element a:focus {
  color: rgb(255 255 255 / 60%) !important;
}

.elementor-widget.elementor-widget-hub_fancy_heading.footer-legal
.footer-policy-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

/* --------------- END -- Footer --------------- */

/* --------------- START -- Header Logo Size --------------- */

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  #header .header-logo-column .navbar-brand,
  #header .header-logo-column .navbar-brand-inner {
    width: 160px !important;
    max-width: 100%;
  }

  #header .header-logo-column .module-logo img {
    width: 160px !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Header Logo Size --------------- */

/* --------------- START -- Stacked Content Section --------------- */

.stacked-section > .elementor-container {
  flex-direction: column !important;
  align-items: center;
}

.stacked-section > .elementor-container > .stacked-text-column,
.stacked-section > .elementor-container > .stacked-image-column {
  width: 70% !important;
  max-width: 70% !important;
  flex: 0 0 auto !important;
}

.stacked-text-column {
  order: 1;
}

.stacked-image-column {
  order: 2;
}

/* Make the image occupy the full width of its 70% column */
.stacked-image-column .elementor-widget-wrap,
.stacked-image-column .elementor-widget-ld_fancy_image,
.stacked-image-column .elementor-widget-container,
.stacked-image-column .lqd-imggrp-single,
.stacked-image-column .lqd-imggrp-img-container,
.stacked-image-column figure {
  width: 100% !important;
}

.stacked-image-column img {
  display: block;
  width: 100% !important;
  height: auto;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .stacked-section > .elementor-container > .stacked-text-column,
  .stacked-section > .elementor-container > .stacked-image-column {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Stacked Content Section --------------- */

/* --------------- START -- Section Spacing --------------- */

.section-padding-large,
.section-padding-medium,
.section-padding-small,
.section-padding-xsmall {
  margin: 0 !important;
}

.section-padding-large {
  padding: 9.375rem 0 !important;
}

.section-padding-medium {
  padding: 6.25rem 0 !important;
}

.section-padding-small {
  padding: 5rem 0 !important;
}

.section-padding-xsmall {
  padding: 2.5rem 0 !important;
}

/* --------------- START -- Responsive --------------- */

/* Tablet */
@media (max-width: 1024px) {
  .section-padding-large {
    padding: 6.5625rem 2.5rem !important;
  }

  .section-padding-medium {
    padding: 4.375rem 2.5rem !important;
  }

  .section-padding-small {
    padding: 3.5rem 2.5rem !important;
  }

  .section-padding-xsmall {
    padding: 1.75rem 2.5rem !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .section-padding-large {
    padding: 4.6875rem 1.25rem !important;
  }

  .section-padding-medium {
    padding: 3.125rem 1.25rem !important;
  }

  .section-padding-small {
    padding: 2.5rem 1.25rem !important;
  }

  .section-padding-xsmall {
    padding: 1.25rem !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* Remove top padding */
.section-no-top {
  padding-top: 0 !important;
  margin: 0 !important;
}

/* First section below the header */
.section-first {
  padding-top: 7.5rem !important;
  margin-top: 0 !important;
}

/* --------------- END -- Section Spacing --------------- */

/* --------------- START -- Menu Drawer Typography --------------- */

:root {
  --font-size-menu-parent: var(--font-size-h3);
  --font-size-menu-subitem: var(--font-size-h4);
}

/* Main navigation */
.menu-drawer .main-nav > li > a {
  color: #FEFDFB !important;
  font-family: "Source Serif 4", Georgia, serif !important;
  font-size: var(--font-size-menu-parent) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: color 0.3s ease, opacity 0.3s ease !important;
}

.menu-drawer .main-nav > li > a:hover,
.menu-drawer .main-nav > li > a:focus,
.menu-drawer .main-nav > li.current-menu-item > a,
.menu-drawer .main-nav > li.current-menu-ancestor > a {
  color: #FEFDFB !important;
  opacity: 0.6;
}

/* Submenu */
.menu-drawer .nav-item-children {
  margin: 0.75rem 0 1rem !important;
  padding: 0 0 0 1.25rem !important;
}

.menu-drawer .nav-item-children > li {
  margin: 0 !important;
  padding: 0 !important;
}

.menu-drawer .nav-item-children > li + li {
  margin-top: 0.4rem !important;
}

.menu-drawer .nav-item-children > li > a {
  color: #FEFDFB !important;
  font-family: "Source Serif 4", Georgia, serif !important;
  font-size: var(--font-size-menu-subitem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: color 0.3s ease, opacity 0.3s ease !important;
}

.menu-drawer .nav-item-children > li > a:hover,
.menu-drawer .nav-item-children > li > a:focus,
.menu-drawer .nav-item-children > li.current-menu-item > a {
  color: #FEFDFB !important;
  opacity: 0.6;
}

/* Submenu arrow */
.menu-drawer .submenu-expander {
  color: inherit !important;
  font-size: 0.75em !important;
  margin-left: 0.4em !important;
}

/* Information labels */
.menu-drawer .menu-drawer-label p {
  color: rgb(255 255 255 / 48%) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 0.65em !important;
}

/* Information text */
.menu-drawer .menu-drawer-text .ld-fh-element,
.menu-drawer .menu-drawer-text a {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* Social list */
.menu-drawer .elementor-widget-icon-list .elementor-icon-list-items {
  margin: 0 !important;
  padding: 0 !important;
}

.menu-drawer .elementor-widget-icon-list .elementor-icon-list-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu-drawer .elementor-widget-icon-list .elementor-icon-list-item + .elementor-icon-list-item {
  margin-top: 0.5rem !important;
}

.menu-drawer .elementor-widget-icon-list .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 1rem;
  width: 1rem !important;
  height: 1rem !important;
  color: #FEFDFB !important;
}

.menu-drawer .elementor-widget-icon-list .elementor-icon-list-icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
}

.menu-drawer .elementor-widget-icon-list .elementor-icon-list-text {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.menu-drawer .elementor-widget-icon-list a {
  color: #FEFDFB !important;
  transition: opacity 0.3s ease !important;
}

.menu-drawer .elementor-widget-icon-list a:hover,
.menu-drawer .elementor-widget-icon-list a:focus {
  color: #FEFDFB !important;
  opacity: 0.6;
}

/* Availability message */
.menu-drawer .menu-drawer-status .ld-fh-element {
  color: #FEFDFB !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-small) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.menu-drawer .menu-drawer-text a {
  color: #FEFDFB !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  transition: color 0.3s ease !important;
}

.menu-drawer .menu-drawer-text a:hover,
.menu-drawer .menu-drawer-text a:focus {
  color: rgb(255 255 255 / 60%) !important;
}

/* Availability circle alignment */
.menu-drawer .menu-drawer-status .ld-fh-element > span {
  display: inline-block !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  transform: translateY(-0.05em);
}

/* Availability dot */
.menu-drawer .menu-drawer-status .status-dot {
  display: inline-block !important;
  color: #22C55E !important;
  font-size: 2em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  margin-right: 0.5em !important;
  transform: translateY(-0.05em);
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  :root {
    --font-size-menu-parent: var(--font-size-h4);
    --font-size-menu-subitem: var(--font-size-h5);
  }

  .menu-drawer .nav-item-children {
    padding-left: 1rem !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Menu Drawer Typography --------------- */

/* --------------- START -- Mobile Menu Drawer --------------- */

@media (max-width: 1199px) {

  /* Align submenu icon vertically with the label */
  .menu-item-has-children > a {
    display: flex !important;
    align-items: center !important;
  }

  .menu-item-has-children > a .submenu-expander {
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    align-self: center;
    margin-left: auto;
    line-height: 1;
  }

  .menu-item-has-children > a .submenu-expander svg {
    display: block;
    width: 1em;
    height: 1em;
  }

  /* Increase spacing between submenu links */
  .nav-item-children > li + li {
    margin-top: 0.75rem !important;
  }

  .menu-drawer .nav-item-children > li > a {
    line-height: 2 !important;
  }

  /* Move the active menu/X button to the top-right */
  body button.nav-trigger.main-nav-trigger.style-5.is-active {
    position: fixed !important;
    inset: 20px 20px auto auto !important;
  }
}

/* --------------- END -- Mobile Menu Drawer --------------- */

/* --------------- START -- Information Drawer --------------- */

/* Drawer colors */
.info-drawer {
  --info-drawer-text: #1D1D1B;
  --info-drawer-muted: rgb(29 29 27 / 48%);
  --info-drawer-hover: rgb(29 29 27 / 60%);

  color: var(--info-drawer-text) !important;
  background-color: #FEFDFB !important;
}

/* Language menu */
.info-drawer .info-drawer-language ul {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.info-drawer .info-drawer-language li {
  margin: 0 !important;
  padding: 0 !important;
}

.info-drawer .info-drawer-language a,
.info-drawer .info-drawer-language a:visited {
  color: var(--info-drawer-text) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-small) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.info-drawer .info-drawer-language a:hover,
.info-drawer .info-drawer-language a:focus {
  color: var(--info-drawer-hover) !important;
}

/* Divider */
.info-drawer .elementor-divider-separator {
  opacity: 0.2;
}

/* Main heading */
.info-drawer .info-drawer-heading .ld-fh-element {
  color: var(--info-drawer-text) !important;
  font-family: "Source Serif 4", Georgia, serif !important;
  font-size: var(--font-size-h2) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.info-drawer .info-drawer-heading .ld-fh-element span {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

/* Information labels */
.info-drawer .info-drawer-label p {
  color: var(--info-drawer-muted) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 0.65em !important;
}

/* Information text */
.info-drawer .info-drawer-text .ld-fh-element {
  color: var(--info-drawer-text) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* Email and telephone links */
.info-drawer .info-drawer-text a,
.info-drawer .info-drawer-text a:visited {
  color: var(--info-drawer-text) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  overflow-wrap: anywhere;
  transition: color 0.3s ease !important;
}

.info-drawer .info-drawer-text a:hover,
.info-drawer .info-drawer-text a:focus {
  color: var(--info-drawer-hover) !important;
}

/* Social icons */
.info-drawer .info-drawer-social .elementor-social-icons-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.info-drawer .info-drawer-social .elementor-grid-item {
  margin: 0 !important;
}

.info-drawer .info-drawer-social .elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0.7rem !important;
  color: var(--info-drawer-text) !important;
  background-color: transparent !important;
  border: 1px solid rgb(29 29 27 / 20%) !important;
  border-radius: 50% !important;
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease !important;
}

.info-drawer .info-drawer-social .elementor-social-icon svg,
.info-drawer .info-drawer-social .elementor-social-icon svg path {
  width: 1rem !important;
  height: 1rem !important;
  fill: currentColor !important;
}

.info-drawer .info-drawer-social .elementor-social-icon:hover,
.info-drawer .info-drawer-social .elementor-social-icon:focus {
  color: #FEFDFB !important;
  background-color: #1D1D1B !important;
  border-color: #1D1D1B !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .info-drawer .info-drawer-heading .ld-fh-element {
    font-size: var(--font-size-h3) !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Information Drawer --------------- */

/* --------------- START -- Contact Information --------------- */

/* Labels */
.contact-info-block .body-base .ld-fh-element {
  color: rgb(29 29 27 / 48%) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 0.65em !important;
}

/* Contact information */
.contact-info-block .body-large .ld-fh-element {
  color: #1D1D1B !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-large) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* Email and telephone links */
.contact-info-block .body-large a,
.contact-info-block .body-large a:visited {
  color: #1D1D1B !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  overflow-wrap: anywhere;
  transition: color 0.3s ease !important;
}

.contact-info-block .body-large a:hover,
.contact-info-block .body-large a:focus {
  color: rgb(29 29 27 / 60%) !important;
}

/* --------------- END -- Contact Information --------------- */

/* --------------- START -- Contact Form --------------- */

.contact-form-custom {
  --form-color: #1D1D1B;
  --form-background: #FEFDFB;
  --form-border: rgb(29 29 27 / 20%);
  --form-muted: rgb(29 29 27 / 48%);
  --form-hover: rgb(29 29 27 / 70%);
}

/* Form grid */
.contact-form-custom .wpcf7-form .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 !important;
}

.contact-form-custom .wpcf7-form .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}

.contact-form-custom .wpcf7-form .col-md-12 {
  grid-column: 1 / -1;
}

/* Form fields */
.contact-form-custom .modal-b {
  position: relative;
  z-index: 0;
  background-color: var(--form-background) !important;
  border: 1px solid var(--form-border) !important;
  margin: 0 -1px -1px 0 !important;
  transition: border-color 0.3s ease !important;
}

.contact-form-custom .modal-b:focus-within {
  z-index: 1;
  border-color: var(--form-color) !important;
}

.contact-form-custom .modal-p {
  padding: 1.5rem !important;
}

.contact-form-custom .modal-bl-n,
.contact-form-custom .modal-bb-n {
  border-left: 1px solid var(--form-border) !important;
  border-bottom: 1px solid var(--form-border) !important;
}

/* Paragraph reset */
.contact-form-custom .wpcf7-form p {
  margin: 0 !important;
}

/* Field labels */
.contact-form-custom .modal-text {
  color: var(--form-muted) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 0.65em !important;
}

/* Inputs */
.contact-form-custom input[type="text"],
.contact-form-custom input[type="email"],
.contact-form-custom input[type="tel"],
.contact-form-custom textarea,
.contact-form-custom .ui-selectmenu-button {
  width: 100% !important;
  color: var(--form-color) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0.25rem 0 0 !important;
  margin: 0 !important;
}

/* Placeholders */
.contact-form-custom input::placeholder,
.contact-form-custom textarea::placeholder {
  color: var(--form-muted) !important;
  opacity: 1 !important;
}

/* Textarea */
.contact-form-custom textarea {
  display: block;
  min-height: 10rem;
  resize: vertical;
}

/* Select fields */
.contact-form-custom .ui-selectmenu-button {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.contact-form-custom .ui-selectmenu-text {
  color: var(--form-color) !important;
  font: inherit !important;
  margin: 0 !important;
}

.contact-form-custom .ui-selectmenu-icon {
  color: var(--form-color) !important;
  margin-left: 1rem;
}

.contact-form-custom .ui-selectmenu-menu {
  color: var(--form-color) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  background-color: var(--form-background) !important;
  border: 1px solid var(--form-border) !important;
  box-shadow: 0 1rem 2rem rgb(29 29 27 / 10%) !important;
}

.contact-form-custom .ui-menu-item-wrapper {
  color: var(--form-color) !important;
  background-color: transparent !important;
  padding: 0.75rem 1rem !important;
}

.contact-form-custom .ui-menu-item-wrapper:hover,
.contact-form-custom .ui-menu-item-wrapper.ui-state-active {
  color: #FEFDFB !important;
  background-color: var(--form-color) !important;
  border: none !important;
}

/* Privacy acceptance */
.contact-form-custom .wpcf7-acceptance {
  display: block;
  color: var(--form-color) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

.contact-form-custom .wpcf7-list-item {
  margin: 0 !important;
}

.contact-form-custom .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}

.contact-form-custom input[type="checkbox"] {
  flex: 0 0 1.125rem;
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0.1rem 0 0 !important;
  accent-color: var(--form-color);
  cursor: pointer;
}

.contact-form-custom .wpcf7-list-item-label a {
  color: var(--form-color) !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
}

/* Validation */
.contact-form-custom .wpcf7-not-valid-tip {
  color: #B42318 !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  margin-top: 0.5rem;
}

.contact-form-custom .wpcf7-response-output {
  color: var(--form-color) !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-small) !important;
  line-height: 1.4 !important;
  border: 1px solid var(--form-border) !important;
  padding: 1rem !important;
  margin: 1.5rem 0 0 !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .contact-form-custom .wpcf7-form .row {
    grid-template-columns: 1fr;
  }

  .contact-form-custom .modal-p {
    padding: 1.25rem !important;
  }

  .contact-form-custom .modal-b {
    margin: 0 0 -1px !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Contact Form --------------- */

/* --------------- START -- Google Map --------------- */

.map-style-monochrome iframe {
  display: block;
  width: 100%;
  min-height: 500px;
  border: none !important;
  filter:
    grayscale(100%)
    sepia(8%)
    saturate(70%)
    contrast(90%)
    brightness(105%) !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .map-style-monochrome iframe {
    min-height: 400px;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Google Map --------------- */

/* --------------- START -- Site Buttons --------------- */

/* Base button */
a.site-button,
button.site-button,
.site-button .btn,
.site-button .elementor-button,
.contact-form-custom .wpcf7-form input.wpcf7-submit {
  --btn-pt: 12px !important;
  --btn-pe: 36px !important;
  --btn-pb: 12px !important;
  --btn-ps: 36px !important;

  position: relative !important;
  isolation: isolate;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  appearance: none;
  cursor: pointer;

  width: auto !important;
  max-width: 100%;
  height: 60px !important;
  min-height: 60px !important;

  color: #FFFFFF !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 12px !important;
  text-align: center;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-decoration: none !important;
  white-space: nowrap;

  padding: 12px 36px !important;
  border: 1px solid #ACA6A6 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;

  transition:
    color 0.35s ease,
    border-color 0.35s ease !important;
}

/* Standard button overflow */
a.site-button,
button.site-button,
.site-button .btn,
.site-button .elementor-button {
  overflow: hidden !important;
}

/* Dark animated background */
a.site-button-primary::before,
button.site-button-primary::before,
.site-button-primary .btn::before,
.site-button-primary .elementor-button::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  display: block !important;
  background-color: #1D1D1B !important;
  transform: scaleY(1) !important;
  transform-origin: top center !important;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

/* Disable conflicting theme effects */
a.site-button-primary::after,
button.site-button-primary::after,
.site-button-primary .btn::after,
.site-button-primary .elementor-button::after {
  content: none !important;
}

/* Text and icons */
.site-button .btn-txt,
.site-button .site-button-text,
.site-button .btn-icon,
button.site-button .btn-txt,
button.site-button .site-button-text {
  position: relative;
  z-index: 2;
  color: inherit !important;
  font: inherit !important;
  line-height: 12px !important;
}

/* Button hover */
a.site-button-primary:hover,
a.site-button-primary:focus,
button.site-button-primary:hover,
button.site-button-primary:focus,
.site-button-primary .btn:hover,
.site-button-primary .btn:focus,
.site-button-primary .elementor-button:hover,
.site-button-primary .elementor-button:focus {
  color: #1D1D1B !important;
  background-color: transparent !important;
  border-color: #ACA6A6 !important;
  box-shadow: 0 8px 20px rgb(29 29 27 / 10%) !important;
  transform: none !important;
}

a.site-button-primary:hover::before,
a.site-button-primary:focus::before,
button.site-button-primary:hover::before,
button.site-button-primary:focus::before,
.site-button-primary .btn:hover::before,
.site-button-primary .btn:focus::before,
.site-button-primary .elementor-button:hover::before,
.site-button-primary .elementor-button:focus::before {
  transform: scaleY(0) !important;
}

/* Keyboard focus */
a.site-button-primary:focus-visible,
button.site-button-primary:focus-visible,
.site-button-primary .btn:focus-visible,
.site-button-primary .elementor-button:focus-visible {
  outline: 2px solid #1D1D1B !important;
  outline-offset: 3px;
}

/* Standard disabled button */
button.site-button:disabled {
  color: #FFFFFF !important;
  cursor: not-allowed;
  opacity: 0.4;
}

button.site-button:disabled::before {
  transform: scaleY(1) !important;
}

/* Contact Form 7 button wrapper */
.contact-form-custom .wpcf7-form p:has(> input.wpcf7-submit) {
  position: relative !important;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100%;
  height: 60px !important;
  min-height: 60px !important;
  overflow: visible !important;
  margin: 0 !important;
}

/* Contact Form 7 button */
.contact-form-custom .wpcf7-form input.wpcf7-submit {
  z-index: 2;
}

/* Contact Form 7 animated background */
.contact-form-custom .wpcf7-form p:has(> input.wpcf7-submit)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0;
  display: block !important;
  background-color: #1D1D1B !important;
  transform: scaleY(1) !important;
  transform-origin: top center !important;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

/* Contact Form 7 hover and focus */
.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:not(:disabled)):hover::before,
.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:not(:disabled)):focus-within::before {
  transform: scaleY(0) !important;
}

.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:not(:disabled)):hover
input.wpcf7-submit,
.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:not(:disabled)):focus-within
input.wpcf7-submit {
  color: #1D1D1B !important;
  background-color: transparent !important;
  border-color: #ACA6A6 !important;
  box-shadow: 0 8px 20px rgb(29 29 27 / 10%) !important;
  transform: none !important;
}

/* Contact Form 7 keyboard focus */
.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:focus-visible) {
  outline: 2px solid #1D1D1B !important;
  outline-offset: 3px;
}

/* Contact Form 7 disabled button */
.contact-form-custom
.wpcf7-form
p:has(> input.wpcf7-submit:disabled) {
  cursor: not-allowed;
  opacity: 0.4;
}

.contact-form-custom
.wpcf7-form
input.wpcf7-submit:disabled {
  color: #FFFFFF !important;
  cursor: not-allowed;
}

/* Loading spinner */
.contact-form-custom .wpcf7-spinner {
  position: absolute !important;
  z-index: 3;
  top: 50%;
  right: auto;
  left: calc(100% + 0.75rem);
  margin: 0 !important;
  transform: translateY(-50%);
  pointer-events: none;
}

/* --------------- END -- Site Buttons --------------- */

/* --------------- START -- Site Link Buttons --------------- */

/* Link color variants */
.site-link-primary,
.site-iconbox-link {
  --site-link-color: #1D1D1B;
  --site-link-hover: #995641;
  --site-link-outline: #1D1D1B;
}

.site-link-dark {
  --site-link-color: #FEFDFB;
  --site-link-hover: #E4CDC6;
  --site-link-outline: #FEFDFB;
}

/* Base link button */
a.site-link,
.site-link .btn,
.site-link .elementor-button {
  --btn-pt: 0 !important;
  --btn-pe: 0 !important;
  --btn-pb: 0 !important;
  --btn-ps: 0 !important;
  --icon-font-size: 1em;

  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5em;

  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;

  color: var(--site-link-color) !important;
  fill: currentColor !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;

  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;

  transition:
    color 0.3s ease,
    fill 0.3s ease !important;
}

/* Text and underline */
.site-link .btn-txt,
a.site-link .btn-txt {
  position: relative;
  display: block !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;

  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;

  padding-bottom: 0.1em;
  border-bottom: 1px solid currentColor;
  transform: none !important;

  transition:
    color 0.3s ease,
    border-color 0.3s ease !important;
}

/* Disable generated text layers */
.site-link .btn-txt::before,
.site-link .btn-txt::after,
a.site-link .btn-txt::before,
a.site-link .btn-txt::after {
  content: none !important;
  display: none !important;
}

/* Disable Liquid split-text animation */
.site-link .btn-txt .split-unit,
.site-link .btn-txt .split-inner,
a.site-link .btn-txt .split-unit,
a.site-link .btn-txt .split-inner {
  visibility: visible !important;
  opacity: 1 !important;

  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;

  translate: none !important;
  rotate: none !important;
  scale: none !important;
  transform: none !important;
  transition: none !important;
}

/* Icon */
.site-link .btn-icon,
a.site-link .btn-icon {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: inherit !important;
  fill: currentColor !important;
  font-size: 1em !important;
  line-height: 1 !important;
  transform: translateX(0);

  transition:
    color 0.3s ease,
    fill 0.3s ease,
    transform 0.3s ease !important;
}

.site-link .btn-icon i,
.site-link .btn-icon svg,
a.site-link .btn-icon i,
a.site-link .btn-icon svg {
  color: inherit !important;
  fill: currentColor !important;
  font-size: inherit !important;
  line-height: 1 !important;
}

/* Hover and focus */
a.site-link:hover,
a.site-link:focus,
.site-link .btn:hover,
.site-link .btn:focus,
.site-link .elementor-button:hover,
.site-link .elementor-button:focus {
  color: var(--site-link-hover) !important;
  fill: currentColor !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Hover text */
a.site-link:hover .btn-txt,
a.site-link:focus .btn-txt,
.site-link .btn:hover .btn-txt,
.site-link .btn:focus .btn-txt,
.site-link .elementor-button:hover .btn-txt,
.site-link .elementor-button:focus .btn-txt {
  color: inherit !important;
  border-color: currentColor !important;
  transform: none !important;
}

/* Arrow movement */
a.site-link:hover .btn-icon,
a.site-link:focus .btn-icon,
.site-link .btn:hover .btn-icon,
.site-link .btn:focus .btn-icon,
.site-link .elementor-button:hover .btn-icon,
.site-link .elementor-button:focus .btn-icon {
  color: inherit !important;
  transform: translateX(0.25em);
}

/* Keyboard focus */
a.site-link:focus-visible,
.site-link .btn:focus-visible,
.site-link .elementor-button:focus-visible {
  outline: 2px solid var(--site-link-outline) !important;
  outline-offset: 4px;
}

/* --------------- END -- Site Link Buttons --------------- */

/* --------------- START -- Case Study Grid --------------- */

/* Filter spacing */
.case-study-grid .liquid-filter-items-label {
  display: inline-block;
  margin-right: 2rem !important;
}

/* See more link */
.case-study-grid .liquid-filter-items-inner > .btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5em;

  width: auto !important;
  height: auto !important;
  overflow: visible !important;

  color: #1D1D1B !important;
  fill: currentColor !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: var(--font-size-body-base) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;

  padding: 0 !important;
  border: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;

  transition:
    color 0.3s ease,
    fill 0.3s ease !important;
}

/* Link text and underline */
.case-study-grid .liquid-filter-items-inner > .btn .btn-txt {
  display: block !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;

  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;

  padding-bottom: 0.1em;
  border-bottom: 1px solid currentColor;
  transform: none !important;

  transition:
    color 0.3s ease,
    border-color 0.3s ease !important;
}

/* Disable text animation */
.case-study-grid .liquid-filter-items-inner > .btn .btn-txt::before,
.case-study-grid .liquid-filter-items-inner > .btn .btn-txt::after {
  content: none !important;
  display: none !important;
}

/* Arrow */
.case-study-grid .liquid-filter-items-inner > .btn .btn-icon {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: inherit !important;
  fill: currentColor !important;
  opacity: 1 !important;
  transform: translateX(0) !important;

  transition:
    color 0.3s ease,
    transform 0.3s ease !important;
}

/* Hide duplicate animated arrow */
.case-study-grid .liquid-filter-items-inner > .btn .btn-icon + .btn-icon {
  display: none !important;
}

/* See more hover */
.case-study-grid .liquid-filter-items-inner > .btn:hover,
.case-study-grid .liquid-filter-items-inner > .btn:focus {
  color: #995641 !important;
  fill: currentColor !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.case-study-grid .liquid-filter-items-inner > .btn:hover .btn-icon,
.case-study-grid .liquid-filter-items-inner > .btn:focus .btn-icon {
  transform: translateX(0.25em) !important;
}

/* Settori grid */
.intermac-settori-grid {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-inline: -22px;
}

/* Grid columns */
.intermac-settori-grid .lqd-pf-column {
  width: 33.333333% !important;
  max-width: 33.333333% !important;
  padding-inline: 22px;
  flex: 0 0 33.333333% !important;
}

/* Portfolio card */
.intermac-settori-grid .lqd-pf-item {
  position: relative;
  margin-bottom: 35px;
  text-align: left;
  transform: translateY(0);

  transition:
    transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

.intermac-settori-grid .lqd-pf-item:hover {
  transform: translateY(-4px);
}

.intermac-settori-grid .lqd-pf-item-inner {
  position: relative;
}

/* Portfolio image */
.intermac-settori-grid .lqd-pf-img {
  position: relative;
  overflow: hidden !important;
  margin-bottom: 1rem;
  border-radius: 6px !important;
  clip-path: inset(0 round 6px);
}

.intermac-settori-grid .lqd-pf-img > figure {
  display: block;
  width: 100%;
  margin: 0;
  transform: scale(1);

  transition:
    transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.intermac-settori-grid .lqd-pf-item:hover .lqd-pf-img > figure {
  transform: scale(1.05);
}

.intermac-settori-grid .lqd-pf-img img {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: auto;
  border: none;
  border-radius: 6px !important;
  box-shadow: none;
}

/* Image overlay */
.intermac-settori-grid .lqd-pf-overlay-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  color: #1D1D1B;
  font-size: 55px;
  background-color: #FFFFFF;
  border-radius: inherit;
  opacity: 0;
  transform: scale(1);

  transition:
    opacity 0.65s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Overlay icon */
.intermac-settori-grid .lqd-pf-overlay-bg i {
  display: inline-block;
  color: #1D1D1B;
  opacity: 0;
  transform: translateX(-20px);

  transition:
    opacity 0.65s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Card hover */
.intermac-settori-grid .lqd-pf-item:hover .lqd-pf-overlay-bg {
  opacity: 0.4;
}

.intermac-settori-grid .lqd-pf-item:hover .lqd-pf-overlay-bg i {
  opacity: 1;
  transform: translateX(0);
}

/* Card details */
.intermac-settori-grid .lqd-pf-title {
  margin: 0 0 0.25rem !important;
}

.intermac-settori-grid .intermac-settore-excerpt {
  color: inherit;
  font-family: "Geologica", Arial, sans-serif;
  font-size: var(--font-size-body-small);
  font-weight: 400;
  line-height: 1.55;
  margin: 0;
}

/* Full card link */
.intermac-settori-grid .lqd-pf-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* Portfolio load more button */
.case-study-grid .ld-ajax-loadmore {
  position: relative !important;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;

  width: auto !important;
  min-width: 0 !important;
  height: 60px !important;
  min-height: 60px !important;

  color: #FFFFFF !important;
  fill: currentColor !important;
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 12px !important;
  letter-spacing: 1px !important;
  text-align: center;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;

  padding: 12px 36px !important;
  border: 1px solid #ACA6A6 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;

  transition:
    color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease !important;
}

/* Animated dark background */
.case-study-grid .ld-ajax-loadmore::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;

  display: block !important;
  background-color: #1D1D1B !important;
  transform: scaleY(1) !important;
  transform-origin: top center !important;

  transition:
    transform 0.4s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

/* Disable conflicting theme effect */
.case-study-grid .ld-ajax-loadmore::after {
  content: none !important;
  display: none !important;
}

/* Button states */
.case-study-grid .ld-ajax-loadmore > span {
  z-index: 2;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}

/* Plus icon */
.case-study-grid .ld-ajax-loadmore i,
.case-study-grid .ld-ajax-loadmore svg {
  color: inherit !important;
  fill: currentColor !important;
}

/* Hover */
.case-study-grid .ld-ajax-loadmore:hover,
.case-study-grid .ld-ajax-loadmore:focus {
  color: #1D1D1B !important;
  border-color: #ACA6A6 !important;
  background-color: transparent !important;
  box-shadow: 0 8px 20px rgb(29 29 27 / 10%) !important;
  transform: none !important;
}

.case-study-grid .ld-ajax-loadmore:hover::before,
.case-study-grid .ld-ajax-loadmore:focus::before {
  transform: scaleY(0) !important;
}

/* Keyboard focus */
.case-study-grid .ld-ajax-loadmore:focus-visible {
  outline: 2px solid #1D1D1B !important;
  outline-offset: 3px;
}

/* Load more text colour override */
.case-study-grid a.ld-ajax-loadmore,
.case-study-grid a.ld-ajax-loadmore > .static,
.case-study-grid a.ld-ajax-loadmore > .loading,
.case-study-grid a.ld-ajax-loadmore > .all-loaded,
.case-study-grid a.ld-ajax-loadmore i,
.case-study-grid a.ld-ajax-loadmore svg {
  color: #FFFFFF !important;
  fill: currentColor !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Hover text colour */
.case-study-grid a.ld-ajax-loadmore:hover,
.case-study-grid a.ld-ajax-loadmore:focus,
.case-study-grid a.ld-ajax-loadmore:hover > .static,
.case-study-grid a.ld-ajax-loadmore:focus > .static,
.case-study-grid a.ld-ajax-loadmore:hover > .loading,
.case-study-grid a.ld-ajax-loadmore:focus > .loading,
.case-study-grid a.ld-ajax-loadmore:hover > .all-loaded,
.case-study-grid a.ld-ajax-loadmore:focus > .all-loaded,
.case-study-grid a.ld-ajax-loadmore:hover i,
.case-study-grid a.ld-ajax-loadmore:focus i,
.case-study-grid a.ld-ajax-loadmore:hover svg,
.case-study-grid a.ld-ajax-loadmore:focus svg {
  color: #1D1D1B !important;
  fill: currentColor !important;
  -webkit-text-fill-color: #1D1D1B !important;
}

/* Loading dots */
.case-study-grid .ld-ajax-loadmore .loading .dots span {
  background-color: currentColor !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 1024px) {
  .intermac-settori-grid .lqd-pf-column {
    width: 50% !important;
    max-width: 50% !important;
    flex-basis: 50% !important;
  }
}

@media (max-width: 767px) {
  .case-study-grid .liquid-filter-items-label {
    margin-right: 1rem !important;
  }

  .intermac-settori-grid {
    margin-inline: 0;
  }

  .intermac-settori-grid .lqd-pf-column {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0;
    flex-basis: 100% !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Case Study Grid --------------- */

/* --------------- START -- Portfolio Page Title --------------- */

.portfolio-page-title {
  position: relative !important;
}

.portfolio-page-title > .elementor-container,
.portfolio-page-title
> .elementor-container
> .elementor-column,
.portfolio-page-title
> .elementor-container
> .elementor-column
> .elementor-widget-wrap {
  min-height: inherit !important;
}

.portfolio-page-title
.elementor-widget-hub_fancy_heading {
  position: absolute !important;
  right: 0;
  bottom: 100px;
  left: 0;
  margin: 0 !important;
}

.portfolio-page-title h1,
.portfolio-page-title .h1 {
  margin: 0 !important;
  font-size: 70px !important;
  line-height: 1.05 !important;
}

/* --------------- START -- Responsive --------------- */

@media (max-width: 767px) {
  .portfolio-page-title
  .elementor-widget-hub_fancy_heading {
    bottom: 50px;
  }

  .portfolio-page-title h1,
  .portfolio-page-title .h1 {
    font-size: var(--font-size-h1) !important;
  }
}

/* --------------- END -- Responsive --------------- */

/* --------------- END -- Portfolio Page Title --------------- */

/* --------------- START -- Header Social Icons --------------- */

/* Keep Elementor icons clickable */
#header .header-social-icons,
#header .header-social-icons .elementor-social-icons-wrapper,
#header .header-social-icons .elementor-social-icon {
  pointer-events: auto !important;
}

/* Base transition */
#header .header-social-icons .elementor-social-icon {
  background-color: transparent !important;
  transition:
    color 0.3s ease,
    opacity 0.3s ease !important;
}

#header .header-social-icons .elementor-social-icon svg,
#header .header-social-icons .elementor-social-icon svg path {
  fill: currentColor !important;
}

/* Initial dark header: white icons */
#header:not(.is-stuck)
.header-social-icons
.elementor-social-icon {
  color: #FEFDFB !important;
}

/* Sticky white header: black icons */
#header.is-stuck
.header-social-icons
.elementor-social-icon {
  color: #1D1D1B !important;
}

/* Hover */
#header .header-social-icons .elementor-social-icon:hover,
#header .header-social-icons .elementor-social-icon:focus {
  opacity: 0.6;
}

/* Sticky header border */
#header.is-stuck
.header-social-icons
.elementor-social-icon {
  border: 1px solid rgb(0 0 0 / 25%) !important;
  opacity: 1 !important;

  transition:
    color 0.3s ease,
    border-color 0.3s ease !important;
}

/* Sticky header hover */
#header.is-stuck
.header-social-icons
.elementor-social-icon:hover,
#header.is-stuck
.header-social-icons
.elementor-social-icon:focus {
  color: #1D1D1B !important;
  border-color: #1D1D1B !important;
  opacity: 1 !important;
}

/* --------------- END -- Header Social Icons --------------- */

/* --------------- START -- Archive --------------- */

.post-type-archive-liquid-portfolio .content{
    padding-top: 100px;
    padding-bottom: 100px;
}

/* --------------- END -- Archive --------------- */

/* --------------- START -- Hide Projects Index --------------- */

.lqd-stickybar-wrap.lqd-stickybar-left {
  display: none !important;
}

/* --------------- END -- Hide Projects Index --------------- */

/* --------------- START -- Disable Portfolio Category Links --------------- */

.case-study-grid .lqd-pf-cat a {
  color: inherit !important;
  cursor: default !important;
  pointer-events: none !important;
  text-decoration: none !important;
}

/* --------------- END -- Disable Portfolio Category Links --------------- */

/* --------------- START -- 404 Header --------------- */

/* Initial black header */
body.error404 #header:not(.is-stuck) {
  color: #FEFDFB !important;
}

/* Initial header: light logo */
body.error404 #header:not(.is-stuck) .logo-light {
  visibility: visible !important;
  opacity: 1 !important;
}

body.error404 #header:not(.is-stuck) .logo-dark,
body.error404 #header:not(.is-stuck) .logo-default {
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Initial header: buttons and menu trigger */
body.error404 #header:not(.is-stuck) .header-button .nav-trigger,
body.error404 #header:not(.is-stuck) .header-button .btn,
body.error404 #header:not(.is-stuck) .header-button .elementor-button {
  color: #FEFDFB !important;
  fill: #FEFDFB !important;
  border-color: rgb(255 255 255 / 21%) !important;
}

/* Initial header: hamburger icon */
body.error404 #header:not(.is-stuck) .nav-trigger .bar {
  background-color: #FEFDFB !important;
}

body.error404 #header:not(.is-stuck) .header-button .txt,
body.error404 #header:not(.is-stuck) .header-button .btn-txt,
body.error404 #header:not(.is-stuck) .header-button .btn-icon,
body.error404 #header:not(.is-stuck) .header-button svg,
body.error404 #header:not(.is-stuck) .header-button i {
  color: inherit !important;
  fill: currentColor !important;
}

/* Sticky white header: dark logo */
body.error404 #header.is-stuck .logo-light {
  visibility: hidden !important;
  opacity: 0 !important;
}

body.error404 #header.is-stuck .logo-dark {
  visibility: visible !important;
  opacity: 1 !important;
}

body.error404 #header.is-stuck .logo-default {
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Sticky white header: dark buttons */
body.error404 #header.is-stuck .header-button .nav-trigger,
body.error404 #header.is-stuck .header-button .btn,
body.error404 #header.is-stuck .header-button .elementor-button {
  color: #1D1D1B !important;
  fill: #1D1D1B !important;
  border-color: rgb(29 29 27 / 21%) !important;
}

/* Sticky white header: hamburger icon */
body.error404 #header.is-stuck .nav-trigger .bar {
  background-color: #1D1D1B !important;
}

body.error404 #header.is-stuck .header-button .txt,
body.error404 #header.is-stuck .header-button .btn-txt,
body.error404 #header.is-stuck .header-button .btn-icon,
body.error404 #header.is-stuck .header-button svg,
body.error404 #header.is-stuck .header-button i {
  color: inherit !important;
  fill: currentColor !important;
}

/* --------------- END -- 404 Header --------------- */

/* --------------- START -- Disable Portfolio Links --------------- */

/* Disable the card link */
/*.case-study-grid .lqd-pf-overlay-link {
  display: none !important;
}*/

/* Disable category links */
/*.case-study-grid .lqd-pf-cat a {
  pointer-events: none !important;
  cursor: default !important;
  color: inherit !important;
  text-decoration: none !important;
}*/

/* Remove clickable cursor */
/*.case-study-grid .lqd-pf-item,
.case-study-grid .lqd-pf-cat {
  cursor: default !important;
}*/

/* --------------- END -- Disable Portfolio Links --------------- */