html,
body{
    margin:0;
    padding:0;
    font-family:Arial,Helvetica,sans-serif;
    color:#ddd;
    background:
        radial-gradient(circle at bottom left,
            rgba(0,80,160,.35),
            transparent 35%),
        radial-gradient(circle at bottom right,
            rgba(0,80,160,.35),
            transparent 35%),
        #000;
}




a{
    color:#8fd;
    text-decoration:none;
}

a:hover{
    color:#fff;
}

@font-face{
    font-family:"EyeChartDisplay";
    src:url("/fonts/eyechart-display-caps-ssi.ttf") format("truetype");
}

.layout{
    display:flex;

}

.sidebar{
    width:260px;
    background:#1a1a1a;
    padding:20px;
    box-sizing:border-box;
    border-right:1px solid #333;
}

.logo{
    font-family:'EyeChart', Arial, sans-serif;
    font-size:28px;
    margin-bottom:30px;
    line-height:1.2;
}

.logo a{
    color:#9fe;
}

.content{
    flex:1;
    padding:40px;
    box-sizing:border-box;
}

.nav{
    list-style:none;
    margin:0;
    padding:0;
}

.nav li{
    margin:0;
    padding:0;
}

.nav li a{
    display:block;
    padding:10px 12px;
    border-radius:4px;
}

.nav li.active > a{
    background:#333;
    color:#fff;
}

.sub-nav{
    list-style:none;
    margin:0 0 10px 15px;
    padding:0;
}

.sub-nav li a{
    font-size:14px;
    padding:6px 12px;
    color:#aaa;
}

.sub-nav li.active > a{
    background:#2a2a2a;
    color:#fff;
}

.children-grid{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:30px;
}

.child-card{
    width:300px;
    background:#1c1c1c;
    border:1px solid #333;
}

.child-image img{
    width:100%;
    display:block;
}

.child-content{
    padding:20px;
}

.page-content{
    margin-top:30px;
    line-height:1.7;
}

pre{
    white-space:pre-wrap;
    font-family:inherit;
}






.sub-nav li a{
    font-size:14px;
    padding:4px 12px;
    line-height:1.3;
    color:#aaa;
}

.nav a{
    transition:all .15s ease;
}

.nav-section-title{
    padding:12px 12px 6px 12px;
    color:#8fd;
    font-weight:bold;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1px;
}

.logo{
    font-family:"EyeChartDisplay", Arial, sans-serif;
    line-height:1;
    color:#8ff;
    text-transform:uppercase;
}

.logo-big{
    font-size:24px;
}

.logo-small{
    font-size:20px;
}

.site-header{
    position:relative;
    height:220px;
    overflow:hidden;
}

.header-bg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.header-logo{
    position:absolute;
    left:20px;
    bottom:20px;
    max-width:700px;
    width:50%;
    height:auto;
}




.layout{
    display:flex;
    align-items:flex-start;
}

.sidebar{
    width:275px;
    padding-top:20px;

    background:transparent;

    border-right:none;
    box-shadow:none;
}

.content{
    flex:1;
    padding:30px 40px;
}

.nav-section-title{
    padding:12px 12px 6px 12px;
    color:#8fd;
    font-weight:bold;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1px;
}

.nav a{
    transition:all .15s ease;
}

.nav a.active,
.nav li.active > a{
    background:rgba(255,255,255,.08);
    color:#fff;
    border-left:3px solid #8ff;
}

.sub-nav li a{
    font-size:14px;
    padding:4px 12px;
    line-height:1.3;
    color:#aaa;
}


html,
body{
    margin:0;
    padding:0;
    font-family:Arial,Helvetica,sans-serif;
    color:#ddd;

    background:
        radial-gradient(
            ellipse at bottom left,
            rgba(0,100,180,.45) 0%,
            rgba(0,60,120,.25) 25%,
            transparent 60%
        ),
        radial-gradient(
            ellipse at bottom right,
            rgba(0,100,180,.45) 0%,
            rgba(0,60,120,.25) 25%,
            transparent 60%
        ),
        linear-gradient(
            to bottom,
            #000 0%,
            #000 55%,
            #001020 100%
        );

    background-attachment:fixed;
}

.content{
    flex:1;
    padding:30px 40px;
    position:relative;
}

.content:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        radial-gradient(
            ellipse at center bottom,
            rgba(0,100,180,.08),
            transparent 70%
        );
}


.sidebar{
    width:275px;
    padding-top:20px;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.10),
            rgba(0,20,40,.20)
        );

    border-right:none;
}


.site-header{
    position:relative;
    height:180px;
    overflow:hidden;
}

.header-bg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;

    object-fit:cover;

    /* move image upward */
    object-position:center 20%;
}



.hero-map img{
    display:block;
    width:100%;
    mask-image:radial-gradient(
        ellipse at center,
        black 60%,
        rgba(0,0,0,.9) 75%,
        rgba(0,0,0,.5) 90%,
        transparent 100%
    );
}



.site-footer{
    margin-top:3rem;
    padding:1rem 0;
    border-top:1px solid rgba(255,255,255,.1);
    font-size:.9rem;
    color:#888;
    text-align:center;
}

.site-footer a{
    color:#8fd;
    text-decoration:none;
}

.site-footer a:hover{
    color:#fff;
}