
/* TGL Responsive Menu Patch - desktop/laptop/mobile overlap fix */
html, body { overflow-x: hidden; }
.top_panel_fixed_wrap { display:none !important; height:0 !important; min-height:0 !important; }

.top_panel_middle .content_wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    max-width:1380px !important;
    width:96% !important;
    margin:0 auto !important;
    position:relative !important;
    box-sizing:border-box !important;
}

.contact_logo{
    flex:0 0 255px !important;
    max-width:255px !important;
    min-width:210px !important;
    margin:0 !important;
    padding:8px 0 !important;
    position:relative !important;
    z-index:5 !important;
}
.contact_logo a{ display:block !important; }
.contact_logo img.logo_main{
    max-height:70px !important;
    max-width:245px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
}

.menu_main_wrap{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin-left:0 !important;
    text-align:right !important;
    position:relative !important;
    z-index:4 !important;
}
.menu_main_nav_area{ display:block !important; }
ul.menu_main_nav{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:2px !important;
    margin:0 !important;
    padding:0 !important;
}
ul.menu_main_nav > li{
    float:none !important;
    display:block !important;
    margin:0 !important;
    position:relative !important;
    white-space:nowrap !important;
}
ul.menu_main_nav > li > a,
ul.menu_main_nav > li > a span,
ul.menu_main_nav > li .aspNetDisabled{
    color:#5e0015 !important;
    font-size:13.5px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    padding:18px 8px !important;
    display:block !important;
    text-transform:none !important;
    letter-spacing:0 !important;
}
ul.menu_main_nav > li > a:hover{ color:#d4af37 !important; }
ul.menu_main_nav li ul.sub-menu{
    min-width:210px !important;
    background:#fff !important;
    border-top:3px solid #d4af37 !important;
    box-shadow:0 14px 35px rgba(71,0,17,.18) !important;
    border-radius:0 0 12px 12px !important;
    overflow:hidden !important;
    z-index:9999 !important;
}
ul.menu_main_nav li ul.sub-menu li a{
    color:#5e0015 !important;
    padding:12px 16px !important;
    font-size:14px !important;
    line-height:1.3 !important;
}
ul.menu_main_nav li ul.sub-menu li a:hover{ background:#fff7df !important; color:#7a0019 !important; }

.header_mobile{ display:none !important; }
.tgl-menu-toggle{ display:none; }
.tgl-mobile-panel{ display:none; }
.tgl-mobile-mask{ display:none; }

@media (max-width:1280px){
  .top_panel_middle .content_wrap{ width:98% !important; gap:10px !important; }
  .contact_logo{ flex-basis:220px !important; max-width:220px !important; min-width:190px !important; }
  .contact_logo img.logo_main{ max-height:62px !important; max-width:210px !important; }
  ul.menu_main_nav > li > a{ font-size:12.5px !important; padding:16px 6px !important; }
}

/* Switch to hamburger before overlap starts */
@media (max-width:1100px){
  header.top_panel_wrap{
      display:block !important;
      background:#fff !important;
      box-shadow:0 5px 20px rgba(71,0,17,.08) !important;
      position:relative !important;
      z-index:1002 !important;
  }
  .top_panel_middle .content_wrap{
      min-height:72px !important;
      width:94% !important;
      padding-right:58px !important;
  }
  .menu_main_wrap{ display:none !important; }
  .header_mobile{ display:none !important; }
  .contact_logo{
      flex:0 1 auto !important;
      min-width:0 !important;
      max-width:calc(100% - 65px) !important;
      z-index:3 !important;
  }
  .contact_logo img.logo_main{
      max-height:58px !important;
      max-width:min(245px, calc(100vw - 110px)) !important;
  }
  .tgl-menu-toggle{
      display:flex !important;
      position:absolute !important;
      top:50% !important;
      right:0 !important;
      transform:translateY(-50%) !important;
      width:46px !important;
      height:46px !important;
      border:1px solid rgba(212,175,55,.55) !important;
      border-radius:12px !important;
      background:#7a0019 !important;
      align-items:center !important;
      justify-content:center !important;
      flex-direction:column !important;
      gap:5px !important;
      cursor:pointer !important;
      margin:0 !important;
      box-shadow:0 6px 18px rgba(122,0,25,.18) !important;
      z-index:30 !important;
  }
  .tgl-menu-toggle span{ width:22px !important; height:2px !important; background:#d4af37 !important; display:block !important; border-radius:2px !important; transition:.25s !important; }
  body.tgl-menu-open .tgl-menu-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  body.tgl-menu-open .tgl-menu-toggle span:nth-child(2){ opacity:0; }
  body.tgl-menu-open .tgl-menu-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .tgl-mobile-mask{ position:fixed; inset:0; background:rgba(0,0,0,.48); z-index:1003; opacity:0; visibility:hidden; transition:.25s; display:block; }
  .tgl-mobile-panel{
      position:fixed; top:0; right:-330px; width:310px; max-width:88vw; height:100vh; background:#fff;
      z-index:1004; display:block; transition:.3s ease; box-shadow:-20px 0 50px rgba(0,0,0,.22); overflow-y:auto;
      border-left:4px solid #d4af37;
  }
  body.tgl-menu-open .tgl-mobile-mask{ opacity:1; visibility:visible; }
  body.tgl-menu-open .tgl-mobile-panel{ right:0; }
  .tgl-mobile-head{ background:linear-gradient(135deg,#5e0015,#8b001f); color:#fff; padding:18px; display:flex; align-items:center; justify-content:space-between; }
  .tgl-mobile-head img{ max-height:46px; background:#fff; padding:5px; border-radius:8px; }
  .tgl-mobile-close{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(212,175,55,.55); color:#d4af37; background:transparent; font-size:22px; cursor:pointer; line-height:34px; }
  .tgl-mobile-menu{ list-style:none; padding:12px 0 22px; margin:0; }
  .tgl-mobile-menu li{ border-bottom:1px solid rgba(122,0,25,.09); list-style:none; }
  .tgl-mobile-menu a{ display:block; padding:14px 20px; color:#5e0015 !important; font-size:15px; font-weight:700; text-decoration:none; }
  .tgl-mobile-menu a:hover{ color:#d4af37 !important; background:#fff8e6; }
  .tgl-mobile-menu .has-sub > a{ position:relative; padding-right:46px; }
  .tgl-mobile-menu .has-sub > a:after{ content:'+'; position:absolute; right:20px; top:13px; color:#d4af37; font-size:20px; }
  .tgl-mobile-menu .has-sub.open > a:after{ content:'−'; }
  .tgl-mobile-menu .sub-menu{ display:none; background:#fff8e6; padding:0; margin:0; list-style:none; }
  .tgl-mobile-menu .has-sub.open .sub-menu{ display:block; }
  .tgl-mobile-menu .sub-menu a{ padding:12px 20px 12px 34px; font-size:14px; font-weight:600; color:#6d1022 !important; }
}

@media (max-width:480px){
  .top_panel_middle .content_wrap{ width:92% !important; min-height:66px !important; padding-right:52px !important; }
  .contact_logo img.logo_main{ max-height:48px !important; max-width:calc(100vw - 112px) !important; }
  .tgl-menu-toggle{ width:42px !important; height:42px !important; border-radius:10px !important; }
}


/* TGL menu stability fix - removes desktop sliding/blob animation and fixes mobile close icon */
@media (min-width:1101px){
  .menu_main_nav,
  .menu_main_nav > li,
  .menu_main_nav > li > a,
  .menu_main_nav > li > a span{
      transform:none !important;
      transition:color .18s ease, background-color .18s ease !important;
      animation:none !important;
  }
  .menu_main_nav > li#blob,
  .menu_main_nav #blob{
      display:none !important;
      opacity:0 !important;
      visibility:hidden !important;
      width:0 !important;
      height:0 !important;
  }
  .menu_main_nav > li.blob_over,
  .menu_main_nav > li.sfHover{
      left:auto !important;
      top:auto !important;
      transform:none !important;
      margin-top:0 !important;
  }
}

@media (max-width:1100px){
  .tgl-mobile-close{
      position:relative !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      width:38px !important;
      height:38px !important;
      min-width:38px !important;
      border-radius:50% !important;
      border:1px solid rgba(212,175,55,.75) !important;
      background:rgba(255,255,255,.08) !important;
      color:transparent !important;
      font-size:0 !important;
      line-height:0 !important;
      font-family:Arial, sans-serif !important;
      overflow:hidden !important;
      cursor:pointer !important;
      padding:0 !important;
  }
  .tgl-mobile-close:before,
  .tgl-mobile-close:after,
  .tgl-mobile-close span{
      content:'' !important;
      position:absolute !important;
      display:block !important;
      width:18px !important;
      height:2px !important;
      background:#d4af37 !important;
      border-radius:3px !important;
      top:50% !important;
      left:50% !important;
      margin-left:-9px !important;
      margin-top:-1px !important;
  }
  .tgl-mobile-close:before,
  .tgl-mobile-close span:first-child{ transform:rotate(45deg) !important; }
  .tgl-mobile-close:after,
  .tgl-mobile-close span:last-child{ transform:rotate(-45deg) !important; }
}

/* ROOT WEBSITE HEADER FINAL FIX - 17 May 2026
   Fixes desktop logo/menu overlap and keeps hamburger above logo on smaller screens */
@media (min-width:1101px){
  header.top_panel_wrap.top_panel_style_6,
  header.top_panel_wrap.top_panel_style_6 .top_panel_wrap_inner,
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle{
      background:linear-gradient(135deg,#4b0610,#760b18) !important;
      min-height:96px !important;
      height:auto !important;
      overflow:visible !important;
      position:relative !important;
      z-index:999 !important;
  }
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle > .content_wrap{
      width:min(1180px,94%) !important;
      max-width:1180px !important;
      min-height:96px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      gap:34px !important;
      margin:0 auto !important;
      padding:0 !important;
      box-sizing:border-box !important;
      position:relative !important;
  }
  header.top_panel_wrap.top_panel_style_6 .contact_logo{
      flex:0 0 120px !important;
      width:120px !important;
      min-width:120px !important;
      max-width:120px !important;
      margin:0 !important;
      padding:0 !important;
      position:relative !important;
      left:auto !important;
      top:auto !important;
      transform:none !important;
      z-index:5 !important;
  }
  header.top_panel_wrap.top_panel_style_6 .contact_logo a{
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      width:120px !important;
      height:96px !important;
  }
  header.top_panel_wrap.top_panel_style_6 .contact_logo img.logo_main{
      max-width:94px !important;
      width:94px !important;
      max-height:84px !important;
      height:auto !important;
      display:block !important;
      object-fit:contain !important;
  }
  header.top_panel_wrap.top_panel_style_6 .menu_main_wrap{
      flex:1 1 auto !important;
      min-width:0 !important;
      margin:0 !important;
      padding:0 !important;
      text-align:left !important;
      position:relative !important;
      z-index:4 !important;
  }
  header.top_panel_wrap.top_panel_style_6 .menu_main_nav_area,
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav{
      width:100% !important;
      display:flex !important;
      align-items:center !important;
  }
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav{
      justify-content:flex-start !important;
      flex-wrap:nowrap !important;
      gap:22px !important;
      margin:0 !important;
      padding:0 !important;
  }
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li{
      float:none !important;
      margin:0 !important;
      padding:0 !important;
      position:relative !important;
      display:block !important;
  }
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li > a{
      color:#fff !important;
      display:block !important;
      padding:36px 0 !important;
      font-size:15px !important;
      font-weight:700 !important;
      line-height:1 !important;
      white-space:nowrap !important;
      text-transform:none !important;
      letter-spacing:0 !important;
  }
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li > a:hover,
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.sfHover > a{
      color:#f4d272 !important;
  }
  header.top_panel_wrap.top_panel_style_6 .tgl-menu-toggle{display:none !important;}
}

@media (min-width:1101px) and (max-width:1280px){
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle > .content_wrap{width:96% !important;gap:24px !important;}
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav{gap:16px !important;}
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li > a{font-size:14px !important;}
}

@media (max-width:1100px){
  header.top_panel_wrap.top_panel_style_6,
  header.top_panel_wrap.top_panel_style_6 .top_panel_wrap_inner,
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle{
      background:linear-gradient(135deg,#4b0610,#760b18) !important;
      min-height:76px !important;
  }
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle > .content_wrap{
      min-height:76px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      padding:0 60px 0 16px !important;
      width:100% !important;
      box-sizing:border-box !important;
  }
  header.top_panel_wrap.top_panel_style_6 .contact_logo{
      width:auto !important;
      min-width:0 !important;
      max-width:calc(100vw - 95px) !important;
      flex:0 1 auto !important;
  }
  header.top_panel_wrap.top_panel_style_6 .contact_logo a{height:76px !important;display:flex !important;align-items:center !important;}
  header.top_panel_wrap.top_panel_style_6 .contact_logo img.logo_main{max-height:62px !important;max-width:90px !important;width:auto !important;}
  header.top_panel_wrap.top_panel_style_6 .tgl-menu-toggle{
      right:14px !important;
      z-index:99999 !important;
      background:#d4af37 !important;
      border-color:#fff2bd !important;
  }
  header.top_panel_wrap.top_panel_style_6 .tgl-menu-toggle span{background:#5b0f1a !important;}
}

/* HOME CERTIFICATE SEARCH STICKY FINAL STYLE */
.tgl-report-search-strip#online-report-search{
    position:sticky !important;
    top:96px !important;
    z-index:80 !important;
    background:linear-gradient(135deg,#4b0610,#760b18) !important;
    padding:18px 0 !important;
    box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}
.tgl-report-search-strip#online-report-search .tgl-report-search-card{
    width:min(1080px,92%) !important;
    margin:0 auto !important;
    border-radius:22px !important;
    padding:18px 24px !important;
    background:#fffaf2 !important;
}
.tgl-report-search-strip#online-report-search .container{width:100% !important;max-width:none !important;padding:0 !important;}
@media(max-width:1100px){.tgl-report-search-strip#online-report-search{top:76px !important;}}
@media(max-width:800px){.tgl-report-search-strip#online-report-search{position:relative !important;top:auto !important;}}

/* ROOT WEBSITE SUBMENU FINAL FIX - 17 May 2026
   Aligns Report & Services submenu below the parent item and prevents awkward overlap */
@media (min-width:1101px){
  header.top_panel_wrap.top_panel_style_6,
  header.top_panel_wrap.top_panel_style_6 .top_panel_wrap_inner,
  header.top_panel_wrap.top_panel_style_6 .top_panel_middle,
  header.top_panel_wrap.top_panel_style_6 .content_wrap,
  header.top_panel_wrap.top_panel_style_6 .menu_main_wrap,
  header.top_panel_wrap.top_panel_style_6 .menu_main_nav_area,
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav,
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li{
      overflow:visible !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children{
      position:relative !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu{
      display:block !important;
      position:absolute !important;
      top:100% !important;
      left:50% !important;
      right:auto !important;
      transform:translateX(-50%) translateY(12px) !important;
      min-width:245px !important;
      width:245px !important;
      max-width:245px !important;
      padding:10px 0 !important;
      margin:0 !important;
      background:#fffaf0 !important;
      border:1px solid rgba(212,175,55,.45) !important;
      border-top:4px solid #d4af37 !important;
      border-radius:0 0 16px 16px !important;
      box-shadow:0 22px 45px rgba(0,0,0,.22) !important;
      opacity:0 !important;
      visibility:hidden !important;
      pointer-events:none !important;
      z-index:99999 !important;
      transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children:hover > ul.sub-menu,
  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children.sfHover > ul.sub-menu{
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transform:translateX(-50%) translateY(0) !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu:before{
      content:'' !important;
      position:absolute !important;
      top:-10px !important;
      left:50% !important;
      transform:translateX(-50%) rotate(45deg) !important;
      width:14px !important;
      height:14px !important;
      background:#d4af37 !important;
      z-index:-1 !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu > li{
      display:block !important;
      float:none !important;
      width:100% !important;
      margin:0 !important;
      padding:0 !important;
      border-bottom:1px solid rgba(122,0,25,.08) !important;
      background:transparent !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu > li:last-child{
      border-bottom:0 !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu > li > a{
      display:block !important;
      width:100% !important;
      box-sizing:border-box !important;
      padding:14px 20px !important;
      color:#6b0018 !important;
      background:transparent !important;
      font-size:15px !important;
      font-weight:600 !important;
      line-height:1.25 !important;
      text-align:left !important;
      text-decoration:none !important;
      white-space:nowrap !important;
      text-transform:none !important;
      letter-spacing:0 !important;
  }

  header.top_panel_wrap.top_panel_style_6 ul.menu_main_nav > li.menu-item-has-children > ul.sub-menu > li > a:hover{
      background:#fff1cf !important;
      color:#7a0019 !important;
      padding-left:25px !important;
  }
}
