@charset "utf-8";

/**
 * Base
 */
html, body {
    height: 100%;

    margin: 0;
    padding: 0;

    background: url(../images/gui/site-background.png) 0 142px repeat-x #dadada;
}

* {
    font-family: sans-serif;
    font-size: 12px;
    color: #000000;
}

a:active,
a:link,
a:visited,
a:hover {
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

/**
 * Wrap to get the real 100% height by default
 */
#wrap {
    position: relative;

    width: 100%;
    min-width: 950px;
    min-height: 100%;

    background: url(../images/gui/content-background.png) center top repeat-y;
}

/**
 * Header
 */
#header {
    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 138px;

    border-top: 3px solid #616161;
    border-bottom: 1px solid #000000;
    background: url(../images/gui/head-center.png) repeat-x;
}

#header:before {
    display: block;
    line-height: 0;

    content: url(../images/gui/head-left.png);
    background: url(../images/gui/head-right.png) top right no-repeat;
}

#logo {
    z-index: 950;
    position: absolute;
    left: 50%;
    top: 42px;

    display: block;
    width: 229px;
    height: 0;
    overflow: hidden;
    padding-top: 56px;
    margin-left: -350px;

    background-image: url(../images/gui/logo.png);
}

#behind-the-site {
    z-index: 960;
    position: absolute;
    right: 0;
    top: 0;

    display: block;
    width: 71px;
    height: 0;
    overflow: hidden;
    padding-top: 73px;

    background-image: url(../images/gui/behind-the-site.png);
}

#behind-the-site:focus {
    outline: none;
}

/**
 * Center everything except footer and header
 */
#center {
    z-index: 900;
    position: relative;
    width: 935px;
    margin: 0 auto;
}

/**
 * Navigation
 */
#navigation-container {
    position: absolute;
    left: 115px;
    top: 120px;
}
 
.navigation {
    margin: 0;
    padding: 0;

    height: 39px;

    list-style-type: none;
    background: url(../images/gui/nav-center.png) repeat-x;
}

.navigation:before {
    display: block;
    height: 39px;

    line-height: 0;
    margin: 0 -22px -39px -18px;
    padding-right: 22px;

    content: url(../images/gui/nav-left.png);
    background: url(../images/gui/nav-right.png) right 0 no-repeat;
}

.navigation a:focus {
    outline: none;
}

.navigation > li.navigation-overlay {
    display: none;
    background: none;
}

.navigation > li {
    position: relative;
    float: left;
    margin: 0;
    padding: 10px 0 3px 0;

    background: url(../images/gui/nav-separator.png) left 10px no-repeat;
}

.navigation > li > a:active,
.navigation > li > a:link,
.navigation > li > a:visited,
.navigation > li > a:hover {
    display: block;
    height: 21px;

    padding: 5px 33px 0 33px;
    margin-left: 2px;

    color: #ffffff;
    text-decoration: none;
}

.navigation > li.active > a,
.navigation > li:hover > a,
.navigation > li > a:focus {
    background: url(../images/gui/nav-hover.png) center 0 no-repeat;
}

.navigation > li:first-child {
    background: none;
}

.navigation > li:first-child > a {
    margin-left: 0;
}

/**
 * Navigation dropdown
 */
.navigation > li > ul {
    display: none;
    position: absolute;
    width: 100%;
    left: 1px;
    top: 39px;

    margin: 0;
    padding: 0;
}

.navigation > li:hover > ul {
    display: block;
}

.navigation > li > ul > li {
    width: 100%;
    height: 18px;

    margin: 0;
    padding: 0;

    list-style-type: none;
    background: url(../images/gui/nav-dropdown.png) center top no-repeat;
}

.navigation > li > ul > li.active,
.navigation > li > ul > li:hover {
    background-image: url(../images/gui/nav-dropdown-hover.png);
}

.navigation > li > ul > li > a:active,
.navigation > li > ul > li > a:link,
.navigation > li > ul > li > a:visited,
.navigation > li > ul > li > a:hover {
    display: block;
    height: 16px;

    padding: 2px 0 0 10px;

    font-size: 10px;
    color: #ffffff;
    text-decoration: none;
}

/**
 * Profile
 */
#profile {
    position: absolute;
    top: 3px;
    right: 78px;

    height: 18px;

    margin: 0 0 0 200px;
    padding: 0;

    list-style-type: none;
    background: url(../images/gui/profile-center.png) repeat-x;
}

#profile:before {
    display: block;
    height: 18px;

    line-height: 0;
    margin: 0 -3px -18px -3px;
    padding-right: 3px;

    content: url(../images/gui/profile-left.png);
    background: url(../images/gui/profile-right.png) right 0 no-repeat;
}

#profile > li {
    float: left;

    margin: 0;
    padding: 0;
}

#profile > li:before {
    content: '•';
    font-size: 10px;
    color: #ffffff;
}

#profile > li:first-child:before {
    content: '';
}

#profile > li > a:active,
#profile > li > a:link,
#profile > li > a:visited,
#profile > li > a:hover {
    padding: 0 5px;

    font-size: 10px;
    color: #ffffff;
    text-decoration: none;
}

/**
 * Site search
 */
#site-search {
    position: absolute;
    top: 85px;
    right: 75px;

    margin-left: 40px;
}

#site-search fieldset {
    margin: 0;
    padding: 0;
    border: none;
}

#site-search label {
    margin-right: 5px;
    font-family: serif;
    font-weight: bold;
    font-style: italic;
    color: #ffffff;
}

#site-search input[type='text'] {
    padding: 1px 3px;
    border: none;
    color: #015c01;
    background-color: #b6d78c;
}

#site-search input[type='submit'] {
    width: 16px;
    height: 16px;
    overflow: hidden;

    margin: 0 0 0 5px;
    padding: 0;

    border: none;
    background: url(../images/icons/search.png) no-repeat transparent;

    text-indent: -300px;

    cursor: pointer;
}

/**
 * Icons
 */
.icon {
    display: inline-block;
    height: 18px;

    padding: 0 0 0 20px;

    background-repeat: no-repeat;
    background-position: 0 2px;

    vertical-align: middle;
}

.icon.insert {
    background-image: url(../images/icons/insert.png);
}

.icon.edit {
    background-image: url(../images/icons/edit.png);
}

.icon.delete {
    background-image: url(../images/icons/delete.png);
}

.icon.reply {
    background-image: url(../images/icons/reply.png);
}

/**
 * Content
 */
#content {
    width: 915px;
    margin: 0 auto;
    padding: 142px 0 100px 0;

    background: url(../images/gui/content-top.png) 0 142px repeat-x;
}

#content:before {
    display: block;
    width: 925px;
    line-height: 0;
    margin-left: -10px;
    margin-bottom: -84px;
    padding-right: 10px;

    content: url(../images/gui/content-left.png);
    background: url(../images/gui/content-right.png) right 0 no-repeat;
}

#content:after {
    display: block;
    clear: both;
    content: ' ';
}

#content > div {
    padding: 40px 15px 0 15px;
}

#content > #sidebar + div {
    width: 635px;
}

#sidebar {
    float: right;
    width: 220px;

    background: url(../images/gui/sidebar-trans.png);
}

#sidebar:after {
    display: block;
    width: 250px;
    height: 40px;
    margin-left: -15px;

    line-height: 0;

    content: url(../images/gui/sidebar-bottom.png);
    background: url(../images/gui/sidebar-bottom.png) repeat-x;
}

/**
 * Footer
 */
#footer {
    z-index: 1000;
    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 82px;

    background: url(../images/gui/foot-center.png) repeat-x;
}

#footer:before {
    display: block;
    line-height: 0;

    content: url(../images/gui/foot-left.png);
    background: url(../images/gui/foot-right.png) top right no-repeat;
}

#footer-overlay {
    display: none;
}

/**
 * Icon list
 */
#footer ul {
    position: absolute;
    left: 50%;
    top: 0;

    width: 455px;
    height: 53px;

    margin: 0 0 0 -415px;
    padding: 28px 0 0 0;

    list-style-type: none;
    background: url(../images/gui/foot-separator.png) right 1px no-repeat;
}

#footer ul li {
    float: left;
    height: 52px;

    margin-right: 15px;
}

#footer ul li a {
    background-repeat: no-repeat;
    background-position: 0 2px;
}

#footer ul li a:active,
#footer ul li a:link,
#footer ul li a:visited,
#footer ul li a:hover {
    position: relative;
    display: block;

    font-size: 10px;
    color: #ffffff;
    font-style: italic;
    text-decoration: none;
}

#icon-rss a {
    padding-left: 29px;
    background-image: url(../images/icons/rss.png);
}

#icon-zf a {
    padding-left: 44px;
    background-image: url(../images/icons/zf.png);
}

#icon-xhtml a {
    padding-left: 43px;
    background-image: url(../images/icons/xhtml.png);
}

#icon-css a {
    padding-left: 43px;
    background-image: url(../images/icons/css.png);
}

/**
 * Copyright
 */
#footer p {
    position: absolute;
    top: 22px;
    left: 50%;

    margin: 0 0 0 60px;

    line-height: 13px;
    text-align: center;
    color: #ffffff;
    font-size: 10px;
}

/**
 * Sitemap and Imprint
 */
#footer p a:active,
#footer p a:link,
#footer p a:visited,
#footer p a:hover {
    font-size: 10px;
    color: #ffffff;
    text-decoration: none;
}

/**
 * Sidebar specific stuff
 */
#sidebar p {
    border: 1px solid #bebebe;
    background-color: #ffffff;

    margin: 0 0 10px 0;
    padding: 10px 15px;
}

#sidebar p:after {
    display: block;
    clear: both;
    content: ' ';
}


#sidebar h2 {
    font-size: 14px;
}

#sidebar ul {
    margin: 0 0 10px 0;

    border: 1px solid #bebebe;
    background-color: #ffffff;
    list-style-type: none;
}

#sidebar ul:after {
    display: block;
    clear: both;
    content: ' ';
}

ul.sidebar-list {
    padding: 5px 15px;
}

ul.sidebar-list li {
    padding: 5px 0;
    border-top: 1px dotted #bebebe;
}

ul.sidebar-list li:first-child {
    border-top: none;
}

.Zend_Tag_Cloud {
    padding: 5px 15px;
    text-align: justify;
}

.Zend_Tag_Cloud li {
    display: inline;
}

/**
 * Content specific stuff
 */
#content h1 {
    margin: 0 0 15px 0;
    padding: 0;

    font-size: 24px;
    line-height: 28px;
    font-weight: normal;
    color: #5d8758;
    border-bottom: 2px solid #5d8758;
}

#content h2 {
    margin: 20px 0 0 0;
    padding: 0;
}

#content h2,
#content h2 *,
#content h2 a:active,
#content h2 a:link,
#content h2 a:visited,
#content h2 a:hover {
    color: #5d8758 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    text-decoration: none !important;
}

#content * {
    line-height: 18px;
}

#content h1 + h2,
#content h2:first-child,
#content h1 + img + h2 {
    margin-top: 0;
}

#content h2 + p {
    margin-top: 0;
}

.headline-info {
    margin: 0 0 15px 0;
}

#content a:active,
#content a:link,
#content a:visited,
#content a:hover {
    color: #000000;
    text-decoration: none;
}

#content a[href]:active,
#content a[href]:link,
#content a[href]:visited,
#content a[href]:hover {
    color: #015c01;
    text-decoration: underline;
}

#content a[href]:hover {
    color: #015c01;
    text-decoration: none;
}

address {
    margin-top: 10px;
}

.photo {
    float: left;
    border: 1px solid #b3b3b3;
    margin: 0 10px 5px 0;
}

/**
 * Tables
 */
table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    border-top: 1px solid #b3b3b3;
    border-left: 1px solid #b3b3b3;
}

table th {
    padding: 2px 4px;

    font-weight: bold;
    color: #5d8758;
    text-align: left;

    background-color: #e5e5e5;
    border-bottom: 1px solid #b3b3b3;
    border-right: 1px solid #b3b3b3;
}

table td {
    vertical-align: top;
    padding: 2px 4px;

    background-color: #f7f7f7;
    border-bottom: 1px solid #b3b3b3;
    border-right: 1px solid #b3b3b3;
}

/**
 * Comment list
 */
#comment-list {
    margin: 10px 0 0 0;
    padding: 0;

    list-style-type: none;
}

#comment-list li {
    margin-bottom: 5px;
}

#comment-list ul {
    margin: 5px 0 0 15px;
    padding: 0;

    list-style-type: none;
}

#comment-list li h3 {
    position: relative;
    display: block;
    height: 35px;

    margin: 0;
    padding: 5px 0 5px 70px;

    background-color: #f0f0f0;
    border-top: 1px dotted #aaaaaa;
    border-bottom: 1px dotted #aaaaaa;
}

#comment-list li h3.by-user {
    background-color: #d2e9a7;
}

#comment-list li h3 span.avatar {
    display: block;
    position: absolute;
    left: 8px;
    top: 7px;

    padding: 3px;

    width: 48px;
    height: 48px;
    overflow: hidden;

    border: 1px solid #aaaaaa;
    background-color: #ffffff;
}

#comment-list li h3 span.options {
    float: right;
    margin-right: 8px;
}

#comment-list li h3 span.author {
    display: block;
    font-weight: bold;
}

#comment-list li h3 span.date {
    display: block;
    font-weight: normal;
}

#comment-list li p {
    margin: 1px 0 3px 0;
    padding: 25px 10px 10px 10px;
    background-color: #f6f6f6;
}

/**
 * ZF component list
 */
#zf-component-list dt {
    font-weight: bold;
}

#zf-component-list dd {
     margin-bottom: 10px;
}

/**
 * Photo list
 */
#photo-list {
    margin: 0;
    padding: 15px 8px 8px 15px;
    
    list-style-type: none;

    border: 1px solid #aaaaaa;
    background-color: #f6f6f6;
}

#photo-list li {
    display: inline-block;
    width: 100px;
    height: 100px;
    overflow: hidden;

    margin: 0 7px 7px 0;
    padding: 5px;

    text-align: center;
    border: 1px solid #aaaaaa;
    background-color: #ffffff;
}

/**
 * File list
 */
#file-list a {
    display: block;
    height: 16px;
    padding-left: 22px;

    background-repeat: no-repeat;
}

#file-list tr.type-up a {
    background-image: url(../images/files/go-up.png);
}

#file-list tr.type-dir a {
    background-image: url(../images/files/folder.png);
}

#file-list tr.type-file a {
    background-image: url(../images/files/text-x-generic.png);
}

#file-list tr.type-file a[href $='.ogg'],
#file-list tr.type-file a[href $='.mp3'] {
    background-image: url(../images/files/audio-x-generic.png);
}

#file-list tr.type-file a[href $='.zip'],
#file-list tr.type-file a[href $='.gz'],
#file-list tr.type-file a[href $='.rar'] {
    background-image: url(../images/files/package-x-generic.png);
}

/**
 * Form style
 */
.zend_form {
    margin: 0;
    padding: 10px;
    border: 1px solid #aaaaaa;
}

.zend_form:after {
    display: block;
    clear: left;
    content: ' ';
}

.zend_form dt {
    clear: left;
    float: left;
    margin: 0 0 6px 0;
    padding: 0;

    width: 150px;
}

.zend_form dd {
    float: left;
    margin: 0 0 6px 0;
    padding: 0;
}

label.required {
    color: #015c01;
}

input[type='text'],
input[type='password'] {
    width: 200px;
}

select,
textarea {
    width: 450px;
}

input[type='text'],
input[type='password'],
textarea,
input[type='submit'] {
    padding: 1px 3px;
    border: 1px solid #aaaaaa;
}

input[type='text']:focus,
input[type='password']:focus,
textarea:focus,
input[type='submit']:hover {
    border: 1px solid #015c01;
}

input[type='checkbox'],
input[type='radio'] {
    margin: 0 5px 0 0;
    padding: 0;

    vertical-align: middle;
}

input[type='submit'] {
    margin: 10px 0 0 -150px;
}

ul.errors {
    margin: 0;
    padding: 0;

    list-style-type: none;
}

ul.errors li {
    color: #ee0000;
}

pre {
  padding: 2px 4px;
  overflow: visible;

  border: 1px solid #cccccc;
}

pre, pre * {
  font-family: monospace;
  font-size: 10px;
  line-height: 14px !important;
}

pre span.code-line:before {
  content: attr(title)':';

  padding: 0;
  margin: 0 6px 0 0;

  font-weight: bold;
  color: #747474;
}

pre.captcha {
    display: block;
    margin: 5px 0 0 0;
    overflow: visible;
}

pre.captcha,
pre.captcha * {
    line-height: 12px !important;
}

/**
 * Styles for highlight
 */
.hl.num   { color: #ff0000; }
.hl.esc   { color: #008200; }
.hl.str   { color: #008200; }
.hl.dstr  { color: #000000; }
.hl.slc   { color: #808080; }
.hl.com   { color: #808080; }
.hl.dir   { color: #000000; }
.hl.sym   { color: #000000; }
.hl.line  { color: #000000; }
.hl.mark  { color: #000000; }
.hl.kwa   { color: #0000ff; }
.hl.kwb   { color: #000000; }
.hl.kwc   { color: #660000; }
.hl.kwd   { color: #000000; }

/**
 * Quotes
 */
blockquote {
    border: 1px solid #b3b3b3;
    padding: 5px 10px;
    margin: 0;
}

blockquote:before {
  content: 'Quote:';
  display: block;
  font-weight: bold;
  margin-bottom: 3px;
}

blockquote[cite]:before {
  content: 'Quote of 'attr(cite)':';
}

