.elementor-45 .elementor-element.elementor-element-271524cd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;--position:fixed;top:0px;--z-index:10000;}body:not(.rtl) .elementor-45 .elementor-element.elementor-element-271524cd{left:0px;}body.rtl .elementor-45 .elementor-element.elementor-element-271524cd{right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-45 .elementor-element.elementor-element-76d40b83{text-align:start;}.elementor-45 .elementor-element.elementor-element-76d40b83 img{width:250px;}.elementor-45 .elementor-element.elementor-element-76d40b83.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu .elementor-item{font-family:"Roboto Slab", Sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:1.2em;padding-right:1.2em;padding-top:1em;padding-bottom:1em;}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item:hover,
					.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-v4-white );fill:var( --e-global-color-v4-white );}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-v4-white );}.elementor-45 .elementor-element.elementor-element-281415af{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1560px){.elementor-45 .elementor-element.elementor-element-271524cd{--min-height:80px;}.elementor-45 .elementor-element.elementor-element-76d40b83 img{width:210px;}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu .elementor-item{font-size:14px;}.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item{padding-left:0.9em;padding-right:0.9em;}}@media(max-width:1200px){.elementor-45 .elementor-element.elementor-element-271524cd{--min-height:60px;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-45 .elementor-element.elementor-element-76d40b83 img{width:160px;}}@media(max-width:767px){.elementor-45 .elementor-element.elementor-element-271524cd{--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-45 .elementor-element.elementor-element-281415af{width:100%;max-width:100%;}}/* Start custom CSS for nav-menu, class: .elementor-element-281415af */@media (min-width: 1024px) {
.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-nav-menu {
  position: relative;
}


.elementor-45 .elementor-element.elementor-element-281415af .nav-indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: rgba(255,255,255,.2); 
  border-radius: 2em;       
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1),
              width 0.35s cubic-bezier(0.25, 1, 0.5, 1),
              opacity 0.2s ease;
}


.elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu--main .elementor-item {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}
}

@media (max-width: 1023px) {
    .elementor-45 .elementor-element.elementor-element-281415af .elementor-nav-menu {
        width: 100%;
        flex-direction: column;
    }
    .elementor-45 .elementor-element.elementor-element-281415af li {
        width: 100%;
    }
    .elementor-45 .elementor-element.elementor-element-281415af li a {
        width: 100%;
        text-align: center;
        justify-content: flex-end;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-271524cd *//* ===== Header template -> Custom CSS (header-only styles) =====
   Breakpoints (match Elementor > Site Settings > Layout > Breakpoints):
     mobile max 767px | tablet max 1200px | desktop min 1201px
   --header-height and --bar-height are set in the Head snippet. */

.elementor-45 .elementor-element.elementor-element-271524cd {
  margin-top: var(--bar-height);
  min-height: var(--header-height) !important;
}
.elementor-45 .elementor-element.elementor-element-271524cd .e-con-inner {
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* ---------- Scrolled state (class toggled by the Body snippet) ---------- */
#website-header,
#website-header .e-con-inner,
#website-header.header-scrolled > .e-con-inner .main-button,
#website-header .elementor-widget-theme-site-logo img {
  transition: all 0.3s ease-out;
}
#website-header.header-scrolled {
  min-height: 70px !important;
  margin-top: 0;
}
#website-header.header-scrolled .elementor-widget-theme-site-logo img {
  width: 180px !important;
}
@media (max-width: 1400px) {
  #website-header.header-scrolled .elementor-widget-theme-site-logo img { width: 140px !important; }
}
@media (max-width: 767px) {
  #website-header.header-scrolled .elementor-widget-theme-site-logo img { width: 90px !important; }
}

/* Dark frosted underlay behind the header content once scrolled */
#website-header .e-con-inner {
  --header-panel-x: 12px;      /* how far the panel extends past the logo / buttons */
  --header-panel-y: 0px;       /* gap above and below the panel (bigger = slimmer panel) */
  --header-panel-radius: 8px;  /* about button radius + the gap around it, so corners nest */
  isolation: isolate;          /* keeps the underlay behind the content, inside the header */
}
#website-header .e-con-inner::after {
  content: "";
  position: absolute;
  inset: var(--header-panel-y) calc(var(--header-panel-x) * -1);
  z-index: -1;
  max-width: 100vw;
  border-radius: var(--header-panel-radius);
  background: rgb(20 30 28 / 0.4);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
          backdrop-filter: blur(16px) saturate(140%);
  opacity: 0;
  transform: scale(0.98);
  transition:
    opacity 0.4s ease,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
#website-header.header-scrolled .e-con-inner::after {
  opacity: 1;
  transform: none;
}
@media (max-width: 767px) {
  #website-header .e-con-inner {
    --header-panel-x: 8px;
    --header-panel-y: 8px;
  }
}

/* ---------- Mobile menu (opened by the hamburger, Body snippet) ---------- */
@media (max-width: 1200px) {
  .elementor-45 .elementor-element.elementor-element-271524cd [data-header-menu="container"] {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-15px);
    pointer-events: none;
    transition:
      transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.4s step-end;
  }
  .elementor-45 .elementor-element.elementor-element-271524cd [data-header-menu="container"].is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    transition:
      transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s;
  }
}

/* ---------- Header nav: square marker on hover ----------
   Hover: the word moves right and a small square fades in from behind it,
   settling to its left. The current page keeps the square.
   Set Pointer = None in the Nav Menu widget. */
@media (min-width: 1201px) {
  #website-header .elementor-nav-menu--main .elementor-item {
    --nav-square: 6px;          /* square size */
    --nav-square-gap: 7px;      /* space between square and word */
    --nav-shift: 7px;           /* how far the word moves right */
    --nav-square-color: var(--Accent_secondary);
    --nav-ease: cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.45s var(--nav-ease), color 0.3s ease;
  }
  /* The square: a flex item before the text that takes no space,
     so it starts tucked behind the first letter */
  #website-header .elementor-nav-menu--main .elementor-item::before {
    content: "";
    flex: none;
    width: var(--nav-square);
    height: var(--nav-square);
    margin-right: calc(var(--nav-square) * -1);
    border-radius: 1px;
    background: var(--nav-square-color);
    opacity: 0;
    transform: translateX(0);
    transition: transform 0.45s var(--nav-ease), opacity 0.3s ease;
    pointer-events: none;
  }
  /* Hover is read from the menu item (li), which never moves:
     reading it from the moving link would make the edge flicker */
  #website-header .elementor-nav-menu--main .menu-item:hover > .elementor-item,
  #website-header .elementor-nav-menu--main .elementor-item:focus-visible {
    transform: translateX(var(--nav-shift));
  }
  #website-header .elementor-nav-menu--main .menu-item:hover > .elementor-item::before,
  #website-header .elementor-nav-menu--main .elementor-item:focus-visible::before {
    opacity: 1;
    transform: translateX(calc((var(--nav-square) + var(--nav-square-gap)) * -1));
  }
}
@media (prefers-reduced-motion: reduce) {
  #website-header .elementor-nav-menu--main .elementor-item,
  #website-header .elementor-nav-menu--main .elementor-item::before {
    transition: opacity 0.2s ease, color 0.2s ease;
  }
}/* End custom CSS */