.elementor-289 .elementor-element.elementor-element-165023f{--display:flex;--min-height:75px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:2;}.elementor-289 .elementor-element.elementor-element-165023f:not(.elementor-motion-effects-element-type-background), .elementor-289 .elementor-element.elementor-element-165023f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-289 .elementor-element.elementor-element-165023f.e-con{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-289 .elementor-element.elementor-element-165023f{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}}@media(max-width:767px){.elementor-289 .elementor-element.elementor-element-165023f{--z-index:5;}}/* Start custom CSS *//* ===========================
   Global variables 
   (edit here)
   =========================== */
:root{
  /* Logo heights */
  --logo-h-desktop: 90px;   /* desktop base height */
  --logo-h-mobile: 70px;    /* tablet/phone height */

  /* Shrink behavior (desktop only) */
  --logo-scale-min: 0.6;    /* target scale when shrunk */
  --logo-transition-dur: 0.45s;
  --logo-transition-ease: cubic-bezier(.2,.7,.2,1);
  --logo-scroll-range: 120px;  /* only used by scroll-driven block */










  /* Image wrapper margins/padding (normal) */
  --img-mt: 20px; --img-mr: 20px; --img-mb: 20px; --img-ml: 20px;
  --img-pad: 15px;

  /* Image wrapper margins/padding (shrunk) */
  --img-mt-sh: 5px; --img-mr-sh: 20px; --img-mb-sh: 5px; --img-ml-sh: 20px;
  --img-pad-sh: 5px;
}

/* Target THIS menu only */
.elementor-element-f38fec9,
.elementor-element-f38fec9 > .elementor-widget-container {
  height: 100%;
}

/* Make the horizontal nav fill the header height and center items */
.elementor-element-f38fec9 .elementor-nav-menu--layout-horizontal.elementor-nav-menu__container {
  display: flex;
  align-items: center;   /* vertical centering */
  height: 100%;
}

/* UL fills height; items stretch so links can center vertically */
.elementor-element-f38fec9 .elementor-nav-menu--main > ul.elementor-nav-menu {
  display: flex;
  align-items: stretch;
  height: 100%;
}

/* Links fill full height and are vertically centered */
.elementor-element-f38fec9 .elementor-nav-menu--main .elementor-item {
  display: flex;
  align-items: center;
  height: 100%;
  line-height: 1;       /* remove extra line height */
  position: relative;   /* anchor for underline */
  padding-bottom: 0.75rem; /* room for underline, adjust as needed */
  overflow: visible;
}

/* Force the Elementor "underline" pointer to sit on the absolute bottom */
.elementor-element-f38fec9 .e--pointer-underline .elementor-item:after,
.elementor-element-f38fec9 .e--pointer-underline .elementor-item:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;            /* pin to very bottom */
  height: 2px;          /* thickness of underline */
  background: currentColor; /* match text color or override here */
  transform: none !important;   /* kill Elementor's translate animations */
  opacity: 0;
  transition: opacity .2s ease;
}

/* Show underline for hover/active/focus */
.elementor-element-f38fec9 .e--pointer-underline .elementor-item:hover:after,
.elementor-element-f38fec9 .e--pointer-underline .elementor-item:focus:after,
.elementor-element-f38fec9 .e--pointer-underline .elementor-item.elementor-item-active:after {
  opacity: 1;
}

/* Keep dropdown styles untouched (horizontal only) */
@media (max-width: 1024px) {
  .elementor-element-f38fec9 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    height: auto;
    align-items: stretch;
  }
}

/* Logo sizing and shrink */
@media (min-width:1025px){

  /* Drive scale and spacing from header sticky state */
  .elementor-element-165023f{
    --scale: 1;
    --_mt: var(--img-mt);  --_mr: var(--img-mr);  --_mb: var(--img-mb);  --_ml: var(--img-ml);
    --_pad: var(--img-pad);
  }
  .elementor-element-165023f.elementor-sticky--effects{
    --scale: var(--logo-scale-min);
    --_mt: var(--img-mt-sh);  --_mr: var(--img-mr-sh);  --_mb: var(--img-mb-sh);  --_ml: var(--img-ml-sh);
    --_pad: var(--img-pad-sh);
  }

  /* Shrink the wrapper div and adjust margin/padding */
  .elementor-element-fb48d37{
    height: calc(var(--logo-h-desktop) * var(--scale));
    display: flex;
    align-items: center;
    overflow: hidden;

    /* spacing overrides Elementor UI values */
    margin: var(--_mt) var(--_mr) var(--_mb) var(--_ml) !important;
    padding: var(--_pad) !important;

    transition:
      height var(--logo-transition-dur) var(--logo-transition-ease),
      margin var(--logo-transition-dur) var(--logo-transition-ease),
      padding var(--logo-transition-dur) var(--logo-transition-ease);
    will-change: height, margin, padding;
  }

  /* Make the link fill the wrapper height */
  .elementor-element-fb48d37 > a{ display:block; height:100%; }

  /* Image fits wrapper */
  .elementor-element-fb48d37 img{
    display:block;
    height:100% !important;
    width:auto !important;
  }

  .elementor-element-165023f .e-con-inner{ display:flex; align-items:center; }

  @media (prefers-reduced-motion: reduce){
    .elementor-element-fb48d37{ transition:none; }
  }

  /* Optional: continuous height shrink tied to scroll (margins/padding still use transitions) */
  @supports (animation-timeline: scroll()){
    .elementor-element-fb48d37{
      animation: logoShrink 1s linear both;
      animation-timeline: scroll(root);
      animation-range: 0 var(--logo-scroll-range);
      transition: margin var(--logo-transition-dur) var(--logo-transition-ease),
                  padding var(--logo-transition-dur) var(--logo-transition-ease);
    }
    @keyframes logoShrink{
      from { height: var(--logo-h-desktop); }
      to   { height: calc(var(--logo-h-desktop) * var(--logo-scale-min)); }
    }
  }
}

/* Mobile and tablet: fixed height from var */
@media (max-width:1024px){
  .elementor-element-fb48d37{
    height: var(--logo-h-mobile);
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .elementor-element-fb48d37 > a{ display:block; height:100%; }
  .elementor-element-fb48d37 img{
    display:block;
    height:100% !important;
    width:auto !important;
  }
}/* End custom CSS */