/* Responsive overlay for the classic 946px Weebly theme.
   Desktop look stays close to the original; the content column goes fluid on smaller screens.
   Loaded at the top of <head> (before third-party scripts) so the first paint already has these rules. */

/* Hide the injected Netlify "Powered by Netlify" badge so it cannot shift the page. */
.nl-wrap {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* HTML width/height attributes reserve aspect ratio while max-width scales the image. */
img[width][height] {
  height: auto;
  aspect-ratio: attr(width) / attr(height);
}

.wsite-image,
.wsite-image a,
a > img[width][height] {
  max-width: 100%;
}

#wsite-content table,
#main-wrap table {
  max-width: 100%;
}

.container,
#nav-wrap .container,
#nav-wrap .container table,
#bannerleft {
  max-width: 100%;
  box-sizing: border-box;
}

/* Logo and header: theme CSS sets #header { height: 100px } but the logo is 400x168. */
.wsite-logo img,
#logo img {
  width: 400px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 400 / 168;
  display: block;
}

#header {
  height: auto;
  min-height: 100px;
}

#header-wrap {
  min-height: 100px;
}

#ss-menu-toggle {
  display: none;
  width: calc(100% - 16px);
  margin: 8px;
  padding: 10px 14px;
  border: 1px solid #003b77;
  background: #003b77;
  color: #fff;
  font: 16px Georgia, serif;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
  min-height: 44px;
}

#ss-menu-toggle:focus {
  outline: 2px solid #939598;
  outline-offset: 2px;
}

/* Known ad slots: keep the height declared on the ins tag so a late or missing
   creative does not collapse the box. Ezoic may still change size on a registered
   domain; these values match the live placeholder markup. */
#ezoic-pub-ad-placeholder-102 {
  min-height: 90px;
  max-width: 100%;
  overflow: hidden;
}

[id^="ezoic-pub-ad-placeholder-"] {
  max-width: 100%;
  overflow: hidden;
}

ins.adsbygoogle {
  max-width: 100%;
  box-sizing: border-box;
}

/* Font-display fallback if the theme @font-face has none (also patched in font.css). */
@font-face {
  font-family: "Droid Serif";
  src: url(/vendor/cdn2.editmysite.com/fonts/Droid_Serif/regular.eot);
  src: url(/vendor/cdn2.editmysite.com/fonts/Droid_Serif/regular.eot) format("embedded-opentype"),
       url(/vendor/cdn2.editmysite.com/fonts/Droid_Serif/regular.ttf) format("truetype");
  font-display: swap;
}

/* Desktop flyouts (replaces Weebly main.js hover menus) */
@media screen and (min-width: 981px) {
  #navigation li,
  #navigation .wsite-menu-subitem-wrap {
    position: relative;
  }
  #navigation li:hover > .wsite-menu-wrap,
  #navigation li:focus-within > .wsite-menu-wrap,
  #navigation .wsite-menu-subitem-wrap:hover > .wsite-menu-wrap,
  #navigation .wsite-menu-subitem-wrap:focus-within > .wsite-menu-wrap {
    display: block !important;
  }
  #navigation .wsite-menu-wrap {
    position: absolute;
    z-index: 200;
    left: 0;
    top: 100%;
    background: #fff;
    border: 1px solid #ccc;
    min-width: 220px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  }
  #navigation .wsite-menu-wrap .wsite-menu-wrap {
    left: 100%;
    top: 0;
  }
  #navigation .wsite-menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #navigation .wsite-menu a {
    display: block;
    padding: 8px 12px;
    color: #333;
    text-decoration: none;
    white-space: normal;
  }
  #navigation .wsite-menu a:hover,
  #navigation .wsite-menu a:focus {
    background: #f2f2f2;
  }
}

@media screen and (max-width: 980px) {
  .container,
  #nav-wrap .container,
  #nav-wrap .container table,
  #navigation ul,
  #bannerleft {
    width: auto !important;
    max-width: 100% !important;
  }

  #header-wrap .container,
  #header {
    padding: 8px;
  }

  /* Reserve the hamburger row so the nav bar does not grow after first paint. */
  #nav-wrap {
    min-height: 60px;
  }

  #ss-menu-toggle {
    display: block;
  }

  #nav-wrap .container,
  #nav-wrap .container table,
  #nav-wrap .container table tbody,
  #nav-wrap .container table tr,
  #nav-wrap .container table td,
  #nav {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    float: none !important;
  }

  #navigation {
    float: none !important;
    width: 100% !important;
  }

  #navigation ul.wsite-menu-default {
    display: none;
    width: 100% !important;
    height: auto !important;
    float: none !important;
    margin: 0;
  }

  body.ss-nav-open #navigation ul.wsite-menu-default {
    display: block;
  }

  #navigation li,
  #navigation .wsite-menu-item-wrap,
  #navigation ul li a.wsite-menu-item,
  #navigation .wsite-menu-subitem-wrap,
  #navigation .wsite-menu-subitem {
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  #navigation ul li a.wsite-menu-item {
    padding: 10px 12px;
  }

  /* Nested menus visible in the mobile drawer */
  #navigation .wsite-menu-wrap {
    display: block !important;
    position: static !important;
    background: #f7f7f7;
    border: 0;
    box-shadow: none;
    margin: 0 0 0 12px;
  }

  #bannerleft {
    height: auto !important;
    float: none !important;
  }

  #bannerright {
    position: static !important;
    width: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 12px 0;
  }

  #main-wrap .container,
  #footer-wrap .container,
  #header-wrap .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wsite-form-left,
  .wsite-form-right,
  .wsite-form-input-first-name,
  .wsite-form-input-last-name {
    float: none !important;
    width: 100% !important;
    display: block;
  }

  .wsite-form-input,
  .wsite-input,
  textarea.wsite-form-input {
    max-width: 100%;
    box-sizing: border-box;
  }
}
