/* =========================================================
   PUBLIC DAW WEBSITE — OLD WINDOWS / GOVERNMENT STYLE
   Pages with class="restricted-page" keep the red archive style.
   ========================================================= */

body:not(.restricted-page){
    background:#5c88b1;
    color:#000;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:14px;
}

/*
    PUBLIC BANNER
*/

body:not(.restricted-page) .banner{
    display:block;
    width:900px;
    max-width:calc(100% - 30px);
    height:auto;
    margin:18px auto 0;
    border:2px solid #ffffff;
    border-bottom:none;
    box-shadow:
        2px 2px 0 #163c63,
        -1px -1px 0 #9dbbd6;
}

/*
    PUBLIC PAGE CONTAINER
*/

body:not(.restricted-page) .page{
    width:900px;
    max-width:calc(100% - 30px);
    margin:0 auto 30px;
    background:#ffffff;
    border:2px solid #d6e5f3;
    box-shadow:
        2px 2px 0 #163c63,
        -1px -1px 0 #9dbbd6;
}

/*
    PUBLIC HEADER
*/

body:not(.restricted-page) header{
    padding:18px 22px;
    background:linear-gradient(
        to right,
        #0a3f7d,
        #2e74b5
    );
    border-bottom:2px solid #082f5d;
    color:#ffffff;
}

body:not(.restricted-page) header h1{
    margin:0;
    color:#ffffff;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:32px;
    letter-spacing:1px;
    text-shadow:1px 1px #082f5d;
}

body:not(.restricted-page) header p{
    margin-top:7px;
    color:#dcecff;
}

/*
    PUBLIC NAVIGATION
*/

body:not(.restricted-page) nav{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0;
    padding:0;
    background:#d4d0c8;
    border-top:1px solid #ffffff;
    border-bottom:2px solid #808080;
}

body:not(.restricted-page) nav a{
    display:block;
    padding:10px 13px;
    color:#003f7f;
    background:#d4d0c8;
    border-right:1px solid #808080;
    border-left:1px solid #ffffff;
    text-decoration:none;
    font-weight:bold;
    text-transform:none;
    letter-spacing:0;
}

body:not(.restricted-page) nav a:hover{
    color:#ffffff;
    background:#0a4f96;
    text-shadow:none;
    text-decoration:none;
}

/*
    PUBLIC MAIN CONTENT
*/

body:not(.restricted-page) main{
    min-height:420px;
    padding:24px;
    background:#ffffff;
}

body:not(.restricted-page) section{
    margin-bottom:35px;
}

body:not(.restricted-page) h2{
    margin-top:0;
    padding:7px 10px;
    color:#ffffff;
    background:linear-gradient(
        to right,
        #0a4f96,
        #5d91c3
    );
    border:1px solid #083966;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:21px;
    font-weight:bold;
}

body:not(.restricted-page) h3{
    color:#124f87;
    font-family:Tahoma,Verdana,Arial,sans-serif;
}

body:not(.restricted-page) p{
    line-height:1.55;
}

body:not(.restricted-page) li{
    margin-bottom:8px;
}

body:not(.restricted-page) a{
    color:#0000cc;
}

body:not(.restricted-page) a:hover{
    color:#cc0000;
    text-decoration:underline;
}

/*
    PUBLIC NOTICE BOXES
*/

body:not(.restricted-page) .notice{
    margin:20px 0;
    padding:14px;
    color:#000000;
    background:#fff8cc;
    border:1px solid #b49b3c;
    border-left:5px solid #d1a900;
    box-shadow:none;
}


/*
    PUBLIC TEAM SECTION
*/

body:not(.restricted-page) .team-photo{
    display:block;
    width:100%;
    max-width:750px;
    height:auto;
    margin:20px auto;
    background:#ffffff;
    border:2px solid #9ab0c4;
    box-shadow:
        2px 2px 0 #163c63,
        -1px -1px 0 #dcecff;
}

body:not(.restricted-page) .team-names{
    margin-top:15px;
    padding:15px;
    text-align:center;
    line-height:1.8;
    background:#f4f7fa;
    border:1px solid #9ab0c4;
    border-left:5px solid #326a9d;
}

body:not(.restricted-page) .team-names strong{
    display:block;
    margin-bottom:10px;
    color:#174f85;
    font-size:15px;
}

/*
    PUBLIC FOOTER
*/

body:not(.restricted-page) footer{
    padding:14px;
    text-align:center;
    color:#ffffff;
    background:#174f86;
    border-top:2px solid #073563;
    font-size:11px;
}

body:not(.restricted-page) footer p{
    margin:4px;
}

/*
    PUBLIC ABOUT DROPDOWN
*/

body:not(.restricted-page) .dropdown{
    position:relative;
    display:inline-block;
}

body:not(.restricted-page) .dropdown-content{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    z-index:1000;
    background:#f1f1f1;
    border:1px solid #404040;
    box-shadow:3px 3px 0 rgba(0,0,0,.35);
}

body:not(.restricted-page) .dropdown-content a{
    display:block;
    padding:10px 13px;
    color:#000000;
    background:#f1f1f1;
    border-bottom:1px solid #b7b7b7;
    white-space:nowrap;
}

body:not(.restricted-page) .dropdown-content a:last-child{
    border-bottom:none;
}

body:not(.restricted-page) .dropdown-content a:hover{
    color:#ffffff;
    background:#0a4f96;
    text-decoration:none;
}

body:not(.restricted-page) .dropdown:hover .dropdown-content{
    display:block;
}

body:not(.restricted-page) .dropdown-content.dropdown-open{
    display:block;
}

/*
    PUBLIC HISTORY / REDACTED TEXT
*/

body:not(.restricted-page) #history h3{
    margin-top:25px;
    margin-bottom:5px;
}

body:not(.restricted-page) .redacted-text{
    padding:12px;
    color:#444444;
    background:#eeeeee;
    border:1px solid #a8a8a8;
    border-left:4px solid #426d99;
}

body:not(.restricted-page) .redacted{
    padding:0 5px;
    color:#000000;
    background:#000000;
    user-select:none;
}

/*
    PUBLIC NEWS ARTICLES
*/

body:not(.restricted-page) .news-article{
    margin:22px 0;
    padding:18px;
    color:#000000;
    background:#f4f7fa;
    border:1px solid #9ab0c4;
    border-left:5px solid #326a9d;
}

body:not(.restricted-page) .news-article h3{
    margin-top:0;
    color:#174f85;
}

body:not(.restricted-page) .news-article a{
    display:inline-block;
    margin-top:5px;
    color:#0000cc;
    font-weight:bold;
    text-decoration:underline;
}

body:not(.restricted-page) .news-article a:hover{
    color:#cc0000;
}

body:not(.restricted-page) .article-date{
    color:#555555;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

body:not(.restricted-page) .unusual-news{
    background:#eef5fb;
    border-color:#7194b6;
    border-left-color:#174f85;
}

body:not(.restricted-page) .missing-person-news{
    background:#fff8d8;
    border:1px solid #b49b3c;
    border-left:6px solid #d1a900;
    box-shadow:none;
}

/*
    PUBLIC LOGIN FORM
*/

body:not(.restricted-page) .login-section{
    max-width:650px;
    margin:0 auto;
}

body:not(.restricted-page) #login-form{
    margin-top:25px;
    padding:20px;
    color:#000000;
    background:#ece9d8;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-right:2px solid #808080;
    border-bottom:2px solid #808080;
}

body:not(.restricted-page) .form-group{
    margin-bottom:20px;
}

body:not(.restricted-page) #login-form label{
    display:block;
    margin-bottom:7px;
    color:#003f7f;
    font-weight:bold;
    text-transform:none;
    letter-spacing:0;
}

body:not(.restricted-page) #login-form input{
    width:100%;
    box-sizing:border-box;
    padding:9px;
    color:#000000;
    background:#ffffff;
    border-top:2px solid #808080;
    border-left:2px solid #808080;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    outline:none;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:14px;
}

body:not(.restricted-page) #login-form input:focus{
    border-color:#1b62a1;
    box-shadow:0 0 0 1px #1b62a1;
}

body:not(.restricted-page) #login-form button{
    padding:8px 18px;
    color:#000000;
    background:#d4d0c8;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-right:2px solid #808080;
    border-bottom:2px solid #808080;
    font-weight:bold;
    text-transform:none;
    letter-spacing:0;
    cursor:pointer;
}

body:not(.restricted-page) #login-form button:hover{
    color:#000000;
    background:#e6e3dc;
    box-shadow:none;
}

body:not(.restricted-page) #login-form button:active{
    border-top:2px solid #808080;
    border-left:2px solid #808080;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
}

body:not(.restricted-page) .login-message{
    min-height:25px;
    margin-top:18px;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-weight:bold;
}

body:not(.restricted-page) .access-denied{
    color:#b00000;
}

body:not(.restricted-page) .access-accepted{
    color:#006600;
}

body:not(.restricted-page) .portal-help{
    color:#555555;
    font-size:12px;
}

/*
    PUBLIC CONTACT PAGE
*/

body:not(.restricted-page) .contact-details{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:25px 0;
}

body:not(.restricted-page) .contact-card{
    padding:16px;
    color:#000000;
    background:#f1f5f9;
    border:1px solid #9aafc3;
    border-left:5px solid #326a9d;
}

body:not(.restricted-page) .contact-card h3{
    margin-top:0;
    color:#174f85;
}

body:not(.restricted-page) .contact-card p{
    margin-bottom:0;
}

body:not(.restricted-page) .contact-form-section{
    margin-top:35px;
}

body:not(.restricted-page) .contact-form{
    margin-top:20px;
    padding:20px;
    color:#000000;
    background:#ece9d8;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-right:2px solid #808080;
    border-bottom:2px solid #808080;
    box-shadow:none;
}

body:not(.restricted-page) .contact-form label{
    display:block;
    margin-bottom:7px;
    color:#003f7f;
    font-weight:bold;
    text-transform:none;
    letter-spacing:0;
}

body:not(.restricted-page) .contact-form input,
body:not(.restricted-page) .contact-form select,
body:not(.restricted-page) .contact-form textarea{
    width:100%;
    box-sizing:border-box;
    padding:9px;
    color:#000000;
    background:#ffffff;
    border-top:2px solid #808080;
    border-left:2px solid #808080;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    outline:none;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:14px;
}

body:not(.restricted-page) .contact-form input:focus,
body:not(.restricted-page) .contact-form select:focus,
body:not(.restricted-page) .contact-form textarea:focus{
    border-color:#1b62a1;
    box-shadow:0 0 0 1px #1b62a1;
}

body:not(.restricted-page) .contact-form button{
    padding:8px 18px;
    color:#000000;
    background:#d4d0c8;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-right:2px solid #808080;
    border-bottom:2px solid #808080;
    font-weight:bold;
    text-transform:none;
    letter-spacing:0;
    cursor:pointer;
}

body:not(.restricted-page) .contact-form button:hover{
    color:#000000;
    background:#e6e3dc;
    box-shadow:none;
}

body:not(.restricted-page) .contact-form button:active{
    border-top:2px solid #808080;
    border-left:2px solid #808080;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
}

body:not(.restricted-page) .transmission-warning{
    margin-top:20px;
    padding:12px;
    color:#444444;
    background:#fff8cc;
    border:1px solid #b49b3c;
    border-left:5px solid #d1a900;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:12px;
}

/*
    PUBLIC TABLES
*/

body:not(.restricted-page) table{
    width:100%;
    border-collapse:collapse;
}

body:not(.restricted-page) th{
    padding:9px;
    color:#ffffff;
    background:#174f85;
    border:1px solid #0c3152;
    text-align:left;
}

body:not(.restricted-page) td{
    padding:9px;
    color:#000000;
    background:#ffffff;
    border:1px solid #9aafc3;
}

body:not(.restricted-page) tr:nth-child(even) td{
    background:#edf3f8;
}

/*
    PUBLIC GENERIC BUTTONS
*/

body:not(.restricted-page) button{
    padding:8px 15px;
    color:#000000;
    background:#d4d0c8;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-right:2px solid #808080;
    border-bottom:2px solid #808080;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    cursor:pointer;
}

body:not(.restricted-page) button:hover{
    background:#e6e3dc;
}

body:not(.restricted-page) button:active{
    border-top:2px solid #808080;
    border-left:2px solid #808080;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
}

/*
    PUBLIC MOBILE LAYOUT
*/

@media (max-width:700px){

    body:not(.restricted-page) .banner{
        width:calc(100% - 20px);
        min-height:120px;
        margin-top:10px;
        object-fit:cover;
        object-position:center;
    }

    body:not(.restricted-page) .page{
        width:calc(100% - 20px);
        max-width:none;
    }

    body:not(.restricted-page) nav{
        display:block;
    }

    body:not(.restricted-page) nav a{
        display:block;
        border-right:none;
        border-bottom:1px solid #808080;
    }

    body:not(.restricted-page) .dropdown{
        display:block;
    }

    body:not(.restricted-page) .dropdown-content{
        position:static;
        width:100%;
        margin-top:0;
        box-shadow:none;
    }

    body:not(.restricted-page) main{
        padding:16px;
    }

    body:not(.restricted-page) h2{
        font-size:18px;
    }

    body:not(.restricted-page) header h1{
        font-size:25px;
    }

    body:not(.restricted-page) .contact-details{
        grid-template-columns:1fr;
    }

    body:not(.restricted-page) .contact-form{
        padding:15px;
    }
}

/* =========================================================
   RESTRICTED DAW ARCHIVE — DARK ORANGE INTERNAL THEME
   Applies only to pages using: <body class="restricted-page">
   ========================================================= */

body.restricted-page{
    margin:0;
    background:#050505;
    color:#d8d8d8;
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
}

body.restricted-page .page{
    width:900px;
    max-width:calc(100% - 30px);
    margin:30px auto;
    background:#111;
    border:2px solid #5f3900;
    box-shadow:0 0 25px rgba(255,145,0,.35);
}

body.restricted-page header{
    padding:20px;
    background:#241700;
    border-bottom:2px solid #d88700;
}

body.restricted-page header h1{
    margin:0;
    color:#d88700;
    font-size:42px;
    letter-spacing:3px;
    text-shadow:0 0 10px rgba(255,145,0,.35);
}

body.restricted-page header p{
    margin:8px 0 0;
    color:#aaa;
}

body.restricted-page main{
    min-height:520px;
    padding:25px;
    background:#111;
}

body.restricted-page h2{
    margin-top:0;
    padding-bottom:8px;
    color:#d88700;
    border-bottom:1px solid #5f3900;
    letter-spacing:1px;
}

body.restricted-page h3{
    color:#d88700;
}

body.restricted-page p,
body.restricted-page li,
body.restricted-page dd,
body.restricted-page td{
    line-height:1.55;
}

body.restricted-page a{
    color:#d88700;
    text-decoration:none;
}

body.restricted-page a:hover{
    color:#fff;
    text-shadow:0 0 8px #ff9d00;
}

body.restricted-page .notice{
    margin:18px 0;
    padding:14px;
    color:#d8d8d8;
    background:#171006;
    border:1px solid #5f3900;
    border-left:5px solid #d88700;
}

body.restricted-page .internal-navigation{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0 24px;
    padding:12px;
    background:#0b0b0b;
    border:1px solid #5f3900;
}

body.restricted-page button,
body.restricted-page .internal-nav-button,
body.restricted-page #logout-button{
    padding:9px 13px;
    color:#d88700;
    background:#181006;
    border:1px solid #5f3900;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:bold;
    cursor:pointer;
}

body.restricted-page button:hover,
body.restricted-page button:focus,
body.restricted-page .internal-nav-button:hover,
body.restricted-page .internal-nav-button.active,
body.restricted-page #logout-button:hover{
    color:#fff;
    border-color:#ff9d00;
    box-shadow:0 0 10px rgba(255,145,0,.35);
    text-shadow:0 0 8px #ff9d00;
    outline:none;
}

body.restricted-page .internal-section{
    display:none;
    margin:0;
}

body.restricted-page .internal-section.active{
    display:block;
}

body.restricted-page .internal-panel{
    padding:16px;
    color:#d8d8d8;
    background:#0b0b0b;
    border:1px solid #3b2a10;
    box-shadow:inset 0 0 18px rgba(255,145,0,.035);
}

body.restricted-page .archive-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    margin-top:18px;
}

body.restricted-page .classification{
    display:inline-block;
    margin-bottom:7px;
    color:#d88700;
    font-size:12px;
    font-weight:bold;
    letter-spacing:1px;
}

body.restricted-page .record-meta{
    display:grid;
    grid-template-columns:max-content 1fr;
    gap:6px 14px;
    margin:12px 0;
}

body.restricted-page .record-meta dt{
    color:#aaa;
    font-weight:bold;
}

body.restricted-page .record-meta dd{
    margin:0;
}

body.restricted-page .archive-file{
    display:block;
    margin:10px 0;
    padding:12px;
    background:#0b0b0b;
    border:1px solid #3b2a10;
}

body.restricted-page .archive-file strong{
    display:block;
    margin-bottom:5px;
    color:#d88700;
}

body.restricted-page .archive-dropdown{
    position:relative;
    display:inline-block;
}

body.restricted-page .archive-dropdown-menu{
    display:none;
    position:absolute;
    top:calc(100% + 4px);
    left:0;
    min-width:210px;
    padding:8px;
    background:#111;
    border:1px solid #5f3900;
    box-shadow:0 10px 25px rgba(0,0,0,.65);
    z-index:100;
}

body.restricted-page .archive-dropdown:hover .archive-dropdown-menu,
body.restricted-page .archive-dropdown:focus-within .archive-dropdown-menu{
    display:grid;
    gap:6px;
}

body.restricted-page .archive-dropdown-menu .internal-nav-button{
    width:100%;
    margin:0;
    text-align:left;
}

body.restricted-page .status-active{
    color:#63c174;
}

body.restricted-page .status-warning{
    color:#d88700;
}

body.restricted-page .status-critical{
    color:#ff9d00;
    text-shadow:0 0 5px rgba(255,145,0,.35);
}

body.restricted-page .redacted{
    padding:0 5px;
    color:#050505;
    background:#050505;
    user-select:none;
}

body.restricted-page .internal-table{
    width:100%;
    margin:18px 0;
    border-collapse:collapse;
}

body.restricted-page .internal-table th{
    padding:10px;
    color:#d88700;
    background:#241700;
    border:1px solid #5f3900;
    text-align:left;
}

body.restricted-page .internal-table td{
    padding:10px;
    color:#d8d8d8;
    background:#0b0b0b;
    border:1px solid #3b2a10;
}

body.restricted-page .internal-table tr:nth-child(even) td{
    background:#100d08;
}

body.restricted-page .application-form{
    display:grid;
    gap:14px;
    max-width:680px;
}

body.restricted-page .application-form label{
    display:grid;
    gap:6px;
    color:#d8d8d8;
    font-weight:bold;
}

body.restricted-page input,
body.restricted-page select,
body.restricted-page textarea{
    width:100%;
    box-sizing:border-box;
    padding:10px;
    color:#ddd;
    background:#090909;
    border:1px solid #555;
    font:inherit;
}

body.restricted-page textarea{
    min-height:130px;
    resize:vertical;
}

body.restricted-page input:focus,
body.restricted-page select:focus,
body.restricted-page textarea:focus{
    border-color:#ff9d00;
    box-shadow:0 0 10px rgba(255,145,0,.35);
    outline:none;
}

body.restricted-page audio,
body.restricted-page video{
    max-width:100%;
    margin-top:10px;
}

body.restricted-page footer{
    padding:16px;
    color:#999;
    background:#090909;
    border-top:1px solid #5f3900;
    text-align:center;
    font-size:11px;
}

body.restricted-page footer p{
    margin:4px;
}

body.restricted-page ::selection{
    color:#050505;
    background:#d88700;
}

body.restricted-page *{
    scrollbar-color:#5f3900 #090909;
}

@media (max-width:700px){
    body.restricted-page .page{
        width:calc(100% - 20px);
        max-width:none;
        margin:10px auto;
    }

    body.restricted-page header h1{
        font-size:28px;
    }

    body.restricted-page main{
        padding:16px;
    }

    body.restricted-page .internal-navigation{
        display:grid;
    }

    body.restricted-page .archive-dropdown,
    body.restricted-page .archive-dropdown > button{
        width:100%;
    }

    body.restricted-page .archive-dropdown-menu{
        position:static;
        width:auto;
        margin-top:5px;
    }

    body.restricted-page .internal-table{
        display:block;
        overflow-x:auto;
    }
}