/* ============================================================
   NITETIME.NET GLOBAL NETWORK BAR
   ============================================================ */

#ntbar-root,
#ntbar-root * {
    box-sizing: border-box !important;
}

#ntbar-root {
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100vw !important;
    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 2147483000 !important;

    background: #000 !important;
    color: #00b82e !important;

    border: 0 !important;
    border-bottom: 1px solid #00a82a !important;

    font-family:
        "DejaVu Sans Mono",
        "Liberation Mono",
        "Courier New",
        monospace !important;

    font-size: 14px !important;
    line-height: 1.2 !important;

    text-align: left !important;
}


/* ============================================================
   PAGE SPACER
   Keeps page content below fixed network bar
   ============================================================ */

#ntbar-spacer {
    display: block !important;

    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}


/* ============================================================
   TOP BAR
   ============================================================ */

#ntbar-root .ntbar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    height: 49px !important;
    min-height: 49px !important;

    margin: 0 !important;
    padding: 0 10px 0 0 !important;
}


/* ============================================================
   BRAND / LOGO
   ============================================================ */

#ntbar-root .ntbar-brand {
    display: flex !important;
    align-items: center !important;

    height: 49px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #00ff41 !important;
    background: transparent !important;

    font-weight: bold !important;
    text-decoration: none !important;

    text-shadow: 0 0 4px rgba(0, 255, 65, .4) !important;
}

#ntbar-root .ntbar-logo {
    display: block !important;

    height: 49px !important;
    width: auto !important;
    max-height: 49px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

#ntbar-root .ntbar-service {
    margin-left: 10px !important;

    color: #008f24 !important;

    font-weight: normal !important;
    line-height: 49px !important;
}


/* ============================================================
   NETWORK BUTTON
   ============================================================ */

#ntbar-root .ntbar-button {
    appearance: none !important;

    margin: 0 !important;
    padding: 4px 8px !important;

    background: #000 !important;
    color: #00ff41 !important;

    border: 1px solid #008f24 !important;
    border-radius: 0 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: normal !important;

    cursor: pointer !important;
}

#ntbar-root .ntbar-button:hover,
#ntbar-root .ntbar-button:focus {
    background: #00ff41 !important;
    color: #000 !important;

    border-color: #00ff41 !important;

    outline: none !important;
}


/* ============================================================
   NETWORK MENU
   ============================================================ */

#ntbar-root .ntbar-menu {
    display: none !important;

    position: absolute !important;

    top: 50px !important;
    right: 8px !important;

    width: 360px !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 50px) !important;
    overflow-y: auto !important;

    margin: 0 !important;
    padding: 10px !important;

    background: #000 !important;
    color: #00b82e !important;

    border: 1px solid #00a82a !important;
    border-top: 0 !important;

    box-shadow: none !important;
}

#ntbar-root .ntbar-menu.open {
    display: block !important;
}


/* ============================================================
   MENU TITLE
   ============================================================ */

#ntbar-root .ntbar-title {
    display: block !important;

    margin: 0 0 8px 0 !important;
    padding: 0 0 6px 0 !important;

    color: #00ff41 !important;
    background: transparent !important;

    border-bottom: 1px solid #006b1b !important;

    font-weight: bold !important;
}


/* ============================================================
   MAIN NETWORK LINKS
   ============================================================ */

#ntbar-root .ntbar-links {
    display: grid !important;

    grid-template-columns: 1fr 1fr !important;
    gap: 2px 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#ntbar-root .ntbar-links a {
    display: block !important;

    margin: 0 !important;
    padding: 5px 4px !important;

    color: #00d936 !important;
    background: transparent !important;

    border: 0 !important;

    text-decoration: none !important;

    font-family: inherit !important;
    font-size: 14px !important;
}

#ntbar-root .ntbar-links a:hover,
#ntbar-root .ntbar-links a:focus,
#ntbar-root .ntbar-links a.ntbar-current {
    color: #000 !important;
    background: #00ff41 !important;

    text-shadow: none !important;
    outline: none !important;
}


/* ============================================================
   SHOP / PHYSICAL GOODS
   ============================================================ */

#ntbar-root .ntbar-shop {
    margin: 10px 0 0 0 !important;
    padding: 8px 4px 0 4px !important;

    border-top: 1px solid #006b1b !important;
}

#ntbar-root .ntbar-shop-title {
    display: block !important;

    margin: 0 0 6px 0 !important;
    padding: 0 !important;

    color: #008f24 !important;
    background: transparent !important;

    font-size: 12px !important;
    font-weight: bold !important;
}

#ntbar-root .ntbar-shop-links {
    display: grid !important;

    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#ntbar-root .ntbar-shop-links a {
    display: block !important;

    margin: 0 !important;
    padding: 5px 6px !important;

    color: #00ff41 !important;
    background: #000 !important;

    border: 1px solid #006b1b !important;

    text-decoration: none !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: normal !important;

    text-align: left !important;
}

#ntbar-root .ntbar-shop-links a::before {
    content: "> " !important;

    color: #008f24 !important;
}

#ntbar-root .ntbar-shop-links a:hover,
#ntbar-root .ntbar-shop-links a:focus {
    color: #000 !important;
    background: #00ff41 !important;

    border-color: #00ff41 !important;

    outline: none !important;
}

#ntbar-root .ntbar-shop-links a:hover::before,
#ntbar-root .ntbar-shop-links a:focus::before {
    color: #000 !important;
}


/* ============================================================
   MUSIC OUTLETS
   ============================================================ */

#ntbar-root .ntbar-music {
    margin: 10px 0 0 0 !important;
    padding: 8px 4px 0 4px !important;

    border-top: 1px solid #006b1b !important;
}

#ntbar-root .ntbar-music-title {
    display: block !important;

    margin: 0 0 6px 0 !important;
    padding: 0 !important;

    color: #008f24 !important;
    background: transparent !important;

    font-size: 12px !important;
    font-weight: bold !important;
}

#ntbar-root .ntbar-music-links {
    display: grid !important;

    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#ntbar-root .ntbar-music-links a {
    display: block !important;

    margin: 0 !important;
    padding: 5px 6px !important;

    color: #00ff41 !important;
    background: #000 !important;

    border: 1px solid #006b1b !important;

    text-decoration: none !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: normal !important;

    text-align: left !important;
}

#ntbar-root .ntbar-music-links a::before {
    content: "> " !important;

    color: #008f24 !important;
}

#ntbar-root .ntbar-music-links a:hover,
#ntbar-root .ntbar-music-links a:focus {
    color: #000 !important;
    background: #00ff41 !important;

    border-color: #00ff41 !important;

    outline: none !important;
}

#ntbar-root .ntbar-music-links a:hover::before,
#ntbar-root .ntbar-music-links a:focus::before {
    color: #000 !important;
}


/* ============================================================
   PROTOCOL LIST
   ============================================================ */

#ntbar-root .ntbar-protocols {
    margin: 10px 0 0 0 !important;
    padding: 8px 4px 0 4px !important;

    border-top: 1px solid #006b1b !important;

    color: #008f24 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}


/* ============================================================
   FOOTER
   ============================================================ */

#ntbar-root .ntbar-footer {
    margin: 8px 0 0 0 !important;
    padding: 7px 4px 0 4px !important;

    border-top: 1px solid #006b1b !important;

    color: #00ff41 !important;
    background: transparent !important;

    font-size: 12px !important;
    font-weight: bold !important;
}


/* ============================================================
   PHONE
   ============================================================ */

@media screen and (max-width: 600px) {

    #ntbar-root {
        font-size: 13px !important;
    }

    #ntbar-root .ntbar-service {
        display: none !important;
    }

    #ntbar-root .ntbar-menu {
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        border-left: 0 !important;
        border-right: 0 !important;
    }

    #ntbar-root .ntbar-links {
        grid-template-columns: 1fr !important;
    }

    #ntbar-root .ntbar-shop-links,
    #ntbar-root .ntbar-music-links {
        grid-template-columns: 1fr 1fr !important;
    }
}


/* ============================================================
   MODERN PAGE TRANSITIONS
   Same-origin navigation
   ============================================================ */

@view-transition {
    navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 120ms;
    animation-timing-function: linear;
}


/* ============================================================
   TOP BAR ACTIONS — SUPPORT + NETWORK
   ============================================================ */

#ntbar-root .ntbar-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;

    margin-left: auto !important;
    padding: 0 !important;
}

#ntbar-root .ntbar-support {
    display: inline-block !important;

    margin: 0 !important;
    padding: 4px 8px !important;

    background: #000 !important;
    color: #00ff41 !important;

    border: 1px solid #008f24 !important;
    border-radius: 0 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: normal !important;
    line-height: normal !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

#ntbar-root .ntbar-support:hover,
#ntbar-root .ntbar-support:focus {
    background: #00ff41 !important;
    color: #000 !important;

    border-color: #00ff41 !important;

    text-decoration: none !important;
    outline: none !important;
}

/* Network hierarchy: permanent destinations, additional outlets in More. */
#ntbar-root .ntbar-inner { padding-right: 12px !important; }
#ntbar-root .ntbar-primary { display: flex !important; align-items: center !important; gap: 5px !important; margin-left: auto !important; }
#ntbar-root .ntbar-primary a { display: block !important; padding: 8px !important; color: #00ff41 !important; font-size: 12px !important; text-decoration: none !important; white-space: nowrap !important; }
#ntbar-root .ntbar-primary a:hover, #ntbar-root .ntbar-primary a[aria-current] { background: #123d1d !important; }
#ntbar-root .ntbar-primary a:focus-visible, #ntbar-root .ntbar-button:focus-visible { outline: 2px solid #00ff41 !important; outline-offset: 2px !important; }
#ntbar-root .ntbar-service { color: #6ac17f !important; }
#ntbar-spacer { height: var(--ntbar-height, 50px) !important; min-height: var(--ntbar-height, 50px) !important; }
@media (max-width: 760px) {
 #ntbar-root { height: 90px !important; min-height: 90px !important; }
 #ntbar-root .ntbar-inner { height: 89px !important; flex-wrap: wrap !important; padding: 0 6px !important; align-content: center !important; }
 #ntbar-root .ntbar-brand, #ntbar-root .ntbar-logo { height: 40px !important; max-height: 40px !important; }
 #ntbar-root .ntbar-service { display: inline !important; line-height: 40px !important; font-size: 12px !important; }
 #ntbar-root .ntbar-primary { width: 100% !important; height: 43px !important; gap: 1px !important; justify-content: space-between !important; }
 #ntbar-root .ntbar-primary a { padding: 8px 3px !important; font-size: 11px !important; }
 #ntbar-root .ntbar-button { padding: 5px !important; font-size: 11px !important; }
 #ntbar-root .ntbar-menu { top: 90px !important; max-height: calc(100dvh - 90px) !important; }
 #ntbar-spacer { height: var(--ntbar-height, 90px) !important; min-height: var(--ntbar-height, 90px) !important; }
}
