.elementor-kit-24130{--e-global-color-primary:#72BF44;--e-global-color-secondary:#27AAE1;--e-global-color-text:#231F20;--e-global-color-accent:#E3641F;--e-global-color-61cd75f:#FFFFFF;--e-global-typography-primary-font-family:"motiva-sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"motiva-sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"motiva-sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"motiva-sans";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 button,.elementor-kit-24130 input[type="button"],.elementor-kit-24130 input[type="submit"],.elementor-kit-24130 .elementor-button{background-color:var( --e-global-color-primary );font-size:0.9rem;font-weight:600;text-decoration:none;color:var( --e-global-color-61cd75f );border-style:none;border-radius:0px 0px 0px 0px;}.elementor-kit-24130 button:hover,.elementor-kit-24130 button:focus,.elementor-kit-24130 input[type="button"]:hover,.elementor-kit-24130 input[type="button"]:focus,.elementor-kit-24130 input[type="submit"]:hover,.elementor-kit-24130 input[type="submit"]:focus,.elementor-kit-24130 .elementor-button:hover,.elementor-kit-24130 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-61cd75f );border-style:none;border-radius:0px 0px 0px 0px;}.elementor-kit-24130 e-page-transition{background-color:var( --e-global-color-61cd75f );}.elementor-kit-24130 a{color:var( --e-global-color-primary );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-24130 h1{color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 h2{color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 h3{color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 h4{color:var( --e-global-color-text );}.elementor-kit-24130 h5{color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-kit-24130 h6{color:var( --e-global-color-text );font-family:"motiva-sans", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:15px;--container-default-padding-right:25px;--container-default-padding-bottom:15px;--container-default-padding-left:25px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --Primary:#72bf44; --Text:#231f20; --Secondary:#27AAE1; --Black:#000000; --White:#ffffff; --Gray:#ccc; --max-width:1440px; --DUP_Primary:#72bf44; --DUP_Text:#231f20; --DUP_Secondary:#27AAE1; --DUP_max-width:1440px; }
/* Start custom CSS *//* =============================================================
   MAIN MENU INTERACTIONS (desktop ≥ 768px)
============================================================= */
@media (min-width: 768px) {
.gwn__main-menu .e-n-menu-title {
  position: relative;
}
.gwn__main-menu .e-n-menu-title::before {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: #72bf44;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
  pointer-events: none;
}
.gwn__main-menu .e-n-menu-item:hover .e-n-menu-title::before,
.gwn__main-menu .e-n-menu-item.e-current .e-n-menu-title::before {
  transform: scaleX(1);
}
}

/* =============================================================
   HEADER BACKGROUND ZOOM LAYER — full cover on all screens
   (Targets the JS-injected wrapper used by the gwn-bg-zoom effect)
============================================================= */
[data-gwn-bg-zoom="wrap"] {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

[data-gwn-bg-zoom="layer"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;

}

@media (max-width: 767px) {
  [data-gwn-bg-zoom="layer"] {
    background-position: center top !important;
  }
}

/* =============================================================
   COORDINATE CYCLE (rotating coordinate text)
============================================================= */
.coord-cycle {
  position: relative;
  height: 20px;
}

.coord-cycle .coord-line {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: coord-swap 7.2s infinite;
  text-align: center;
}

.coord-cycle .coord-line:nth-child(1) { animation-delay: 0s; }
.coord-cycle .coord-line:nth-child(2) { animation-delay: 1.8s; }
.coord-cycle .coord-line:nth-child(3) { animation-delay: 3.6s; }
.coord-cycle .coord-line:nth-child(4) { animation-delay: 5.4s; }

@keyframes coord-swap {
  0%, 22%   { opacity: 1; }
  25%, 100% { opacity: 0; }
}

/* =============================================================
   MOBILE MENU TOGGLE — 9-DOT ORBIT TO X (variant 03a)
   Center: 100% | Edge-mids: 75% | Corners: 50%
============================================================= */

/* Hide Elementor's default toggle icons */
.e-n-menu-toggle .e-n-menu-toggle-icon {
  display: none !important;
}

/* Toggle button — kill all background states + neutralize sizing */
.e-n-menu-toggle,
.e-n-menu-toggle:hover,
.e-n-menu-toggle:focus,
.e-n-menu-toggle:active,
.e-n-menu-toggle[aria-expanded="true"] {
  background: transparent !important;
  background-color: transparent !important;
}

.e-n-menu-toggle {
  color: #fff !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Custom icon container */
.e-n-menu-toggle .gwn-grid-icon {
  width: 32px;
  height: 32px;
  position: relative;
  display: inline-block;
  font-size: 0;
  line-height: 0;
  flex: none;
}

/* The 9 dots — locked dimensions to defeat theme/Elementor overrides */
.gwn-grid-icon .dot {
  position: absolute;
  width: 4px !important;
  height: 4px !important;
  background: currentColor;
  border-radius: 50% !important;
  display: block !important;
  flex: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

/* 3×3 grid positions. Edge-mids get transform-origin pointing to icon center. */
.gwn-grid-icon .g-1 { top: 4px;  left: 4px;  }
.gwn-grid-icon .g-2 { top: 4px;  left: 14px; transform-origin: 2px 12px; }
.gwn-grid-icon .g-3 { top: 4px;  left: 24px; }
.gwn-grid-icon .g-4 { top: 14px; left: 4px;  transform-origin: 12px 2px; }
.gwn-grid-icon .g-5 { top: 14px; left: 14px; }
.gwn-grid-icon .g-6 { top: 14px; left: 24px; transform-origin: -8px 2px; }
.gwn-grid-icon .g-7 { top: 24px; left: 4px;  }
.gwn-grid-icon .g-8 { top: 24px; left: 14px; transform-origin: 2px -8px; }
.gwn-grid-icon .g-9 { top: 24px; left: 24px; }

/* Opacity hierarchy: center 100%, edge-mids 75%, corners 50% */
.gwn-grid-icon .g-2,
.gwn-grid-icon .g-4,
.gwn-grid-icon .g-6,
.gwn-grid-icon .g-8 { opacity: 0.75 !important; }
.gwn-grid-icon .g-1,
.gwn-grid-icon .g-3,
.gwn-grid-icon .g-7,
.gwn-grid-icon .g-9 { opacity: 0.5 !important; }

/* X morph: edge-mids orbit 45° around center, land on arm midpoints */
.e-n-menu-toggle[aria-expanded="true"] .g-2 { transform: translate( 2.07px,  2.07px) rotate(-45deg); }
.e-n-menu-toggle[aria-expanded="true"] .g-4 { transform: translate( 2.07px, -2.07px) rotate(-45deg); }
.e-n-menu-toggle[aria-expanded="true"] .g-6 { transform: translate(-2.07px,  2.07px) rotate(-45deg); }
.e-n-menu-toggle[aria-expanded="true"] .g-8 { transform: translate(-2.07px, -2.07px) rotate(-45deg); }

/* =============================================================
   MAIN MENU POSITIONING
============================================================= */
.gwn__main-menu {
  z-index: 999;
}

.gwn__main-menu button.e-n-menu-toggle {
  position: absolute;
  top: -43px;
  right: 5px;
}

/* =============================================================
   SEARCH PANEL — slide-in from right on desktop
============================================================= */
.gwn-search-panel {
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%) translateX(20px);
  width: 360px;
  max-width: calc(100vw - 80px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s;
  z-index: 100;
  background: #fff;
  padding: 12px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.gwn-search-panel.is-open {
  transform: translateY(-50%) translateX(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.gwn-search-toggle {
  cursor: pointer;
}

.gwn-search-panel.elementor-widget.elementor-widget-algolia_search_box_widget {
  padding: 0;
  background: transparent;
}

/* =============================================================
   SEARCH PANEL — mobile: full-width, anchored below header
   Adapts whether or not a leaderboard ad is present
============================================================= */
@media (max-width: 767px) {
    #subscribe__dropdown .e-n-menu-title-text {
        display: none;
    }
  .gwn-search-panel {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-10px) !important;
    box-sizing: border-box !important;
    z-index: 998 !important;
        box-shadow: none !important;
  }
  .gwn-search-panel.is-open {
    transform: translateY(0) !important;
  }

  /* Header must allow the panel to break out and act as positioning context */
  .gwn-header {
    position: relative !important;
    overflow: visible !important;
  }

  /* Defeat positioning on the panel's ancestors so it anchors to .gwn-header.
     Both wrappers must be `static` — otherwise position:absolute resolves
     against the nearest positioned ancestor (the right-side icon cluster)
     and the panel ends up offset right instead of full-width. */
  .gwn-header .gwn-search-wrapper,
  .gwn-header .gwn-search-subscribe {
    position: static !important;
  }
  .gwn-search-toggle {
      margin-right: -15px!important;
  }
}

/* =============================================================
   ALGOLIA SEARCH FORM
============================================================= */
#algolia-search-form {
  text-align: right;
  display: flex;
  justify-content: end;
}

#algolia-search-form .search-input-wrapper {
  display: inline-block;
  width: 80%;
  max-width: 300px;
  height: 34px;
}

#algolia-search-form .search-input-wrapper input {
  border: 0;
  background-color: #eee;
  border-radius: 0;
  padding: 0.25rem 1rem;
  height: 33px;
      border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
}

#algolia-search-form button {
  padding: 0.25rem 1rem;
  height: 33px;
      border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

.elementor-widget-algolia_search_box_widget {
  width: 100%;
}

/* On mobile, let the form fill the wider panel */
@media (max-width: 767px) {
  #algolia-search-form .search-input-wrapper {
    width: 100%;
    max-width: none;
    flex: 1;
  }
  #algolia-search-form .search-input-wrapper input, #algolia-search-form button {
      height: 40px;
      border-radius: 0;
  }
  
}

/* =============================================================
   FOOTER MENUS
============================================================= */
.footer__menus ul li:first-of-type a {
  text-transform: uppercase;
  padding-top: 0;
  font-size: 1.1rem !important;
  letter-spacing: 1px;
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .footer__menus ul li {
    text-align: center !important;
  }
  .footer__menus ul li a {
    display: block;
  }
}
/* Diversified portfolio logos — footer */
.gwn-tech-portfolio .e-svg-base {
  color: #9a9a9a;
  transition: color 0.2s ease;
}
.gwn-tech-portfolio .e-svg-base:hover {
  color: #fff;
}

/* Filled shapes */
.gwn-tech-portfolio .e-svg-base svg path,
.gwn-tech-portfolio .e-svg-base svg polygon,
.gwn-tech-portfolio .e-svg-base svg rect {
  fill: currentColor !important;
}

/* Outlined shapes — Commercial UAV ring, etc. */
.gwn-tech-portfolio .e-svg-base svg circle,
.gwn-tech-portfolio .e-svg-base svg ellipse {
  fill: none !important;
  stroke: currentColor !important;
}
.subscribe-form p {
    font-size:.6rem;
    padding-left: 5px;
    line-height: .7rem;
    padding-bottom: 0;
    margin-bottom: 5px;
}
.subscribe-form p a {
    color: #333;
    text-decoration: underline;
}
.subscribe-form form .mktoFormRow:nth-of-type(7), .subscribe-form label
 {
    display: none;
}
.subscribe__wrapper .e-n-menu-content {
    width: 400px !important;
    right: 0 !important;
    left: revert !important;
    padding: 0!important;
    margin: 0!important;
}
.subscribe-form input {
    border: 0;
    padding: 10px!important;
}
.subscribe-form .mktoForm .mktoButton, .subscribe-form .mktoForm .mktoButton[disabled], .subscribe-form .mktoForm .mktoButton[disabled]:hover {
    background: #231f20!important;
    background-color: #231f20 !important;
    border-radius: 6px!important;
    opacity: 1;
    padding: 6px 15px !important;
}

@media (min-width: 768px) {
     .subscribe-form .mktoForm {
         width: 100%!important;
         padding-top: 10px;
         padding-left: 5px;
         padding-right: 5px;
     }
    .subscribe-form span.mktoButtonWrap.mktoSimple {
    margin: 0 !important;
}
.subscribe-form .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
    border-top-left-radius: 0!important;
    border-bottom-left-radius: 0!important;
    min-height: 37px;
    border: 0;
    width: 100%;
}
.subscribe-form .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover, .subscribe-form .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active, .subscribe-form .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
    border: 0!important;
    background-color: #267090!important;
}
.subscribe-form p {
    clear: both;
}
      .subscribe-form .mktoForm input[type=email] {
          width: 100%!important;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0;
      }
    .subscribe-form .mktoForm .mktoFormRow {
        float: left;
        width: 65%;
    }
        .subscribe-form .mktoForm .mktoButtonRow {
        margin-top: 0;
        width: 35%;
    }
    .subscribe-form .mktoForm .mktoOffset {
        display: none;
    }
   .subscribe-form .mktoForm .mktoFieldWrap, .subscribe-form .mktoForm .mktoFormCol {
    width: 100%;
}
button#e-n-menu-dropdown-icon-1891 {
    margin: 0;
}

}

@media (max-width: 767px) {
    #subscribe__dropdown, #subscribe__dropdown i {
        background-color: transparent;
        color: #72BF44!important;
    }
     #subscribe__dropdown:hover, #subscribe__dropdown:active, #subscribe__dropdown i:hover, #subscribe__dropdown i:active {
        background-color: transparent;
        color: #27AAE1;
    }
       .subscribe__wrapper .e-n-menu-wrapper {
        --stretch-width: 100vw !important;
        --stretch-left: 0 !important;
    }

    .subscribe__wrapper .subscribe-dropdown {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 100px !important;        /* match your header bottom */
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 1.5rem !important;  /* breathing room inside */
        box-sizing: border-box;
        padding: 0!important;
        
    }

    .subscribe__wrapper .subscribe-dropdown > .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor .e-d336c24-75b2c0b {
        width: 100%!important;
        border-radius: 0!important;
    }
    input#Email {
        height: 36px;
    }
    .elementor .e-d954e8a-8297ad0 {
        width: 95px!important;
    }
    #subscribe__dropdown .fa-envelope {
        font-size: 20px!important;
    }
}

.elementor-sticky--active {
    background-color: rgba(26,37,48, 0.75);
    width: 100% !important;
    left: 0 !important;
    backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.elementor-sticky--active .logo__sticky {
    display: flex!important;
    padding-top: 22px!important;
}
 .lower__header .lower__header--inner {
    max-width: 1440px;
    margin: auto;
}
.elementor-sticky--active .gwn__main-menu {
    padding-left: 50px;
}
.elementor-sticky--active .e-n-menu-title {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.author__info--container img {
    border-radius: 100px;
    max-width: 50px;
}
.author__image {
    width: 40%!important;
}
.elementor .author__inner li {
    justify-content: center!important;
    width: 100%!important;
}
.author__inner, .author__image {
    padding: 0 !important;
}/* End custom CSS */