/* Header layout fixes — local only, no external requests */

/* Mobile block off by default (Bootstrap visibility classes are unreliable here) */
.mobile_header {
  display: none !important;
}

@media (max-width: 991px) {
  .mobile_header {
    display: block !important;
  }
  #header3.headerBox {
    display: none !important;
  }
}

@media (min-width: 992px) {
  #header3.headerBox {
    display: block !important;
  }

  .mobile_header,
  .mobile_header * {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* Top bar login/search not used on desktop (contact block is in HeaderPaneB) */
  .headertopBox .Login,
  .headertopBox .searchMainBox,
  .headertopBox .languageBox,
  .headertopBox #search-icon {
    display: none !important;
  }

  .header-bottom {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    clear: both;
    width: 100%;
  }

  .header-bottom .header-left {
    float: none;
    flex: 0 0 auto;
    width: auto;
  }

  .header-bottom .header-right {
    float: none;
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    clear: none;
  }

  .header-bottom .nav_box {
    flex: 0 1 auto;
  }

  .header-bottom .menuRightBox {
    flex: 0 0 auto;
    float: none !important;
    line-height: normal !important;
    height: auto !important;
    margin-top: 0 !important;
  }

  .menuRightBox .nav-menu-info {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
  }

  .headerBox .dnn_logo {
    line-height: normal !important;
    height: auto !important;
  }
}

/* Bootstrap visibility fallbacks */
@media (min-width: 768px) {
  .hidden-xs {
    display: block !important;
  }
  .visible-xs,
  .visible-sm {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
  .visible-xs {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
  .visible-sm {
    display: block !important;
  }
}

.dnn_logo .FixedLogoPane {
  display: none !important;
}

.roll_menu.roll_activated .dnn_logo .Logobox {
  display: none !important;
}

.roll_menu.roll_activated .dnn_logo .FixedLogoPane {
  display: inline-block !important;
}

.Logobox img,
.FixedLogoPane img {
  max-height: 90px;
  width: auto;
  height: auto;
  display: block;
}

.banner-image {
  min-height: 420px;
}

/* Show hero text even if scroll animations do not run */
.banner-image .wrapper,
.banner-image .animation_item {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Inner pages: same chrome as home (header already above); content stays per-page */
header.header_bg .dnn_layout.boxed {
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
}

#dnn_content {
  width: 100%;
}

#dnn_content .dnn_layout.boxed,
#dnn_content section .dnn_layout {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}

.short-banner {
  min-height: 220px;
  overflow: hidden;
}

.short-banner h1,
.short-banner h3,
.short-banner p,
.short-banner .animation_item,
.short-banner.animation {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Footer / content sections align with home width */
.footer_box .dnn_layout.boxed {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}
