@import url(http://fonts.googleapis.com/css?family=Oxygen:400,700);

/** global **/
html {
    height: 100%;
}
body {
margin:0px auto;
padding:0;
font-family: 'Oxygen', 'sans-serif';
font-size: 1.0em;
color:#333;
background:#fff;
height: 100vh;
display: grid;
grid-template-rows: auto 1fr auto;
}
* {
margin:0;
padding:0;
}


/** element defaults **/
table {
width:100%;
text-align:left;
}
th, td {
padding:5px 10px;
}
th {
color:#fff;
border-top:3px solid #082659;
background-color:#0C3A87;
}
td {
border-bottom:1px solid #f4f4f4;
}
code, blockquote {
display:block;
border-left:5px solid #ddd;
padding:10px;
margin-bottom:20px;
}
blockquote p {
font-style:italic;
font-family:Georgia, "Times New Roman", Times, serif;
margin:0;
height: 1%;
}
p {
line-height:1.9em;
margin-bottom:20px;
}
a {
color:#0D3C84;
}
a:hover {
color:#0C3A85;
}
a:focus {
outline:none;
}
a.button { 
    background-color: #0B3170;
    border-radius: 5px 5px 5px 5px;
    color: #FFFFFF;
    display: inline-block;
    font-weight: bold;
    padding: 8px 15px;
    text-decoration: none;
    text-transform: uppercase;
}

a.button:hover {
background-color: #092758;
}

a.button-reversed { 
    background-color: #C2D7EF;
    color: #0B3170;
}

a.button-reversed:hover {
background-color: #D7E5F4;
}
fieldset {
display:block;
border:none;
border-top:1px solid #e0e0e0;
}
fieldset legend {
font-weight:bold;
font-size:13px;
padding-right:10px;
color:#222;
}
fieldset form {
padding-top:15px;
}
fieldset p label {
float:left;
width:150px;
font-family:Oxygen, Arial, Helvetica, sans-serif;
}
fieldset form input, fieldset form select, fieldset form textarea {
padding:5px;
color:#333333;
font-size:13px;
font-family:Oxygen, Arial, Helvetica, sans-serif;
border:1px solid #ddd;
}
fieldset form input.formbutton {
background:#0C3A87;
border:none;
border-bottom:3px solid #082659;
color:#ffffff;
font-weight:bold;
padding:5px 10px;
font-size:13px;
}
h1 {
font-size:2.4em;
}
h2 {
color:#0B2F6B;
font-size:1.8em;
font-weight:bold;
letter-spacing:-1px;
padding:0 0 5px;
margin:0;
}
h3 {
color:#0D357B;
font-size:1.6em;
padding-bottom:10px;
}
h4 {
padding-bottom:10px;
font-size:1.4em;
color:#0C3A85;
}
h5 {
padding-bottom:10px;
font-size:1.2em;
color:#666666;
}
ul, ol {
margin:0 0 35px 35px;
}
li {
padding-bottom:5px;
}


.width {
max-width: 1200px;
margin: 0 auto;
width: 100%;
padding: 0 20px;
box-sizing: border-box;
}


/** sitename **/
header {
background-color: #99eeff;
background: linear-gradient(#111, #333);
border-bottom: 1px solid #1563E1;
position: sticky;
top: 0;
z-index: 1000;
}

header h1 {
letter-spacing:-3px;
margin:0;
font-size: 3.0em;
float: left;
padding:5px 0 5px;
}
header h1 a,
header h1 a:hover {
color:#eef2f7;
font-weight:bold;
text-shadow:0px 1px 1px #333;
text-decoration:none;
}


nav {
float: right;
margin-top: 25px;
}

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

nav ul li {
float: left;
display: block;
padding: 0;
}


nav ul li a {
    color: #ccc;
    display: block;
    font-size: 0.95em;
    letter-spacing: 0;
margin: 5px 3px 0;
font-weight: normal;
    padding: 8px 15px 8px;
    text-decoration: none;
box-shadow:-1px 1px 0 transparent;
}
nav ul li.active a,
nav ul li.active a:hover { 
color: #fff;
background-color: #000;
font-weight:bold;

/*margin: 8px 2px 0;*/
box-shadow: -1px 1px 0 #333;
}
nav ul li a:hover {
color: #fff;
text-decoration: none;
}
header div.tagline {
color:#eef2f7;
font-size:0.9em;
text-shadow:0px 1px 1px #333;
    padding-top: 40px; /* Use 35px for slogan with 2 lines */
margin-left: 320px;
}

/** header **/
div#top {
padding:15px 0 15px;
margin:0 auto;
background-color:#0B3170;
background: linear-gradient(#10469E, #092758);
}
div#top h2 {
color:#ffffff;
font-size: 1.9em;
padding-bottom:0;
letter-spacing:0;
}
div#top div.tagline {
color:#C2D7F9;
font-size:0.9em;
}
div#top div.tagline a {
color:#ffffff;
}



/** body **/
section#body {
padding:20px 0;
background:#fff;
display: grid;
grid-template-columns: auto 1fr;
gap: 20px;
overflow: hidden;
}


/** content+sidebar styles **/
section#content {
overflow-y: auto;
}
.column-left {
/* float styles removed */
}
.column-right {
/* float styles removed */
}
aside#sidebar {
background-color: #eef2f7;
border-radius: 8px;
padding: 10px;
}
aside#sidebar ul {
margin:0;
padding:0;
list-style:none;
}
aside#sidebar li {
color:#666;
font-size: 0.9em;
}

/* This is a general rule for links in the sidebar, which we will override for the blocklist menu */
aside#sidebar a {
    text-decoration: none;
}

aside#sidebar ul.blocklist li {
padding:0;
margin-bottom: 1px; /* Add some space between menu items */
}

aside#sidebar ul.blocklist li a {
color: #333;
display:block;
padding: 6px 30px 6px 15px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
transition: background-color 0.2s ease-in-out;
border-radius: 5px;
text-decoration: none; /* Ensure no underline */
}

aside#sidebar ul.blocklist li a:hover {
background-color: #dce6f0;
color: #092758;
text-decoration: none; /* Ensure no underline on hover */
}

aside#sidebar ul.blocklist li.active a {
background-color: #dce6f0;
font-weight: bold;
color: #092758;
}

aside#sidebar h4 { 
color:#0C367E;
font-size:16px;
font-weight:bold;
margin:0;
padding:7px 10px 15px 10px; /* Adjusted padding */
}


article {
    padding: 10px 20px 20px 10px;
font-size: 0.9em;
    overflow-wrap: break-word;
    word-wrap: break-word; /* For older browsers */
 }

article h2 {
    padding-bottom: 0;
   font-size: 2.1em;
}

article .article-info {
    color: #999;
    font-size: 0.9em;
    letter-spacing: -0.5px;
    padding: 0 0 10px 0;
}

article .article-info a { 
color: #666;
}



/** footer **/
footer {
padding:20px 0px;
color:#fff;
border-top:1px solid #ccc;
}

footer p {
color:#666;
margin:0;
font-size:11px;
width:50%;
}
footer p.left { float:left; text-align:left; }
footer p.right { float:right; text-align:right; }
footer p a {
color:#666;
font-weight:bold;
text-decoration:none;
border-bottom:1px solid #999;
}
footer p a:hover { color:#0C3A85; border-bottom-color: #0C3A85; }


/** clear fix **/
.clear:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
 
.clear {
display: inline-block;
}
.clear {
display: block;
}





 @media screen and (max-width: 940px) {
.width { width:auto; padding-left: 10px; padding-right: 10px; }
.column-left, .column-right { margin:0 5px; }
section#content { width: 66%; }
aside#sidebar { width: 30%; }
}


 @media screen and (max-width: 740px) {
body { font-size: 0.9em; }
header { letter-spacing:-2px; text-align:center; }
nav ul li a { padding: 8px; }
nav { margin-top: 30px; }
section#content, aside#sidebar { float: none; width: auto; }
footer .footer-content ul { width: auto; float: none; }
}

 @media screen and (max-width: 540px) {
body { font-size: 0.8em; }
nav ul li { float: none; text-align:center;  }
nav ul li a { margin-top: 0; padding: 0.5em; }
nav { height: auto; position: relative; }
}
