/*
 Theme Name:   Castellini Company
 Theme URI:    https://castellinicompany.com
 Description:  Child theme of GeneratePress created by Holland Adhaus.
 Author:       Holland Adhaus
 Author URI:   https://hollandadhaus.com
 Template:     generatepress
 Version:      2.0
*/

/**
 * HA
 */

/* Let Elementor Theme Style H1-H6 control size/line-height for Heading widgets */
/* .elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  font-size: revert !important;
  line-height: revert !important;
} */

/* Hide featured images used for preload */
.page .featured-image.page-header-image {
    display: none !important;
    visibility: hidden !important;
}

/* Navigation transitions */
.main-navigation a, 
.main-navigation .menu-toggle, 
.main-navigation .menu-bar-items, 
.main-navigation a:hover, 
.main-navigation .menu-toggle:hover, 
.main-navigation .menu-bar-items:hover, 
.main-navigation a:active, 
.main-navigation .menu-toggle:active, 
.main-navigation .menu-bar-items:active, 
.main-navigation a:focus, 
.main-navigation .menu-toggle:focus, 
.main-navigation .menu-bar-items:focus {
    transition: color .2s ease !important;
}
/* Elementor icon list and nav menu transitions */
.elementor-nav-menu a, 
.elementor-nav-menu a:hover, 
.elementor-nav-menu a:active, 
.elementor-nav-menu a:focus, 
.elementor-icon-list-item a span, 
.elementor-icon-list-item a:hover span, 
.elementor-icon-list-item a:focus span, 
.elementor-icon-list-item a:active span, 
.elementor-social-icon *,
.elementor-social-icon:hover *,
.elementor-social-icon:focus *,
.elementor-social-icon:active * {
    transition: all .2s ease !important;
} 
/* Elementor lazy load carousel/swiper compat */
.swiper-slide-image.swiper-lazy.lazy-hidden, 
.entry img.swiper-slide-image.swiper-lazy.lazy-hidden, 
img.thumbnail.swiper-slide-image.swiper-lazy.lazy-hidden {
    opacity: 1 !important;
}

/********
*** Custom
*/

.e-bo-multiply::before {
  mix-blend-mode: multiply;
}

/* E Buttons */
/* .elementor-button-icon, 
.elementor-button-icon svg {
  font-size: 1.5rem;
} */
.elementor-button-content-wrapper {
  align-items: center;
}

/* 
 * Sticky nav 
 */
/* .sticky-enabled .main-navigation.is_stuck {
    background: rgba(44, 81, 104, 0.95); 
    backdrop-filter: blur(10px);
  }
  .sticky-enabled .main-navigation.is_stuck button.menu-toggle {
    background-color: transparent !important;
  }
  .sticky-enabled .main-navigation.is_stuck.toggled .main-nav > ul {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  } */

/* Text */
.te0 p:last-child, 
.te0 ul:last-child, 
.te0 ol:last-child {
    margin-bottom: 0 !important;
}
.ac0 a {
  color: inherit !important;
}
.il-h3-p h3, 
.il-h4-p h4 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
    text-transform: inherit !important;
    font-family: inherit !important;
    margin-bottom: 0.25rem;
    color: inherit;
}
.il-h3-p p, 
.il-h4-p p {
    margin-bottom: 0;
} 
.il-inset-ul {
    margin-bottom: 0;
}

.il-h3-p.il-castellini-blue h3, 
.il-h4-p.il-castellini-blue h4 {
  color: var(--castellini-blue);
}

/* Homepage hero video */
/* Background video container: fills the hero, behind the content */
#hero .elementor-background-video-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0; /* then give your content containers higher z-index if needed */
}
/* Video: lock its size, but keep Elementor's centering transform */
#hero .elementor-background-video-hosted {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  /* DON'T touch transform/top/left here - let Elementor keep translate(-50%, -50%) */
}
/* Make sure content sits above the video */
#hero .e-child {
  position: relative;
  z-index: 1;
}
.hero-highlight {
    color: var(--castellini-orange);
    display: block;
}

/* Termly */
div[name="termly-embed"] {
    margin: -20px;
}

/* Fix E-FA icon fill color bug */
.elementor-icon-list-icon svg.svg-inline--fa path {
  fill: inherit;
}
/* Equal height fix for Elementor Loop Carousels with .force-eq-height */
.force-eq-height .swiper-slide {
  height: auto !important;
}
.force-eq-height .elementor-widget-theme-post-content, 
.force-eq-height .elementor[data-elementor-type="wp-post"], 
.force-eq-height .elementor[data-elementor-type="wp-post"] > .elementor-element {
    height: 100% !important;
}

/**
* Gravity Forms
*/

/* Hide required initial instructions */
.gform_required_legend {
    display: none !important;
}
/* Rounded input corners */
.gform_wrapper.gravity-theme input[type="color"], 
.gform_wrapper.gravity-theme input[type="date"], 
.gform_wrapper.gravity-theme input[type="datetime-local"], 
.gform_wrapper.gravity-theme input[type="datetime"], 
.gform_wrapper.gravity-theme input[type="email"], 
.gform_wrapper.gravity-theme input[type="month"], 
.gform_wrapper.gravity-theme input[type="number"], 
.gform_wrapper.gravity-theme input[type="password"], 
.gform_wrapper.gravity-theme input[type="search"], 
.gform_wrapper.gravity-theme input[type="tel"], 
.gform_wrapper.gravity-theme input[type="text"], 
.gform_wrapper.gravity-theme input[type="time"], 
.gform_wrapper.gravity-theme input[type="url"], 
.gform_wrapper.gravity-theme input[type="week"], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea, 
.gform_wrapper.gravity-theme .ginput_complex input, 
.gform_wrapper.gravity-theme .ginput_complex select, 
.gform_wrapper.gravity-theme .gform_footer button, 
.gform_wrapper.gravity-theme .gform_footer input, 
.gform_wrapper.gravity-theme .gform_page_footer button, 
.gform_wrapper.gravity-theme .gform_page_footer input {
    border-radius: 10px !important;
}
/* Hide instructions on fields with class .hide-instruction */
.gform_wrapper .gfield.hide-instruction .instruction {
    display: none;
    visibility: none;
}
/* Submit buttons */
.gform_button, .gform_wrapper input[type="submit"] {
    font-weight: 900 !important;
    font-family: inherit; /* Site font */
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    text-transform: uppercase !important;
}
/* Fix state subfield in address field */
.ginput_address_state {
    margin-bottom: 8px;
}

.gform_fields {
    --gf-form-gap-y: 1.5rem;
}
.gform_button {
    border-radius: 1000px !important;
    font-weight: 900 !important;
    font-family: inherit, sans-serif !important;
    text-transform: uppercase !important;
}
.gform-button:hover, 
.gform-button:active, 
.gform-button:focus {
    color: #fff !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--castellini-orange-light) !important; /* brand color */
}
.gform_wrapper .gform-button--width-full {
    width: 100% !important;
}
.gform-datepicker {
  width: 100% !important;
}
.gform_wrapper .gform_button, 
.gform_wrapper input[type="submit"] {
    font-weight: 900 !important;
    border-radius: 1000px !important;
    background: var(--castellini-orange); /* brand color */
    color: #fff !important; 
    text-transform: uppercase !important;
}
.gform_wrapper .gform_button:hover, 
.gform_wrapper .gform_button:active, 
.gform_wrapper .gform_button:focus, 
.gform_wrapper input[type="submit"]:hover, 
.gform_wrapper input[type="submit"]:active, 
.gform_wrapper input[type="submit"]:focus {
    background: var(--castellini-orange-light) !important; /* brand color */
    color: #fff !important;
}
.gform-theme--framework .gfield:where(.gfield--type-multiselect, .gfield--input-type-multiselect) .chosen-container-multi:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework .gfield:where(.gfield--type-select, .gfield--input-type-select) .chosen-search input[type="text"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework .gfield:where(.gfield--type-select, .gfield--input-type-select) .chosen-single:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework .gform-theme-field-control:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type="hidden"])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework select[multiple]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper .button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper :where(:not(.mce-splitbtn)) > button:not([id*="mceu_"]):not(.mce-open):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper button.button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]).button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, .gform-theme--framework.gform-theme.gform_wrapper input[type="submit"].button.gform_button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus {
  --gf-local-outline-color: rgba(243,118,51,0.65) !important;
}
.gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  --gf-local-shadow: rgba(243,118,51,0.65) 0px 1px 4px 0px !important;
  --gf-color-in-ctrl-dark-lighter: rgba(243,118,51,0.65) 0px 1px 4px 0px !important;
}
.ginput_container.ginput_container_radio {
  padding-top: 0.25rem;
}
.iti__selected-country {
  border-radius: 10px !important;
  background-color: initial !important;
}
.gform-page-footer .button {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  padding: 0.5rem 2rem !important;
  border-radius: 1000px !important;
  color: #fff !important;
  border: none !important;
}
.gform-page-footer .button:hover,
.gform-page-footer .button:active,
.gform-page-footer .button:focus {
  color: #fff !important;
}
.gform-page-footer .button.gform_previous_button {
  background-color: var(--castellini-blue) !important;
}
.gform-page-footer .button.gform_previous_button:hover,
.gform-page-footer .button.gform_previous_button:active,
.gform-page-footer .button.gform_previous_button:focus {
  background-color: var(--castellini-blue-light) !important;
}
.gform-page-footer .button.gform_next_button {
  background-color: var(--castellini-orange) !important;
}
.gform-page-footer .button.gform_next_button:hover,
.gform-page-footer .button.gform_next_button:active,
.gform-page-footer .button.gform_next_button:focus {
  background-color: var(--castellini-orange-light) !important;
}
.gform_button_select_files {
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border-radius: 1000px !important;
  background-color: var(--castellini-blue) !important;
  color: #fff !important;
}
.gform_button_select_files:hover,
.gform_button_select_files:active,
.gform_button_select_files:focus {
  background-color: var(--castellini-blue-light) !important;
  color: #fff !important;
}

/* E Swiper Pagination Dots */
/* .swiper-pagination-bullet {
  border-radius: 0 !important;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  opacity: 100% !important;
  border: 2px solid var(--dots-normal-color,#000) !important;
  background: transparent !important;
}
.swiper-pagination-bullet:hover {
    background: var(--dots-hover-color,#000) !important;
    border: 2px solid var(--dots-hover-color,#000) !important;
} */

/**** Split section with bleeds ****/
:root {
  --site-content-max: 1140px;
  --outer-pad: 0;            /* default; overridden by .outer-pad at <=1140px */
}
html, body {
  overflow-x: hidden;
}

/* Outer section: no side padding */
.split-bleed {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper defines a container for cqw units */
.split-bleed .split-inner {
  width: 100%;
  max-width: var(--site-content-max);
  margin: 0 auto;
  display: flex;
  gap: 0;
  align-items: stretch;
  container-type: inline-size; /* 1cqw = 1% of this wrapper's width */
}

/* Columns (force CSS to win over Elementor flex-basis/width) */
.split-left {
  flex: 0 0 auto !important;
  width: auto !important; /* gets overridden in the >=1201px rule */
  min-width: 0;
}
.split-right {
  flex: 0 0 50cqw !important;
  max-width: 50cqw !important;
  min-width: 0;
}

/* >=768px: bleed the LEFT to the viewport edge; RIGHT stays boxed */
@media (min-width:768px) {
  .split-bleed {
    --inner-bleed-left: min(var(--site-content-max), 100vw);
    --gutter-bleed-left: calc((100vw - var(--inner-bleed-left)) / 2);
  }
  .split-left{
    width: calc(50cqw + var(--gutter-bleed-left)) !important;
    margin-left: calc(var(--gutter-bleed-left) * -1) !important;
  
    /* tuning */
    --depth: 80px;   /* how far the arc cuts into the box */
    --ry: 60%;       /* vertical radius */

    /* Base: full visible rectangle
      Cutout: ellipse "bite" on the left */
    -webkit-mask-image:
      linear-gradient(#000 0 0),
      radial-gradient(ellipse var(--depth) var(--ry) at 100% 50%,
        #000 99%, transparent 100%);
    -webkit-mask-composite: xor; /* subtract-ish in WebKit */

            mask-image:
      linear-gradient(#000 0 0),
      radial-gradient(ellipse var(--depth) var(--ry) at 100% 50%,
        #000 99%, transparent 100%);
            mask-composite: exclude; /* subtract in Firefox */

    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%, 100% 100%;
          mask-size: 100% 100%, 100% 100%;
  }
}

/* <=767px: stack; both columns full width; only counter parent pad if declared */
@media (max-width:767px){
  /* If a parent set --outer-pad (e.g., via .outer-pad), let this section bleed over it */
  .split-bleed {
    margin-left: calc(-1 * var(--outer-pad));
    margin-right: calc(-1 * var(--outer-pad));
  }

  .split-left, 
  .split-right {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  .split-bleed .split-inner {
    flex-direction: column;
    max-width: none;
    width: 100% !important;
    margin: 0;
  }
}
/**** END ****/

/* Outermost section (no side padding) */
.split-bleed-alt {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper establishes container for cqw units */
.split-bleed-alt .split-inner-alt {
  width: 100%;
  max-width: var(--site-content-max);
  margin: 0 auto;
  display: flex;
  gap: 0;
  align-items: stretch;
  container-type: inline-size; /* 1cqw = 1% of this wrapper's width */
}

/* Columns (force CSS to win over Elementor flex-basis/width) */

.split-left-alt {
  flex: 0 0 50cqw !important;
  max-width: 50cqw !important;
  min-width: 0;
}
.split-right-alt {
  flex: 0 0 auto !important;
  width: auto; /* gets overridden in the >=1201px rule */
  min-width: 0;
}


/* >=768px: bleed the RIGHT to the viewport edge; LEFT stays boxed */
@media (min-width:768px) {
  .split-bleed-alt {
    --inner: min(var(--site-content-max), 100vw);
    --gutter: calc((100vw - var(--inner)) / 2); /* viewport --> inner wrapper gutter */
  }
  .split-right-alt {
    width: calc(50cqw + var(--gutter));
    margin-right: calc(var(--gutter) * -1); /* push to the right screen edge */

  /* tuning */
  --depth: 80px;   /* how far the arc cuts into the box */
  --ry: 60%;       /* vertical radius */

  /* Base: full visible rectangle
    Cutout: ellipse "bite" on the left */
  -webkit-mask-image:
    linear-gradient(#000 0 0),
    radial-gradient(ellipse var(--depth) var(--ry) at 0% 50%,
      #000 99%, transparent 100%);
  -webkit-mask-composite: xor; /* subtract-ish in WebKit */

          mask-image:
    linear-gradient(#000 0 0),
    radial-gradient(ellipse var(--depth) var(--ry) at 0% 50%,
      #000 99%, transparent 100%);
          mask-composite: exclude; /* subtract in Firefox */

  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%, 100% 100%;
        mask-size: 100% 100%, 100% 100%;
  }
}

/* <=767px: stack; both columns full width; only counter parent pad if declared */
@media (max-width:767px) {
  .split-bleed-alt {
    margin-left:  calc(-1 * var(--outer-pad));
    margin-right: calc(-1 * var(--outer-pad));
  }
  .split-left-alt, 
  .split-right-alt {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  .split-bleed-alt .split-inner-alt {
    flex-direction: column;
    max-width: none;
    width: 100% !important;
    margin: 0;
  }
}
/**** END alt ****/

.sd-leaf::after {
  content: "";
  background-image: url('/wp-content/uploads/2026/05/castellini-company-leaf-accent.svg');
  position: absolute;
  left: 50%;
  bottom: 3.5rem;
  transform: translateX(-50%);
  width: 5rem;
  height: 3rem;
  z-index: 1;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}

/* Custom Sticky Nav */
.castellini-site-header {
  width: 100% !important;
  left: 0 !important;
  transition: all 0.3s ease;
}
.castellini-site-header .castellini-logo, 
.castellini-site-header .castellini-logo img {
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .castellini-site-header.elementor-sticky--effects .castellini-logo img, 
  .castellini-site-header.elementor-sticky--effects .castellini-logo-sticky img {
    width: 14rem !important;
    transition: all 0.3s ease;
  }
}
.castellini-site-header.elementor-sticky--effects {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
}

.home .castellini-site-header .castellini-logo {
  display: block;  
  transition: all 0.3s ease;
}
.home .castellini-site-header .castellini-logo-sticky {
  display: none;  
  transition: all 0.3s ease;
}
.home .castellini-site-header.elementor-sticky--effects .castellini-logo {
  display: none;  
  transition: all 0.3s ease;
}
.home .castellini-site-header.elementor-sticky--effects .castellini-logo-sticky {
  display: block;  
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button {
  background-color: var(--castellini-blue) !important;
  color: #fff !important;
  fill: #fff !important;
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button:hover, 
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button:active, 
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button:focus {
  background-color: var(--castellini-blue-light) !important;
  color: #fff !important;
  fill: #fff !important;
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button svg {
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button svg:hover, 
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button svg:active, 
.castellini-site-header.elementor-sticky--effects .castellini-menu-button a.elementor-button svg:focus {
  fill: #fff !important;
  color: #fff !important;
  transition: all 0.3s ease;
}
/* 
.castellini-site-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item {
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  color: var(--castellini-blue) !important;
  fill: var(--castellini-blue) !important;
  transition: all 0.3s ease;
} */

.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title {
  padding: 1.5rem 0.75rem 1.5rem 0.75rem !important;
  transition: all 0.3s ease;
}
.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-content .e-n-menu-title {
  padding: 0.5rem 0.75rem 0.5rem 0.75rem !important;
  transition: all 0.3s ease;
}

/* .home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu.castellini-main-menu ul li > .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu.castellini-main-menu ul li > .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon {
  color: #fff;
} */

.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon svg {
    color: #fff;
    fill: #fff;
    transition: all 0.3s;
}
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-content .e-con {
    background-color: var(--castellini-blue) !important;
    transition: all 0.3s ease;
}
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .elementor-widget-n-menu ul.e-n-menu-heading li.e-n-menu-item:not(:hover):not(:active):not(:focus):not(.e-current) .e-n-menu-title a.e-link .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover):not(:active):not(:focus) .e-n-menu-dropdown-icon svg {
    color: #fff !important;
    fill: #fff !important;
    transition: all 0.3s;
}
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title:hover .e-n-menu-dropdown-icon svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:hover .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:active .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:focus .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item .e-n-menu-dropdown-icon-opened svg {
    color: var(--castellini-orange) !important;
    fill: var(--castellini-orange) !important;
    transition: all 0.3s;
}
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:hover .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:active .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item:focus .e-n-menu-title-text, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title:hover .e-n-menu-dropdown-icon svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon-opened svg {
    color: var(--castellini-orange) !important;
    fill: var(--castellini-orange) !important;
    transition: all 0.3s;
}
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item .e-n-menu-dropdown-icon-opened svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon-opened svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item .e-n-menu-dropdown-icon-closed svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon-closed svg, 
.home .castellini-site-header:not(.elementor-sticky--effects) .elementor-widget-n-menu .e-n-menu-item .e-n-menu-title-text {
    transition: all 0.3s;
}

/* .home .castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title * {
  color: var(--castellini-blue) !important;
  fill: var(--castellini-blue) !important;
}
.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title a:hover *, 
.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title a:active *, 
.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title a:focus * {
  color: var(--castellini-orange) !important;
  fill: var(--castellini-orange) !important;
}
.castellini-site-header.elementor-sticky--effects .e-n-menu .e-n-menu-wrapper .e-n-menu-title.e-current a * {
  color: var(--castellini-orange-light) !important;
  fill: var(--castellini-orange-light) !important;
} */

.castellini-site-header .elementor-widget-n-menu .elementor-widget-n-menu .e-n-menu-heading {
  flex-direction: column;
}
.castellini-site-header .elementor-widget-n-menu .elementor-widget-n-menu .e-n-menu-item {
  min-width: 10rem;
}
.castellini-site-header .elementor-widget-n-menu .e-n-menu-title-container, 
.castellini-site-header .elementor-widget-n-menu .e-n-menu-title {
  width: 100%;
}

/* Timeline */
@media (max-width: 767px) {
  .castellini-timeline .ct-event {
    padding: 0 0 1.5rem 0;
  }
  .castellini-timeline::after {
    content: '';
    display: inline-block;
    position: absolute;
    left: calc(-1.5rem + 6px);
    width: 4px;
    height: 100%;
    background: #9e9e9e;
    z-index: -1;
  }
  .castellini-timeline .ct-event::after {
    content: '';
    display: inline-block;
    position: absolute;
    left: -1.65rem;
    top:-1rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 100%;
    background: var(--castellini-green);
  }
  .castellini-timeline .ct-event .ct-event-col-left {
    display: none !important;
    visibility: hidden !important;
  }
  .castellini-timeline .ct-event .ct-event-col-right {
    padding: 0 !important;
  }
}

.castellini-icon-green svg {
  fill: var(--castellini-green);
}
.castellini-icon-blue svg {
  fill: var(--castellini-blue);
}

@media (max-width: 1200px) and (min-width: 768px) {
  .flip-box-grid { column-gap: 0 !important; }
}

@media (max-width: 767px) {
  .grid-rows-auto .elementor-loop-container {
    grid-auto-rows: auto !important;
  }

  .grid-rows-auto .e-loop-item,
  .grid-rows-auto .e-loop-item > .elementor,
  .grid-rows-auto .e-loop-item .e-con,
  .grid-rows-auto .e-loop-item .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
  }
}
/* Make the two rows size to their own content instead of equal fr */
.grid-rows-auto {
    align-content: start;                 /* don't stretch rows to fill */
    grid-template-rows: auto auto !important;  /* replace the 1fr rows */
    /* If Elementor injects grid-auto-rows or a fixed height, we neutralize: */
    grid-auto-rows: auto;
}
.partial_entry_warning {
  color: #9e9e9e;
  opacity: 1;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-style: italic;
  font-family: inherit;
}
#gform_wrapper_1 .partial_entry_warning {
  color: #fff;
  opacity: 0.75;
}