* {
    padding: 0;
    margin: 0;
}

html {
    background-color: #3c3c3c;
}

body {
    background-color: #fff;
    font-family: verdana, sans-serif, arial;
    padding-top: 25px;
}

a {
    color: #123;
    text-decoration: none;
}

pre, code {
    font-size: 1em;
    font-family: monospace, consolas;
}

code {
    padding-left: 5px;
    padding-right: 5px;
}

pre {
    background-color: #f0f0f0;
    display: block;

    border-top: 1px solid #77B446;
    border-bottom: 1px solid #77B446;
    border-left: 10px solid #77B446;

    padding: 5px;
    margin: 15px 8px;
    overflow: auto;

    white-space: pre-wrap;       /* css-3 */
}

input {
    width: 260px;
    border: 1px solid #000;
    padding: 5px;
    margin-bottom: 5px;
}

input[type=submit] {
    width: 480px;
}

textarea {
    width: 480px;
    height: 110px;
    border: 1px solid #000;

    padding: 2px;
    margin-top: 5px;
    margin-bottom: 5px;
}

input, textarea {
    background-color: #fafafa;

    font-size: 12pt;
    font-family: helvetica, arial;
}

small {
    font-size: 0.6em;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.3em;
}

h4 {
    font-size: 1.2em;
}

h5 {
    font-size: 1.1em;
}

h6 {
    font-size: 1em;
}

abbr {
    cursor: help;
}

abbr, em {
    font-family: inherit;
    font-size: inherit;
}

em {
    color: #DF7401;
    font-style: italic;
}

ul.list-boxes {
    list-style-type: none !important;
}

ul.list-boxes li {
    padding: 10px;
    border: 1px dashed #aaa;
    background-color: #f0f0f0;
    line-height: 25px;
    width: 90%;
    margin-bottom: 10px;
    color: #000;
}

ul.list-boxes li:hover {
    background-color: #B3CF2C;
}

ul.list-boxes li:hover a:hover {
    color: #fff !important;
    border-color: #aaa !important;
}

ul.column-list {
    list-style-type: none;

    -moz-column-count: 2;
    -moz-column-gap: 20px;

    -webkit-column-count: 2;
    -webkit-column-gap: 20px;
    
    column-count: 2;
    column-gap: 20px;
}

ul.no-list {
    list-style-type: none;
}

ul.column-list li:before {
    content: "\00BB ";
}

ul.circle-list {
    list-style-type: circle;
    margin-left: 25px;
    margin-bottom: 25px;
}

ul.circle-list li a {
    border-bottom: 1px dashed #bdbdbd;
}

ul.circle-list li a:hover {
    border-bottom: 1px solid #bdbdbd;
}

ul.centered {
    margin-left: 40%;
}

div#container {
    width: 90%;
    margin: auto;
}

div#header {
    border-bottom: 1px dashed #bdbdbd;
    letter-spacing: -1px;
    line-height: 25px;
    margin-bottom: 25px;
}

div#header h1 a {
    display: block;
    color: #77B446;
    font-size: 0.8em;
    text-decoration: none;
    font-weight: normal;
}

div#header h1 a:first-letter {
    color: #DF7401;
}

div#header h1 a:hover {
    color: #DF7401;
}

div#header h1 a:hover:first-letter {
    color: #77B446;
}

div#header div#right {
    float: right;
}

div#header div#right a {
    border-top: 1px dashed #bdbdbd;
}

div#header div#right a:hover {
    border-top: 1px solid #bdbdbd;
}

div#header div#right h4 {
    font-weight: normal;
    font-size: 1em;
    color: #77B446;
}

ul#main-menu {
    width: 650px;
    margin: auto;
}

ul#sub-menu {
    padding-left: 25%;
}

ul.menu {
    list-style-type: none;
}

ul.menu li {
    float: left;
    padding-right: 35px;
}

ul.menu li a {
    text-decoration: none;
    letter-spacing: -1px;
    padding-left: 5px;
    padding-right: 15px;
}

ul.menu a.box-1 {
    border-left: 20px solid #77B446;
}

ul.menu a.box-1:hover {
    background-color: #77B446;
    color: #fff;
}

ul.menu a.box-2 {
    border-left: 20px solid #00B1D1;
}

ul.menu a.box-2:hover {
    background-color: #00B1D1;
    color: #fff;
}

ul.menu a.box-3 {
    border-left: 20px solid #A38A3A;
}

ul.menu a.box-3:hover {
    background-color: #A38A3A;
    color: #fff;
}

ul.menu a.box-4 {
    border-left: 20px solid #b3cf2c;
}

ul.menu a.box-4:hover {
    background-color: #b3cf2c;
    color: #fff;
}

ul.menu a.box-5 {
    border-left: 20px solid #DF7401;
}

ul.menu a.box-5:hover {
    background-color: #DF7401;
    color: #fff;
}

div#content {
    clear: both;
    line-height: 25px;
    font-size: 1em;

    width: 70%;

    margin: auto;
    margin-top: 100px;
    padding: 25px;

    box-shadow: 12px 16px 41px -8px rgba(0, 0, 0, 0.59);
}

div#content p > a {
    border-bottom: 1px dashed #bdbdbd;
}

div#content p > a:hover {
    border-bottom: 1px solid #bdbdbd;
}

div#content p {
    margin-bottom: 25px;
}

a.top {
    background-image: url('images/up.png');
    border-bottom: 1px dashed #bdbdbd;
}

a.top:hover,
a.bottom:hover {
    border-bottom: 1px solid #bdbdbd;
}

a.bottom {
    background-image: url('images/down.png');
    border-bottom: 1px dashed #bdbdbd;
}

a.top, a.bottom {
    background-repeat: no-repeat;
    
    padding-left: 20px;
    margin-left: 50%;
}

a.external {
    background-image: url('images/external-icon.png');
    background-repeat: no-repeat;
    background-position: 0px;
    padding-left: 18px;
}

div#content div#doc a u {
    text-decoration: none;
}

div#content div#doc a:hover {
    color: #DF7401;
}

div#content div#doc dt a:hover {
    background-color: #fff;
}

div#content h1.centered,
div#content h2.centered,
div#content h3.centered {
    text-align: center;
}

div#content h1 {
    padding-bottom: 50px;
}

div#content h1,
div#content h2,
div#content h3,
div#content h4,
div#content h5,
div#content h6 {
    font-family: georgia;
    font-weight: normal;
    margin-bottom: 5px;
}

div#content ul#boxes {
    list-style-type: none;
    width: 650px;
    max-width: 90%;
    margin: auto;
}

div#content ul#boxes li {
    padding-right: 15px;
    padding-bottom: 15px;
    float: left;
}

div#content ul#boxes li a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;

    width: 300px;
    height: 100px;

    background-color: #77B446;
    color: #fff;

    border: 1px solid #123;
    border-radius: 5px;
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.33);
}

div#content ul#boxes li a:hover {
    background-color: #DF7401;
}

div#content ul#boxes li a span {
    color: #eee;
    font-size: 0.7em;
    display: block;
}

div#content div#fixed-doc-menu {
    position: fixed;
    left: 10px;
    width: 15%;
    overview: auto;
    box-shadow: -12px 16px 41px -8px rgba(0, 0, 0, 0.59);
}

div#content ul#doc-menu {
    list-style-type: circle;
    padding-left: 25px;
    max-height: 500px; /* TODO: in percent */
    overflow: auto;
    display: none;
}

div#content ul#doc-menu li {
    line-height: 35px;
}

div#content ul#doc-menu li a {
    border-bottom: 1px dashed #bdbdbd;
}

div#content ul#doc-menu li a:hover {
    border-bottom: 1px solid #bdbdbd;
}

div#content div.column {
    width: 50%;
    clear: both;
}

div#content div.col-left {
    float: left;
}

div#content div.col-right {
    float: right;
}

div#content p#stat {
    border-bottom: 1px dashed #bdbdbd;
    padding-bottom: 25px;
    margin-bottom: 25px;
}

div.pre_code {
    display: block;
}

div.pre_code span a {
    float: right;
    border-bottom: 1px solid #77B446;
    border-left: 1px solid #77B446;
    width: 100px;
    padding-left: 30px;

    text-decoration: none;

    color: #ffa500 !important;
    background-color: #fff !important;

    transition: background-color, color 0.5s ease;
}

div.pre_code span a:hover {
    background-color: #ffa500 !important;
    color: #fff !important;
}
/*
div#content .content-centered {
    width: 500px;
    max-width: 80%;
    margin: auto;
}
*/
div#content pre.commit {
    background-color: #fff;
    border: 0;
    padding-left: 25px;
}

div#footer {
    padding-bottom: 25px;
}

div#footer a {
    border-bottom: 1px dashed #bdbdbd;
}

div#footer a:hover {
    border-bottom: 1px solid #bdbdbd;
}

.dark-red {
    color: #8A0808;
    font-style: italic;
}

.light-green {
    color: #B3CF2C;
    font-style: italic;
}

.middle-green {
    color: #9db526;
    font-style: italic;
}

.dark-green {
    color: #0B610B;
    font-style: italic;
}

.orange {
    color: #DF7401;
    font-style: italic;
}

.win-8 {
    background: url('images/win8_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.win-7 {
    background: url('images/win7_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.win-xp-vista {
    background: url('images/win7_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.linux {
    background: url('images/linux_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.linux-mint {
    background: url('images/linux-mint_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.ubuntu {
    background: url('images/ubuntu_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.open-suse {
    background: url('images/opensuse_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.osx {
    background: url('images/mac_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.debian {
    background: url('images/debian_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.fedora {
    background: url('images/fedora_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

.freebsd {
    background: url('images/freebsd_logo.png');
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 20px;
}

/* D Code Highlighting */

.kwrd { color: #b58900; font-weight: normal;  }
.com  { color: #93a1a1; font-style: italic; }
.num  { color: #dc322f; font-weight: normal;  }
.str  { color: #2aa198; font-style: italic; }
.op   { color: #586e75; font-weight: normal;  }
.type { color: #268bd2; font-weight: normal;  }
.cons { color: #859900; font-weight: normal;  }

dl {
    display: block;
/*
    border-top: 1px solid #77B446;
    border-bottom: 1px solid #77B446;
    border-left: 10px solid #77B446;
*/
    padding: 5px;
    background-color: #fff;
    overflow: auto;
    width: 95%;
}

dl dl {
    border: 0;
}

dl code, dl pre {
    border: 0;
}

dd {
    padding: 1ex;
    margin-left: 3em;
    margin-bottom: 1em;
}

dt {
    background-color: #77B446;
    color: #fff;
    padding-left: 5px;
    font-family: monospace, courier, verdana, arial;
}

/* These are different kinds of <pre> sections */

.d_code /* D code */ {
    background-color: #fcfcfc;
    color: #000066;
}

.d_code2 /* D code */ {
    background-color: #fcfcfc;
    color: #000066;
}

.asmcode /* Asm code */ {
    background-color: #afcbde;
    color: #000066;
}

.ccode /* C code */ {
    background-color: #f6ecf0;
    color: #000066;
}

.cppcode /* C++ code */ {
    background-color: #f6ecf0;
    color: #000066;
}

.cppcode2 /* C++ code */ {
    background-color: #f6ecf0;
    color: #000066;
}

td .d_code2, td .cppcode2, td .cppcode {
    min-width: 20em;
    margin: 1em 0em;
}

.d_inlinecode {
    font-family: monospace;
    /* font-size: 1.2em; */
    font-weight: bold;
}

/* Elements of D source code text */
.d_comment { color: green; }
.d_string { color: red; }
.d_keyword { color: blue; }
.d_psymbol { text-decoration: underline; }
.d_param { font-style: italic; }

/* Focal symbol that is being documented */
.ddoc_psymbol { color: #336600; }