/* ---------- Fonts ------------*/
@font-face {
  font-family: 'icomoon';
  src:  url('https://i.icomoon.io/public/temp/a69f2cab17/UntitledProject/icomoon.eot?nfkqhd');
  src:  url('https://i.icomoon.io/public/temp/a69f2cab17/UntitledProject/icomoon.eot?nfkqhd#iefix') format('embedded-opentype'),
    url('https://i.icomoon.io/public/temp/a69f2cab17/UntitledProject/icomoon.ttf?nfkqhd') format('truetype'),
    url('https://i.icomoon.io/public/temp/a69f2cab17/UntitledProject/icomoon.woff?nfkqhd') format('woff'),
    url('https://i.icomoon.io/public/temp/a69f2cab17/UntitledProject/icomoon.svg?nfkqhd#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
p.upper {text-transform: uppercase;}
p.bold {font-weight: 700;}
i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-office:before {
  content: "\e903";
}
.icon-newspaper:before {
  content: "\e904";
}
.icon-image:before {
  content: "\e90d";
}
.icon-camera:before {
  content: "\e90f";
}
.icon-play:before {
  content: "\e912";
}
.icon-connection:before {
  content: "\e91b";
}
.icon-file-text:before {
  content: "\e922";
}
.icon-cart:before {
  content: "\e93a";
}
.icon-credit-card:before {
  content: "\e93f";
}
.icon-phone:before {
  content: "\e942";
}
.icon-envelop:before {
  content: "\e945";
}
.icon-location2:before {
  content: "\e948";
}
.icon-map2:before {
  content: "\e94c";
}
.icon-clock:before {
  content: "\e94e";
}
.icon-clock2:before {
  content: "\e94f";
}
.icon-calendar:before {
  content: "\e953";
}
.icon-keyboard:before {
  content: "\e955";
}
.icon-upload:before {
  content: "\e961";
}
.icon-floppy-disk:before {
  content: "\e962";
}
.icon-bubbles4:before {
  content: "\e970";
}
.icon-download2:before {
  content: "\e9c5";
}
.icon-telegram:before {
  content: "\ea95";
}
.icon-twitter:before {
  content: "\ea96";
}
.icon-youtube:before {
  content: "\ea9d";
}
.icon-linkedin:before {
  content: "\eac9";
}
.icon-linkedin2:before {
  content: "\eaca";
}
.icon-pinterest:before {
  content: "\ead1";
}
.icon-pinterest2:before {
  content: "\ead2";
}

/* ---------- Utilities ---------- */
.centered {
  text-align: center;
  margin: 0 auto 2rem;
}

section#entry-forms { margin-bottom: 4rem; }

/* ---------- Header / Nav ---------- */
/* menu styles */

/* Base resets */
#header .main_nav #nav,
#header .main_nav #nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#header .main_nav #nav li::marker { content: none !important; }
#header .main_nav #nav li::before,
#header .main_nav #nav li::after { content: none !important; background: none !important; }

/* Keep header containers from clipping dropdowns */
#header,
#header .container { overflow: visible; }

/* Mobile-first (stacked) */
#header .main_nav #nav > li { position: static; }
#header .main_nav #nav > li > a {
  display: block;
  padding: 14px 18px;
  text-decoration: none;
  color: #222;
  line-height: 1.4;
}

/* Submenu visible inline on mobile */
#header .main_nav #nav > li > ul {
  display: block;
  position: static;
  border: 0;
  box-shadow: none;
  padding: 6px 0 8px 18px; /* indent children */
  margin: 0;
}
#header .main_nav #nav > li > ul > li > a {
  display: block;
  padding: 8px 0;
  font-size: 15px;
  line-height: 1.4;
  border-top: 1px solid #eee; /* separators for readability */
}
#header .main_nav #nav > li > ul > li:first-child > a { border-top: 0; }



/* ---------- Tablet & Desktop: dropdowns ---------- */
@media (min-width: 768px) {
  /* top level horizontal, no clipping */
  #header .menu-holder,
  #header .main_nav,
  #header .main_nav #nav { overflow: visible !important; height: auto !important; max-height: none !important; }

  #header .main_nav #nav {
    display: flex;
    flex-wrap: nowrap;         /* prevent wrap in narrow desktop widths */
    align-items: center;
    gap: 14px;
  }

  #header .main_nav #nav > li { position: relative; }
  #header .main_nav #nav > li > a { padding: 12px 10px; }

  /* caret on items that have dropdown (link has .dropdown) */
  #header .main_nav #nav > li > a.dropdown::after {
    content: "▾";
    font-size: .75em;
    margin-left: .4rem;
    line-height: 1;
  }

  /* dropdown panel (hidden by default) */
  #header .main_nav #nav > li > ul {
    position: absolute;
    left: 0;
    top: 100%;
    width: max-content;        /* grow to fit the longest item */
    min-width: 240px;
    max-width: 480px;          /* safety guard */
    padding: 8px 0;
    margin: 0;
    background: #fff;
    border: 1px solid #e8e8ee;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    z-index: 999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  #header .main_nav #nav > li > ul > li > a {
    display: block;
    padding: 10px 14px;
    color: #222;
    white-space: normal;       /* allow wrapping so words aren't cut */
    line-height: 1.35;
  }

  #header .main_nav #nav > li > ul > li > a:hover { background: #f6f6f7; }

  /* open on hover OR keyboard/tap focus */
  @media (hover: hover) {
    #header .main_nav #nav > li:hover > ul {
      opacity: 1; visibility: visible; transform: translateY(0);
    }
  }
  #header .main_nav #nav > li:focus-within > ul {
    opacity: 1; visibility: visible; transform: translateY(0);
  }
}

/* Narrow desktop/tablet range where items were wrapping:
   hide the CTA here if needed to keep one row */
@media (min-width: 992px) and (max-width: 1140px) {
  #header .button.hidden-phone { display: none !important; }
}

/* Ensure dropdown always above CTA */
#header .menu-holder { z-index: 30; }
#header .main_nav #nav > li > ul { z-index: 999; }

/* ---------- Very small devices: ease density ---------- */
@media (max-width: 360px) {
  #header .main_nav #nav > li > a { padding: 12px 16px; font-size: 15px; }
  #header .main_nav #nav > li > ul { padding-left: 16px; }
  #header .main_nav #nav > li > ul > li > a { font-size: 14px; line-height: 1.45; }
}
/* MOBILE-ONLY: avoid overlap with the slide-out menu */
@media (max-width: 767px) {
  /* Option A — hide CTA on small screens */
  #header .button.hidden-phone { display: none !important; }

  /* Option B — keep it, but move it below the menu (uncomment to use) */
  /* #header .button { position: static; display: block; margin: 12px 0 0; } */
}

/* Ensure CTA is shown from tablet up */
@media (min-width: 768px) {
  #header .button.hidden-phone { display: inline-flex !important; } /* or block */
}
