/* INCLUDES */
@import url(layout-basics.css);
@import url(layout-enhanced.css);

/* -- Layout and Positions -------------------------------------------------- */

html
{
    min-height:100%;
}

body
{
    border-top:solid 0.5em #1F5F3D;
    background:url(gradient-long.png) repeat-x center bottom #fff;
    font-size:80%;
    margin:0;
    padding:0;
    color:#333;
    position:relative;
    min-width:780px;
}

div.sitewidth
{
    min-width:760px;
    width:80em;
    max-width:95%;
    margin:0 auto;
    padding:0 10px;
}

div.header
{
    position:relative;
}

form.searchform
{
    position:absolute;
    top:0;
    right:0;
    background-color:#1F5F3D;
    color:white;
    padding:0em 1% 0.5em 1%;
    background:url(gradient-short.png) repeat-x bottom center #1F5F3D;
}

div#content
{
}

div.footer div
{
    border-top:dotted 1px #ddd;
    margin-top:5em;
    padding-top:1em;
    padding-bottom:2em;
}

div.footer p
{
    font-size:smaller;
    font-weight:lighter;
}

/* -- Columns --------------------------------------------------------------- */

ol.concept li.thirdcol
{
    float:left !important;
}

/* -- Navigation Menu ------------------------------------------------------- */

div.header p.skiplink
{
    position:absolute;
    margin:0;
    padding:0;
    width:100%;
    top:0;
    left:-5000em;
}
div.header p.skiplink a
{
    display:block;
    width:100%;
    text-align:center;
    padding:0.5em 0;
    position:absolute;
    z-index:100;
    font-weight:bold;
}
div.header p.skiplink a:focus,
div.header p.skiplink a:active
{
    left:5000em;
}

div.navigation
{
    color:white;
    background-color:#1F5F3D;
    background:url(gradient-short.png) repeat-x bottom center #1F5F3D;
    border-top:solid 1px #999;
}

ol.navigation
{
    list-style:none;
    overflow:hidden;
    margin:0;
    padding:0.5em 0 0 0;
    font-size:1.1em;
}

ol.navigation li
{
    float:left;
    margin:0;
    padding:0;
}

ol.navigation li a
{
    display:block;
    margin:0;
    padding:0.35em 1em 0.25em 1em;
    color:white;
    background-color:transparent;
}

ol.navigation li a.active
{
    color:black;
    background-color:white;
}

ol.navigation li a:focus,ol.navigation li a:hover,ol.navigation li a:active
{
    color:black !important;
    background-color:#ccc !important;
}

/* -- Typography ------------------------------------------------------------ */

h1,h2,h3,h4,h5,h6,h7,p,ul,ol,dl
{
    margin-top:0.5em;
    padding-top:0;
    padding-bottom:0;
    margin-bottom:0.3em;
}

h1,h2,h3,h4
{
    font-weight:normal;
    color:#1F5F3D;
    background-color:transparent;
}

.dark h2, .dark h3, .dark h4
{
    color:#fff;
}

h3
{
    font-weight:bolder;
}

h4
{
    color:#fff;
    background-color:#1F5F3D;
}

h1
{
    color:#000;
    line-height:0.8;
    margin:0;
    padding:1em 0;
    font-size:30px;
    text-transform:uppercase;
}

h1 a
{
    color:#000;
    text-decoration:none;
}

h1 a span
{
    color:#ffaa42;
    font-size:34px;
    font-weight:bolder;
    text-transform:lowercase;
}

h1 sup
{
    font-size:0.35em;
    font-color:#999;
    font-weight:lighter;
}

h1 span.tagline
{
    font-size:15px;
    font-weight:normal;
    color:#000;
    text-transform:lowercase;
}

#requirements h4, #requirements h5
{
}

img
{
    border-style:none;
    vertical-align:middle;
    background-color:transparent;
}

a
{
    color:#1F5F3D;
    text-decoration:underline;
}

a.featurelink
{
    font-size:1.4em;
    font-weight:bolder;
}

a:focus, a:hover
{
    color:#020 !important;
    background-color:#bcb !important;
}

a img
{
    text-decoration:none;
}

a:focus img, a:hover img
{
    outline:solid 1px #020 !important;
    background-color:#bcb;
}

p.tagline
{
    font-size:1.4em;
    text-align:justify;
}

div.tagcloud
{
    background-color:#eee;
    padding:0.1em 1em 0.1em 1em;
    margin-top:1em;
    line-height:1.2;
    text-align:center;
}

div.pager
{
    overflow:hidden;
    border-top:solid 1px #ddd;
    border-bottom:solid 1px #ddd;
}

code
{
    font-family:"Courier New",Courier,monospace;
    background-color:#f6f6f6;
    color:#000;
}

pre.code
{
    font-family:"Courier New",Courier,monospace;
    color:#000;
    border:solid 1px #eee;
    background-color:#f6f6f6;
    padding:0.5em;
    width:auto;
    overflow:auto;
}

div.reqinfo
{
    font-weight:normal;
    font-size:smaller;
    background-color:#f6f6f6;
    width:30%;
    padding:5px;
    margin:0.1em 0 0.5em 0.5em;
    float:right;
}

/* -- Lists ----------------------------------------------------------------- */

ul.blocklisting, ol.blocklisting {
    list-style:none;
    margin-left:0;
    padding-left:0;
}

ul.blocklisting h3.entry-title, ol.blocklisting h3.entry-title,
ul.blocklisting h3.entry-title a, ol.blocklisting h3.entry-title a {
    background-color:#1F5F3D;
    color:#fff;
    font-weight:normal;
}

.blocklisting p
{
    margin-right:2em;
}

.blocklisting span.featurelink
{
    display:block;
    position:absolute;
    font-size:2em;
    right:0;
    bottom:0;
    background-color:transparent;
    color:#1f5f3d;
}

.subinfo
{
    font-size:smaller;
    font-weight:normal;
}

ul.blocklisting li, ol.blocklisting li
{
    padding-top:0.35em;
    padding-bottom:0.25em;
    border-bottom:solid 1px #e8e8e8;
    position:relative;
    overflow:hidden;
}
ul.blocklisting li.lastitem, ol.blocklisting li.lastitem
{
    border-style:none;
}

.beautifiedlist
{
    color:#1F5F3D;
    font-size:2em;
    font-weight:bolder;
}

.beautifiedlist h3
{
    font-size:0.6em;
    font-weight:normal;
}

.beautifiedlist p
{
    font-size:0.5em;
    font-weight:normal;
    color:#000;
}

ol.beautifiedlist h3, ol.beautifiedlist p
{
    position:relative;
    top:-0.25em;
}

ul.beautifiedlist {
    margin-left:0;
    padding-left:1em;
}

ol.beautifiedlist {
    margin-left:0;
    padding-left:1.5em;
}

ul.beautifiedlist h3, ul.beautifiedlist p
{
    position:relative;
    top:-0.15em;
}

dt
{
    font-weight:bolder;
}

ul.statistics
{
    list-style:none;
    padding-left:0;
    margin-left:0;
    font-family:"Courier New",Courier,monospace;
}

ul.statistics li span
{
    border:none;
    border-left-style:solid;
    border-color:#1F5F3D;
    padding-left:3px;
}

ul.no-margin, ol.no-margin
{
    padding-left:0;
    margin-left:0;
}

ul.no-bullets, ol.no-bullets
{
    list-style:none;
}

/* -- Message boxes --------------------------------------------------------- */

.messagebox {
    width:auto;
    border:solid 1px #eee;
    background-color:#f6f6f6;
    padding:0.5em;
    margin-bottom:0.75em;
    overflow:hidden;
    display:block;
    float:none;
    clear:both;
    background-position:5px center;
    background-repeat:no-repeat;
}

.info {
    border-color:#eee;
    background-color:#f9f9f9;
    padding-left:26px;
    background-image:url(./icon-info.png);
}

.warning {
    background-color:#ffb;
    border-color:#eea;
    color:#000;
    padding-left:26px;
    background-image:url(./icon-warning.png);
}

.error {
    border-color:#eaa;
    background-color:#fbb;
    color:#000;
    padding-left:26px;
    background-image:url(./icon-error.png);
}

.success {
    border-color:#aea;
    background-color:#bfb;
    color:#000;
    padding-left:26px;
    background-image:url(./icon-success.png);
}

/* -- Icons ----------------------------------------------------------------- */

a.feed, a.featurelink, a.icon,
input#openid_url, li#oidSwitcher
{
    padding-left:19px;
    background-repeat:no-repeat;
    background-position:left center;
}

a.feed
{
    background-image:url(feed.png);
}

a.featurelink
{
    background-image:url(bullet_go.png);
}

a.edit
{
    background-image:url(icon-edit.png);
}

input#openid_url
{
    background-image:url(icon-openid.png);
    width:80%;
}

li#oidSwitcher
{
    background-image:url(icon-openid.png);
}

/* -- Images ---------------------------------------------------------------- */

img
{
    background-color:#fff;
}

div.teaser img
{
    background-color:transparent;
}

img#figureprocess
{
    max-width:99%;
    display:block;
    margin:5em auto;
}

img.max100
{
    max-width:100%;
}

img.noborders
{
    border:none !important;
}

/* -- Forms ----------------------------------------------------------------- */

fieldset
{
    border-style:none;
    padding:0;
    margin:0;
    font-size:1em;
}

legend
{
    font-size:1em;
    padding:0;
    margin:0;
    font-weight:bolder;
}

div.teaser legend
{
    font-size:1.5em;
    font-weight:normal;
}

label
{
    font-weight:bolder;
    vertical-align:middle;
}

li.searchform form, li.searchform fieldset {
    margin:0;
}

input, textarea {
    font-size:1em;
    font-family:Arial, sans-serif;
    padding:0;
    margin:0;
    border:solid 2px #bcb;
    background-color:#eee;
}
form.dark input, form.dark textarea {
    border-color:#1F5F3D;
}
input {
    padding:0.1em;
    font-size:1.2em;
    vertical-align:middle;
}

input.text
{
    width:60%;
}

textarea {
    width:90%;
    height:15em;
}

input:hover, textarea:hover {
    background-image:none;
    background-color:#fff;
}

input:focus, textarea:focus
{
    background-image:none;
    border-color:#1F5F3D;
    background-color:#fff;
}

form.dark input:focus, form.dark textarea:focus {
    border-color:#bcb;
}

button {
    font-size:1em;
    color:#000;
    font-weight:normal;
    background-color:#bcb;
    border-top-color:#ded;
    border-right-color:#9a9;
    border-bottom-color:#9a9;
    border-left-color:#ded;
    border-width:1px;
    border-style:solid;
    margin:0;
    margin-top:0.5em;
    padding:0.3em 0.4em 0.15em 0.4em;
    line-height:1;
    vertical-align:middle;
}

form.dark button:hover, form.dark button:focus, form.dark button:active {
    color:#000;
    background-color:#bcb;
    border-top-color:#ded;
    border-right-color:#9a9;
    border-bottom-color:#9a9;
    border-left-color:#ded;
}

button:hover,button:focus,button:active {
    background-color:#1F5F3D;
    border-top-color:#3F7F5F;
    border-right-color:#0d3d1b;
    border-bottom-color:#0d3d1b;
    border-left-color:#3F7F5F;
    color:#fff;
}

button img {
    vertical-align:middle;
}

form.searchform button
{
    margin:0;
    padding:0;
    background-color:transparent;
    color:#fff;
    font-style:bold;
    border-style:none;
    font-size:1.5em;
}


/* -- Tables ---------------------------------------------------------------- */

table
{
    width:100%;
}

th,td
{
    padding:0.2em 0.5em;
    margin:0;
    text-align:left;
    overflow:visible;
}

th {
    color:white;
    background:#1F5F3D;
    font-weight:bolder;
}

th a
{
    color:white;
}

tr.even td, li.even
{
    background-color:#eee;
}

/* -- Homepage Teaser ------------------------------------------------------- */

body.homepage div.teaser
{
    overflow:hidden;
    background-color:#bcb;
    color:black;
    background:url(gradient-long.png) repeat-x bottom center #bcb;
}

body.homepage ol.navigation li a.active
{
    background-color:#bcb;
}

body.homepage div.story
{
    float:left;
    width:64.5%;
    padding-right:4.5%;
}

body.homepage div.story a
{
    color:#020;
}

body.homepage div.login
{
    background-color:#1F5F3D;
    color:white;
    width:28%;
    margin-top:1em;
    padding:0.5em 1% 0.5em 1%;
    float:right;
    background:url(gradient-long.png) repeat-x bottom center #1F5F3D;
}

body.homepage div.login h2
{
    margin-top:0;
}

body.homepage div.login .blocklisting li
{
    border-color:#2F6F4E;
}

body.homepage div.login a
{
    color:white;
}

ol.concept
{
    margin:0;
    padding:0;
    list-style-position:inside;
    list-style-type:none;
    text-align:center;
}

ol.concept img {
    border:solid 3px #aba;
    margin-bottom:0.25em;
}

/* -- ETC ------------------------------------------------------------------- */

.floatleft
{
    float:left;
}
.floatright
{
    float:right;
}

.topspacing
{
    padding-top:0.5em !important;
}
