/* =========================================================
   Fab Audio — SITE shared UI (site.css)
   Shared across all pages:
   - header spacing
   - hero band
   - cards/panels
   - buttons
   - services grid
   - directions layout + modal
   - contact cards
   - footer
   - lightbox
   - reviews layout
   - glass dropdown (Bootstrap-safe)
========================================================= */

/* -------------------------
   VARIABLES + BASE
------------------------- */
.photoshot{
  background:#fff;
  padding:10px;
  max-width:90%;
  box-shadow:0 0 20px #000;
  -moz-box-shadow:0 0 20px #000;
  -webkit-box-shadow:0 0 20px #000;
  margin:auto;
}
.picshadowblur{
  box-shadow:0 0 20px #000;
  -moz-box-shadow:0 0 20px #000;
  -webkit-box-shadow:0 0 20px #000;
}
:root{
  --header-h:96px;
  --fab-red:#c40000;
  --fab-red-2:#c41616;
  --panel-radius:14px;
  --card-radius:16px;
  --shadow-sm:0 10px 24px rgba(0,0,0,.10);
  --shadow-md:0 12px 30px rgba(0,0,0,.18);
  --shadow-lg:0 24px 80px rgba(0,0,0,.55);
  --section-gap:26px;
  --content-max:1200px;
  --glass-bg:rgba(18,18,18,.35);
  --glass-border:rgba(255,255,255,.14);
  --glass-blur:14px;
  --text-on-dark:rgba(255,255,255,.92);
}
@media (max-width:992px){
  :root{--header-h:72px;--section-gap:20px;}
}
*{box-sizing:border-box;}
html,body{
  margin:0;
  padding:0;
  overflow-x:hidden;
}
body{
  background:url(/background/brushed-aluminum.jpg) no-repeat center center fixed;
  background-size:cover;
}

/* Typography helpers */
p{padding-bottom:15px;}
.clone-container{
  min-height:320px;
  padding:20px;
  color:var(--fab-red);
  text-align:justify;
}
p.clone-container{padding-bottom:15px;}
.BiggerText{
  display:block;
  color:var(--fab-red);
  font-family:"Times New Roman",Times,serif;
  font-size:2rem;
  padding-bottom:10px;
}

/* Utility icon holders */
.icon-maple{display:inline-flex;align-items:center;justify-content:center;}
.CanIcon{height:1.5em;vertical-align:middle;}

/* Legacy review floats (kept, but prefer grid below) */
div.left-review,div.right-review{margin-bottom:250px;}
a.review-left{max-width:250px;margin-right:20px;float:left;}
a.review-right{max-width:250px;margin-left:20px;float:right;}

/* -------------------------
   LINKS / MICRO-ANIMATIONS
------------------------- */
.contact-link{
  position:relative;
  display:inline-block;
  color:#c00000;
  text-decoration:none;
  font-weight:500;
  transition:color .35s ease;
  overflow:hidden;
}
.contact-link:hover{color:#1e5bff;}
.contact-link::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.35) 45%,rgba(255,255,255,.65) 50%,rgba(255,255,255,.35) 55%,transparent 100%);
  opacity:0;
}
.contact-link:hover::after{
  opacity:1;
  animation:solarSweep .9s ease forwards;
}
@keyframes solarSweep{from{left:-120%;}to{left:120%;}}

/* Quick Links — animated underline */
.quick-links{text-align:justify;}
.quick-links a{
  position:relative;
  display:inline-block;
  color:#0b5ed7;
  font-weight:700;
  text-decoration:none;
  padding-bottom:3px;
}
.quick-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0%;
  height:2px;
  background-color:#0b5ed7;
  transition:width .25s ease;
}
.quick-links a:hover::after{width:100%;}
.quick-links .hint{
  font-weight:600;
  color:rgba(11,94,215,.65);
  margin-left:6px;
}

/* -------------------------
   HEADER + WRAPPERS
------------------------- */
.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:2000;
  background:rgba(0,0,0,.50);
  backdrop-filter:saturate(120%) blur(2px);
}
.wrapper2>section{scroll-margin-top:var(--header-h);}
main.page-wrap{
  padding-top:calc(var(--header-h) + var(--section-gap));
  padding-bottom:60px;
}
.page-wrap-inner,.services-wrap{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
  padding-left:22px;
  padding-right:22px;
}

/* -------------------------
   HERO BAND (dark shaded bar)
------------------------- */
.page-hero,.services-hero{
  width:100%;
  max-width:none;
  margin:0 auto 14px auto;
  padding:18px 18px;
  border-radius:var(--panel-radius);
  background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.55));
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
}
.page-hero::before,.services-hero::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:#000;
  opacity:2%;
  pointer-events:none;
}
.page-hero .inner,.services-hero .inner{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
p.innerCR{color:#fff !important;font-weight:500;}
.page-hero h1,.services-hero h1{
  margin:0;
  font-family:"Rajdhani",sans-serif;
  font-weight:700;
  letter-spacing:.5px;
  font-size:clamp(28px,3vw,44px);
  text-shadow:1px 1px rgba(0,0,0,.65);
  text-align:left;
}
.page-hero p,.services-hero p{
  margin:6px 0 0 0;
  max-width:820px;
  color:rgba(255,255,255,.88);
  font-size:1.05rem;
}
.hero-badges{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.badge-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.92);
  font-weight:800;
  text-transform:uppercase;
  font-size:.80rem;
  letter-spacing:.35px;
  white-space:nowrap;
}
.badge-pill .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff0000;
  box-shadow:0 0 0 4px rgba(255,0,0,.18);
}

/* HERO 2-COLUMN SPLIT */
.services-hero .inner.hero-split{
  display:grid;
  grid-template-columns:minmax(220px,260px) 1fr;
  gap:18px;
  align-items:stretch;
}
.hero-left{display:flex;flex-direction:column;gap:14px;}
.hero-left__badges{display:flex;flex-direction:column;gap:10px;}
.hero-left.bottom-badges .hero-left__badges{margin-top:auto;}
.hero-left__actions{display:grid;gap:10px;}
.hero-left__btn{width:100%;}
.hero-left__badges .badge-pill{width:100%;justify-content:flex-start;}
.hero-right{min-width:0;}
@media (max-width:900px){
  .services-hero .inner.hero-split{grid-template-columns:1fr;}
  .hero-left__badges{margin-top:0;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;}
  .hero-left__badges .badge-pill{width:auto;}
}

/* -------------------------
   BUTTONS (shared)
------------------------- */
.btn-fab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  background:var(--fab-red);
  border:1px solid var(--fab-red);
  color:#fff !important;
  font-weight:800;
  text-decoration:none;
  padding:.55rem 1rem;
  border-radius:.5rem;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  box-shadow:0 0 10px #000;
}
.btn-fab:hover,.btn-fab:focus{
  background:#fff;
  border-color:var(--fab-red);
  color:var(--fab-red) !important;
  transform:translateY(-1px);
}
.btn-fab:active{transform:translateY(0);}

.btn-fab-quick{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:auto !important;
  background:#fff !important;
  border:1px solid var(--fab-red) !important;
  color:var(--fab-red) !important;
  font-weight:800;
  text-decoration:none;
  padding:.55rem 1rem;
  border-radius:.5rem;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  box-shadow:0 0 10px #000;
}
.btn-fab-quick:hover,.btn-fab-quick:focus{
  background:var(--fab-red) !important;
  border-color:#fc0000 !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.btn-fab-quick:active{transform:translateY(0);}

/* Legacy myButton (kept) */
.myButton{
  box-shadow:inset 0 1px 0 0 #f5978e;
  background:linear-gradient(to bottom,#f24537 5%,#c62d1f 100%);
  background-color:#f24537;
  border-radius:6px;
  border:1px solid #d02718;
  display:inline-block;
  cursor:pointer;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:15px;
  font-weight:bold;
  padding:6px 24px;
  text-decoration:none;
  text-shadow:0 1px 0 #810e05;
}
.myButton:hover{background:linear-gradient(to bottom,#c62d1f 5%,#f24537 100%);color:#fff !important;}
.myButton:active{position:relative;top:1px;}
.myButton:visited{color:#fff;}

/* Contact form submit */
.submitButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  background:var(--fab-red);
  border:1px solid var(--fab-red);
  color:#fff !important;
  font-weight:800;
  text-decoration:none;
  padding:.55rem 1rem;
  border-radius:.5rem;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  box-shadow:0 0 10px #000;
}
.submitButton:hover,.submitButton:focus{
  background:#fff !important;
  border-color:var(--fab-red);
  color:var(--fab-red) !important;
  transform:translateY(-1px);
  outline:none;
}
.submitButton:active{transform:translateY(0);}

/* Global button legacy */
button{color:#fff;background:var(--fab-red) !important;}

/* -------------------------
   PANELS / CARDS
------------------------- */
.panel-card{
  background:rgba(255,255,255,.92);
  border-radius:var(--panel-radius);
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  padding:20px;
}
.panel-head{
  padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:transparent;
}
.panel-head h2{
  margin:0;
  font-family:"Rajdhani",sans-serif;
  font-weight:700;
  color:var(--fab-red);
  letter-spacing:.2px;
  font-size:1.6rem;
}
.panel-head small{
  display:block;
  margin-top:4px;
  color:rgba(0,0,0,.75);
  font-weight:700;
}
.panel-body{padding:16px;}
.shadowblur{box-shadow:0 0 10px #000;}

/* -------------------------
   SERVICES GRID
------------------------- */
.services-note{color:#222;font-size:1rem;margin:10px 0 16px 0;}
.services-note strong{color:var(--fab-red);}
.services-actions{
  margin:14px 0 34px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  align-items:flex-start;
}
.svc-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
  margin:0;
  padding:0;
}
@media (max-width:1100px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:962px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{
  background:#fff !important;
  border-radius:14px;
  overflow:hidden;
  border:2px solid rgba(0,0,0,.99);
  transition:transform .18s ease,box-shadow .18s ease;
  display:flex;
  flex-direction:column;
  height:100%;
  box-shadow:0 0 10px #000;
}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.14);}
.svc-media{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
  min-height:130px;
}
.svc-media img{
  display:block;
  max-width:120px;
  height:auto;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.22));
}
.svc-body{padding:16px 16px 18px;flex:1;}
.svc-title{
  margin:0 0 8px 0;
  font-family:"Rajdhani",sans-serif;
  font-weight:700;
  color:var(--fab-red);
  font-size:1.35rem;
}
.svc-text{margin:0;color:#222;line-height:1.55;font-size:.98rem;}
.svc-footer{padding:12px 16px 16px;}
.svc-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(196,0,0,.08);
  border:1px solid rgba(196,0,0,.18);
  color:#222;
  font-weight:800;
  font-size:.80rem;
  text-transform:uppercase;
}
.svc-mini i{color:var(--fab-red);}

/* Facebook embed card */
.svc-card--fb .fb-embed{
  margin-top:10px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.svc-card--fb .fb-embed iframe{width:100%;height:420px;display:block;}
@media (min-width:1101px){.svc-card--fb{grid-column:span 2;}}

/* -------------------------
   DIRECTIONS — LAYOUT
------------------------- */
.directions-row{display:flex;align-items:flex-start;gap:24px;}
.directions-left,.directions-right{margin-top:0 !important;padding-top:0 !important;}
@media (max-width:962px){
  .directions-row{flex-direction:column;}
  .main-content{margin-left:0;padding:20px;}
}
.dir-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-md);
  padding:16px;
  width:100% !important;
}
.dir-map{width:100%;height:320px;border:0;border-radius:14px;display:block;}
.dir-toggle{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0 0 14px;
  width:100%;
  background:var(--fab-red) !important;
}
.dir-tab{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.28);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  text-transform:uppercase;
  font-size:12px;
  transition:.18s ease;
}
.dir-tab:hover{background:#fff !important;color:var(--fab-red) !important;}
.dir-tab.is-active{
  border-color:rgba(255,60,60,.55);
  box-shadow:0 0 0 3px rgba(255,60,60,.15);
}
.dir-panel{display:none;}
.dir-panel.is-active{display:block;}
.dir-address,.dir-contact,.dir-notes,.dir-h{color:var(--fab-red);}
.dir-steps{color:purple;}
.dir-steps-modal{color:yellow;}
.dir-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.btn-push-right{margin-left:auto;}
.dir-embed{
  display:block;
  white-space:pre-wrap;
  margin-top:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(0,0,0,.99);
  font-size:16px;
  font-family:"Trebuchet MS",Arial,sans-serif;
}
.directions-left{display:grid;gap:12px;}
.directions-left .dir-toggle{
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:10px;
  box-shadow:0 10px 22px rgba(0,0,0,.15);
  margin-bottom:0;
}
.directions-left .directions-panel,
.directions-left .directions-content,
.directions-left .dir-left-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-md);
  padding:16px;
}
.directions-left h3,.directions-left h4{margin:0 0 10px;font-weight:900;}

/* -------------------------
   DIRECTIONS MODAL
------------------------- */
.is-modal-open{overflow:hidden;}
.dir-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
}
.dir-modal[aria-hidden="false"]{display:block;}
.dir-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);}
.dir-modal__dialog{
  position:relative;
  width:min(720px,calc(100% - 24px));
  margin:84px auto 24px;
  background:rgba(20,20,20,.92);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.dir-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  background:rgba(255,255,255,.06);
}
.dir-modal__head h3{margin:0;font-weight:900;color:#fff;}
.dir-modal__close{
  border:0;
  background:var(--fab-red) !important;
  border-radius:10px;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  opacity:.85;
}
.dir-modal__close:hover{opacity:1;}
.dir-modal__body{padding:16px;}
.dir-modal__body p{color:rgba(255,255,255,.88);}
.dir-modal__body p strong{color:rgba(192,57,43,.95);}

/* -------------------------
   CONTACT
------------------------- */
.contact-card{
  background:cyan !important;
  border:1px solid rgba(0,0,0,.98);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-md);
  padding:10px;
  color:var(--fab-red);
}
.contact-map iframe{display:block;width:100%;height:340px;border:0;}

/* -------------------------
   FOOTER
------------------------- */
.site-footer{
  background:rgba(0,0,0,.62);
  border-top:1px solid rgba(255,255,255,.10);
  box-shadow:0 -18px 40px rgba(0,0,0,.35);
}
.site-footer__inner{
  max-width:var(--content-max);
  margin:0 auto;
  padding:22px 24px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:18px;
}
@media (max-width:900px){
  .site-footer__inner{grid-template-columns:1fr;text-align:center;}
}
.site-footer p{margin:0;}
.site-footer__social{display:inline-flex;gap:20px;align-items:center;}
.social-btn i{font-size:2.25rem;padding:20px;}
.social-btn:hover{color:#b6ff00;}

/* -------------------------
   DRAG TOP BUTTON
------------------------- */
#drag-top-btn{
  position:fixed;
  bottom:20px;
  right:20px;
  cursor:grab;
  z-index:4000;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
#drag-top-btn.visible{opacity:1;pointer-events:auto;}
#drag-top-btn:active{cursor:grabbing;box-shadow:0 2px 4px rgba(0,0,0,.2);}

/* Router helpers */
.is-hidden{display:none !important;}
.is-shown{display:block !important;}

/* -------------------------
   LIGHTBOX
------------------------- */
.lightbox-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.82);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}
.lightbox-overlay.is-open{opacity:1;pointer-events:auto;}
.lightbox-overlay img{
  max-width:calc(100vw - 36px);
  max-height:calc(100vh - 36px);
  width:auto;
  height:auto;
  border-radius:14px;
  box-shadow:0 18px 60px rgba(0,0,0,.60);
  transform:scale(.88);
  opacity:0;
  transition:transform .40s cubic-bezier(.22,.61,.36,1),opacity .22s ease;
  position:relative;
  z-index:1;
}
.lightbox-overlay.is-open img{transform:scale(1);opacity:1;}
.lightbox-overlay .lightbox-close{
  all:unset;
  box-sizing:border-box;
  position:absolute;
  top:14px;
  right:14px;
  z-index:100001;
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  outline:none !important;
  border:1px solid rgba(255,255,255,.25);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0px,rgba(255,255,255,.10) 1px,rgba(0,0,0,0.00) 2px,rgba(0,0,0,0.00) 4px),
    linear-gradient(180deg,#ff3b3b 0%,#c40000 45%,#6f0000 100%) !important;
  background-blend-mode:overlay,normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -6px 10px rgba(0,0,0,.45),0 10px 22px rgba(0,0,0,.65);
  transition:transform .14s ease,filter .14s ease;
}
.lightbox-overlay .lightbox-close::before,
.lightbox-overlay .lightbox-close::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:3px;
  background:#fff;
  border-radius:3px;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
  transform-origin:center;
}
.lightbox-overlay .lightbox-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.lightbox-overlay .lightbox-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.lightbox-overlay .lightbox-close:hover{filter:brightness(1.06) saturate(1.08);transform:scale(1.04);}
.lightbox-overlay .lightbox-close:active{transform:scale(0.96);}

/* -------------------------
   MAP WRAPS
------------------------- */
.map-wrap--center{
  display:flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  padding:20px 0;
}
.map-wrap--center img{max-width:100%;height:auto;display:block;}
.map-mini{width:100% !important;}

/* -------------------------
   REVIEWS 2-COLUMN
------------------------- */
.reviews-2col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.review-col{min-width:0;}
@media (max-width:962px){.reviews-2col{grid-template-columns:1fr;}}

/* -------------------------
   GLASS DROPDOWN (click-only, Bootstrap-safe)
------------------------- */
.main-menu .menu-item.dropdown > .dropdown-toggle::after{display:none !important;content:none !important;}
.main-menu .menu-item.dropdown{position:relative;}
.main-menu .menu-item.dropdown > .dropdown-menu{
  display:block !important;
  position:absolute;
  left:0;
  top:calc(100% - 2px);
  margin:0 !important;
  padding:10px 10px 12px;
  min-width:230px;
  z-index:99999;
  background:rgba(0,0,0,.78);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
  opacity:0;
  transform:translateY(-8px) scale(.985);
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease,transform 220ms cubic-bezier(.2,.9,.2,1),visibility 0s linear 220ms;
}
.main-menu .menu-item.dropdown.open > .dropdown-menu{
  opacity:1;
  transform:translateY(0) scale(1);
  visibility:visible;
  pointer-events:auto;
  transition:opacity 180ms ease,transform 220ms cubic-bezier(.2,.9,.2,1),visibility 0s linear 0s;
}
.main-menu .menu-item.dropdown:hover > .dropdown-menu{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.main-menu .menu-item.dropdown.open:hover > .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.main-menu .menu-item.dropdown.open::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:100%;
  height:14px;
  background:transparent;
}
.main-menu .menu-item.dropdown > .dropdown-menu li > a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-radius:999px;
  color:rgba(255,255,255,.94);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  background:transparent;
  transition:transform .14s ease,background .18s ease,box-shadow .18s ease;
}
.main-menu .menu-item.dropdown > .dropdown-menu li > a::before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:6px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,0));
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.main-menu .menu-item.dropdown > .dropdown-menu li > a:hover,
.main-menu .menu-item.dropdown > .dropdown-menu li > a:focus{
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  transform:translateY(-1px);
}
.main-menu .menu-item.dropdown > .dropdown-menu li > a:hover::before,
.main-menu .menu-item.dropdown > .dropdown-menu li > a:focus::before{opacity:1;}
.main-menu .menu-item.dropdown > .dropdown-menu li > a.is-active{
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 2px rgba(255,255,255,.08);
}
.main-menu .menu-item.dropdown > .dropdown-menu li > a.is-active::before{opacity:1;}
.main-menu .dropdown-toggle .caret i{font-size:.95em;opacity:.92;}
.main-menu .dropdown-menu{overflow:visible !important;}
.main-menu .menu-item.dropdown,.main-menu .menu-item.dropdown-sub{position:relative;}
.main-menu .menu-item.dropdown-sub > .dropdown-menu{z-index:9999 !important;margin-left:50px !important;}

/* MOBILE / SMALL-SCREEN DROPDOWN STACKING */
@media (max-width:992px){
  .main-menu .menu-item.dropdown,
  .main-menu .menu-item.dropdown-sub{position:static;}
  .main-menu .menu-item.dropdown > .dropdown-menu,
  .main-menu .menu-item.dropdown-sub > .dropdown-menu{
    position:static !important;
    width:100%;
    min-width:0;
    margin-top:6px;
    transform:none !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    border-radius:14px;
    box-shadow:none;
  }
  .main-menu .menu-item.dropdown:not(.open) > .dropdown-menu,
  .main-menu .menu-item.dropdown-sub:not(.open) > .dropdown-menu{display:none !important;}
  .main-menu .menu-item.dropdown-sub > .dropdown-menu{
    margin-left:12px;
    margin-right:12px;
    background:rgba(0,0,0,.65);
  }
  .main-menu .dropdown-menu li > a{padding:14px 16px;font-size:.95rem;}
  .main-menu .menu-item.dropdown.open > .dropdown-toggle .caret i,
  .main-menu .menu-item.dropdown-sub.open > .dropdown-toggle .caret i{transform:rotate(90deg);}
}
@media (max-width:992px){
  .main-menu .menu-item.dropdown-sub > .dropdown-toggle{padding-left:14px;opacity:.95;}
}

.home-link{color:red;text-decoration:none;}
.home-link:hover{color:blue;}

/* MOBILE MENU SCROLLING */
.fab-mobile-nav{
  max-height:100vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:24px;
}

/* Cursor overlay must never intercept input */
#bnz-pointer,
.bnz-pointer,
.cursor,
.cursor *{pointer-events:none !important;}

/* SAFETY: prevent scroll lock from getting “stuck” */
html,body{overflow-y:auto !important;}
body.is-modal-open{overflow:auto !important;}