/* The unlinked standard/retina logo variants became two identical direct images. */
#logo > img + img { display: none; }

/* Removed anchors left their labels without the theme's spacing and typography. */
#primary-menu > ul > li > div:not(.mega-menu-content) {
  padding: 0 10px;
  line-height: 100px;
  font: 700 12px/100px Raleway, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* The original dropdowns depended on scripts, including on desktop. */
#primary-menu li:hover > ul,
#primary-menu li:focus-within > ul,
#primary-menu li:hover > .mega-menu-content,
#primary-menu li:focus-within > .mega-menu-content { display: block; }
#primary-menu .mega-menu-title > div { font-weight: bold; margin-bottom: 10px; }
#primary-menu .mega-menu-content li > div { padding: 5px; }

/* Missing hero artwork leaves white captions and a 500px stage; retain all captions in normal flow. */
html body #slider { height: auto !important; background: #f5f5f5; }
html body #slider [data-restored-missing-background] { height: auto !important; min-height: 0 !important; }
html body #slider .slider-caption {
  position: static;
  max-width: none;
  padding: 35px 0;
  transform: none;
}
html body #slider .TitSlider,
html body #slider .TextSlider { color: #333 !important; text-shadow: none !important; }
html body #slider .TitSlider { margin: 0 0 16px; }
html body #slider .TextSlider { margin: 0; }
/* Stripped search fields left empty columns with phone margins. */
html body #slider .col_one_third:not(:has(*)) { margin: 0 !important; }

/* Empty removed media must not leave phantom frames above the surviving region names. */
.fbox-media:not(:has(*)) { display: none; }
.feature-box.media-box.fbox-bg .fbox-media:not(:has(*)) + .fbox-desc { border-top: 1px solid #e5e5e5; border-radius: 3px; }
.feature-box.media-box.fbox-bg .fbox-desc p { color: #666; }

/* The original dark blue copyright text is illegible against the dark footer. */
.dark #copyrights { color: #b9c5ce; text-shadow: none; }

.site-fix-menu-open, .site-fix-menu-close { display: none; }
@media (max-width: 1024px) {
  /* The 250x100 logo needs room beside the independent 44px menu hit area. */
  #header.full-header #logo { padding: 0 0 0 52px !important; }
  #logo > img { height: 100px; width: auto; object-fit: contain; }
  #primary-menu-trigger { left: 0; z-index: 3; }
  .site-fix-menu-open, .site-fix-menu-close {
    position: absolute;
    inset: 3px;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #fff;
  }
  .site-fix-menu-open {
    display: block;
    background: linear-gradient(#333,#333) center 12px/22px 2px no-repeat,
      linear-gradient(#333,#333) center 20px/22px 2px no-repeat,
      linear-gradient(#333,#333) center 28px/22px 2px no-repeat, #fff;
  }
  #header:has(#primary-menu:target) .site-fix-menu-open { display: none; }
  #header:has(#primary-menu:target) .site-fix-menu-close { display: block; font: 32px/42px sans-serif; }
  #primary-menu:target > ul { display: block; }
  #primary-menu:target ul ul,
  #primary-menu:target .mega-menu-content { display: block; }
  #primary-menu > ul > li > div:not(.mega-menu-content) { padding: 12px 5px; line-height: 1.6; }
  #primary-menu ul ul li { top: 0 !important; left: 0 !important; }
  #primary-menu .mega-menu-content > ul { width: 100% !important; float: none; }
  #primary-menu .mega-menu-content.style-2 > ul { padding: 12px 15px; }
  #primary-menu .mega-menu-content ul ul { padding-left: 10px; }
  #primary-menu { scroll-margin-top: 100px; }
}
@media (max-width: 767px) {
  /* These captions were already hidden by the phone theme; their padding must collapse too. */
  html body #slider .slider-caption { padding: 0; }
}
