:root {
    /* Main Theme */
    --primary_darkest  : #003399;
    --primary_darker   : #0066cc;
    --primary_dark     : #0077ee;
    --primary          : #1188ff;
    --primary_lighter  : #44bbff;
    --primary_lightest : #DDEEFF;
    
    /* tables */
    --table_text       : #08447F;
    --table_background : #BDDFFF;

    /* mono */
    --mono_lightest    : #ffffff;
    --mono_light       : #cccccc;
    --mono             : #999999;
    --mono_dark        : #333333;
    --mono_darkest     : #000000;
}

body {
    background: var(--mono_lightest);
    color: var(--mono_darkest);
    font-family: georgia, serif;
    //font-family: Helvetica Neue, Helvetica, Arial, Verdana, sans-serif;
    margin:0px 0px;
    padding:0px;
    width:100%;
    height:100%;
    text-align:left;
}

/* Font Faces */
@font-face {
    font-family: "Optima-Regular";
    src: url('/fonts/Optima-Regular.ttf');
}

@font-face {
    font-family: "Optima-Italic";
    src: url('/fonts/Optima-Italic.eot') format('eot'), url('/fonts/Optima-Italic-partial.ttf') format('truetype');
}

/* Content */
div#content {
    margin:20px;
    /* max-width:1200px; */
 }

#content h1 {
    color:var(--primary);
    font-size:1.5em;
    //font-family: "Optima-Italic", Helvetica Neue, sans-serif;
    font-weight: 100;
    padding:20px 0px 10px 0px;
    margin:0px;
}

#content h2 {
    color:var(--primary);
    font-size:1.25em;
    //font-family: "Optima-Italic", Helvetica Neue, sans-serif;
    font-weight: 100;
    padding:0px;
    margin:.5em 0 0 0;
}

#content h3 {
    color:var(--primary);
    font-size:1em;
    //font-family: "Optima-Italic", Helvetica Neue, sans-serif;
    font-weight: 100;
    padding:0px;
    margin:.5em 0 -.75em 0;
}

#content ul, ol{
    margin: 0px auto 10px auto;
}

#content img {
    border-style:none;
}

/* General Hyperlinks */
a:link    { color: var(--primary_darkest); text-decoration: none; }
a:visited { color: var(--primary_darkest); text-decoration: none; }
a:hover   { color: var(--primary_darker);  text-decoration: underline; }
a:active  { color: var(--primary_lighter); text-decoration: underline; }

/* General Tables */
table, tr, td {
    border: 0px;
}

/* Listy tables */

table.list td {
    border-bottom:1px solid var(--primary_darkest);
    border-right:1px solid var(--table_background);
    margin:0px;
    padding:3px;
    spacing:0px;
}

table.list>thead>tr {
    background:var(--table_background);
    color:var(--table_text);
    font-weight:bold;
}

/* Quotes */
blockquote{
    padding: 10px;
    border-left: 7px solid var(--table_background);
    border-radius: 6px;
    font-size: 1.25em;
}

cite{
    font-size: .75em;
    display: block;
}

/* SubNavigation Style */
div#SubNavigation ul{
    list-style:none;
}

div#SubNavigation li{
    display:inline-block;
    margin:15 0 0 0;
}

div#SubNavigation a{
    color:var(--mono_lightest);
    background: var(--primary); /* for non-css3 browsers */
    background: linear-gradient(var(--primary), var(--primary_darker));
    padding:5px 20px;
}

div#SubNavigation a:hover{
    background:var(--primary);
}

div#SubNavigation a:active{
    background:var(--primary_darker);
}

/* Header */
div#header {
    display:block;

    background: var(--primary); /* for non-css3 browsers */
    background: linear-gradient(var(--primary), var(--primary_darker));
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    width:100%;
    #height:49px;
    top:0px;
    box-shadow: 0px 3px 5px rgba(0,0,0,.5);
    /*border: 1px solid red;*/
}

#header a{
    color:var(--mono_lightest);
    text-decoration:none;
}


p#title {
    display:inline-block;
    font-family: "Optima-Italic";
    font-weight: 100;
    font-size: 25px;
    color: var(--mono_lightest);
    margin: 8px 20px;
    float:left;
    /*border: 1px solid green;*/
}

p#title a:hover{
    /*color: red;*/
    text-shadow: 0px 1px 3px rgba(255,255,255,.75)
}

/* Footer */

#copy {
    margin: 20px;
}

#copy p {
    margin: 0px;
}

#copy, #copy a{
    color: var(--mono);
    font-size:12px;
    text-decoration: none;
}

/* Navigation */

#navigation{
    display:inline-block;
    /*background:var(--primary);*/
    list-style:none;
    //font-weight:bold;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    /*float:left;*/
    /*width:100%;*/
    position:relative;
    z-index:5;
    /*border: 1px solid yellow;*/
}

#navigation li{
    float:left;
    margin:0px 10px 0px 0px;
    position:relative;
}

#navigation a{
    display:block;
    padding:15px;
    color:var(--mono_lightest);
    text-decoration:none;
}

#navigation a:hover{
    color:var(--mono_lightest);
    text-decoration:underline;
}

#navigation ul{
    background:rgba(255,255,255,0);
    margin:0px;
    padding:0px;
    list-style:none;
    position:absolute;
    left:-9999px;
    display:block;
    opacity:0;
    box-shadow: 0px 3px 5px rgba(0,0,0,.5);
}

#navigation ul li{
    padding-top:0px;
    margin: 0px;
    float:none;

    /*border-radius: 4px;*/
}
#navigation ul a{
    white-space:nowrap;
}
#navigation li:hover ul{
    display:block;
    left: 0px;

    opacity:.95;
    -webkit-transition: opacity .3s ease-in-out;
    -moz-transition: opacity .3s ease-in-out;
    -ms-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

#navigation li:hover a{
    background:var(--primary);
    text-decoration:underline;
}
#navigation li:hover ul a{
    text-decoration:none;
}

#navigation li:hover ul li a:hover{
    background:var(--primary_dark);
}


/* Term/Definition Table */

dl {
    margin:10 25 10 25;
    display: flex;
    flex-flow: row wrap;
    border-width: 0;
}

dt {
    flex-basis: 20%;
    margin: 2px;
    padding: 2px 4px;
    background: var(--primary_lightest);
    color: var(--primary_darkest);
    text-align: right;
}

dd {
    flex-basis: 70%;
    flex-grow: 1;
    margin: 0;
    padding: 2px 4px;
}
