/*
colors:
red #7b1228
green #8dc63f #23320f
*/
* {
    font-family: 'Cabin', sans-serif;
}
body {
    margin: 0px;
    background-color: #111111;
    color: #cccccc;
}
.container {
    margin: 0px;
    text-align: center;
}
.centerblock {
    padding: 10px 5%;
    width: 80%;
    margin: 20px 5%;
    text-align: left;
}
header, footer {
    padding: 10px;
    text-align: center;
    box-shadow: 0px 0px 10px #8dc63f;
    
    background-color: #222222;
}
footer {
    margin: 30px 0px 5px 0px;
}
header a {
    display: block;
    text-decoration: none;
    color: inherit;
}
h3 {
    color: #8dc63f;
}
header h1 {
    line-height: 50px;
    margin: 0px;
    font-weight: 100;
    color: #8dc63f;
}
.userinfo::before {
    content: url(../img/user.svg);
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    padding-top: 3px;
    vertical-align: top;
}
.userinfo {
    display: inline-block;
    margin: auto;
    border-radius: 4px;
    line-height: 30px;
    padding: 0px 10px;
}
.userinfo:hover {
    background-color: #111111;
}
a {
    text-decoration: none;
    color: #cccccc;
}
a:hover {
    color: #8dc63f;
}
.sitemap {
    width: 100%;
    margin: 10px auto;
}
.sitemap a {
    display: inline-block;
    padding: 5px;
    margin: 0px 5px;
    border-radius: 5px;
}
.sitemap a:hover {
    background-color: #222222;
}
.sitemap a:last-child {
    color: #8dc63f;
}


.pagecat::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-bottom: 5px;
    margin-right: 5px;
    vertical-align: text-bottom;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.pagecat {
    //text-indent: -30px;
    display: inline-block;
}
.pagecat.cur::before {
    background-image: url(../img/pagecat_cur.svg);
}
.pagecat.lts::before {
    background-image: url(../img/pagecat_lts.svg);
}
.pagecat.dev::before {
    background-image: url(../img/pagecat_dev.svg);
}
.pagesubtl {
    display: inline-block;
    vertical-align: middle;
    margin: 0px;
    margin-bottom: 8px;
}
.pagesubtl::before {
    content: "-";
    display: inline-block;
    margin: 0px 15px;
}
.pagelinks {
    padding: 10px 5%;
    width: 80%;
    margin: 20px 5%;
    text-align: left;
}
.pagelink::before {
    content: ">>";
    display: inline;
    margin-right: 5px;
    color: #8dc63f;
}
/*.jumplink::before {
    content: url(../img/jumplink.svg);
    display: inline;
}*/
.pagelink {
    display: inline-block;
    border-radius: 4px;
    line-height: 30px;
    padding: 0px 10px;
}
.pagelink:hover {
    background-color: #222222;
}


.maillink {
    color: #8dc63f;
}
.maillink:hover {
    text-decoration: underline;
}


.jumplink::before {
    content: url(../img/jumplink.svg);
    display: block;
    width: 50%;
    margin: 0px 25%;
}
.jumplink.drive::before {
    content: url(../img/drivelink.svg);
}
.jumplink.pdf::before {
    content: url(../img/pdflink.svg);
}
.jumplink.github::before {
    content: url(../img/gitlink.svg);
}
.jumplink {
    display: inline-block;
    vertical-align: top;
    width: 100px;
    text-align: center;
    padding: 15px 0px;
    border-radius: 10px;
}
.jumplink:hover {
    background-color: #111111;
}
.jumplinks.light .jumplink:hover {
    background-color: #222222;
}
.jumplinks.center {
    text-align: center;
}
.wrapper {
    display: inline-block;
}
.wrapper.block {
    display: block;
}

.userdata {
    width: 80%;
    margin: 10px 10%;
    text-align: left;
}
.userdata th {
    color: #8dc63f;
}
.userdata th, .userdata td {
    padding: 5px;
}

.results {
    width: 260px;
    margin: 20px auto;
}
.results.full {
    width: auto;
    border-spacing: 0px;
    border-collapse: collapse;
}
.results.full tr:nth-child(2n) {
    background-color: #222222;
}
.results th {
    color: #8dc63f;
    text-align: left;
}
.results td {
    text-align: right;
    font-size: 1.2em;
}
.results span {
    color: grey;
    font-size: 0.7em;
}
.results.full th, .results.full td {
    font-size: 1em;
    padding: 2px;
}
.resloading {
    overflow: hidden;
}
.resloading .bar {
    text-align: center;
    line-height: 30px;
    min-width: 60px;
    border-radius: 5px;
    background-color: #222222;
}


hr {
    border-color: grey;
}

.lessontitle {
    margin: 15px auto;
    text-align: left;
    /* padding: 0px 15px; */
    width: 80%;
    cursor: pointer;
}
.description {
    width: 80%;
    margin: 0px auto 15px auto;
    text-align: left;
}
.lessonwrap {
    display: none;
}
.paragraphTitle {
    font-size: 1.2em;
}
.exampletitle {
    display: inline-block;
    text-align: center;
    width: 100%;
    margin-top: 15px;
}
pre {
    display: block;
    //width: 80%;
    margin: 15px auto;
    text-align: left;
    font-family: 'Ubuntu Mono', monospace;
    padding: 10px;
    border-radius: 2px;
    overflow-x: auto;
    tab-size: 5;
    color: inherit;
    //white-space: pre-wrap;
    background-color: #444444;
    box-shadow: 0px 0px 5px black;
}
codename {
    display: block;
    margin-bottom: 7px;
    padding-left: 5px;
}
codename .type {
    display: inline-block;
    padding: 2px 10px 2px 0px;
}
codename a {
    display: inline-block;
    padding: 2px 10px;
    border-left: solid 1px #cccccc;
}
code:before {
    counter-reset: listing;
}
coderow {
    counter-increment: listing;
}
coderow::before {
    content: counter(listing) ". ";
    display: inline-block;
    position: relative;
    width: 8em;
    //padding-left: auto;
    //margin-left: auto;
    margin-right: 5px;
    text-align: right;
    width: 50px;
    color: grey;
}
.hljs {
    background: transparent;
    font-family: 'Ubuntu Mono', monospace;
    color: inherit;
    background-color: #222222;
    padding: 10px 5px;
    box-shadow: 0px 0px 5px black inset;
    border-radius: 2px;
}
.hljs * {
    font-family: 'Ubuntu Mono', monospace;
}
.hljs-keyword {
    color: #794d60;
    //color: #778899;
}
.hljs-string {
    color: orange;
}
.hljs-title {
    color: #aae9fe;
}
.hljs-number {
    color: red;
}
.expl, .lessoncontent {
    display: block;
    width: 80%;
    margin: 15px auto;
    text-align: left;
    padding: 15px;
}
.expl table {
    width: 100%;
}
.exercises {
    max-width: 500px;
    margin: 10px auto;
    text-align: left;
    list-style-type: decimal;
}
strong {
    color: #8dc63f;
    font-family: 'Ubuntu Mono', monospace;
    display: inline-block;
    /*padding: 0px 5px;
    background-color: #222222;
    border-radius: 3px;*/
}
warning {
    color: #7b1228;
}



.chatroomtitle {
    text-align: center;
}
.dialog {
    overflow-y: auto;
}
.loading {
    width: 100%;
    height: 30px;
    background-image: url(../img/loading.gif);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.messagebox {
    width: 90%;
    margin: 2px 5%;
    text-align: left;
}
.messagebox.mine {
    text-align: right;
}
.messagebox .author {
    padding: 3px;
}
.messagebox .body {
    max-width: 60%;
    background-color: #444444;
    display: inline-block;
    padding: 10px 15px;
    border-radius: 20px;
    border-top-left-radius: 2px;
}
.messagebox.mine .body {
    background-color: #8dc63f;
    color: #111111;
    border-bottom-right-radius: 2px;
    border-top-left-radius: 20px;
    text-align: left;
}
.messagebox.mine.pending .body {
    background-color: #444444;
    color: #cccccc;
}
.messagebox.mine.pending::before {
    background-image: url('../img/loading.gif');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: 40px; 
    height: 30px;
    vertical-align: middle;
    content:"";
}
.messagebox .timestamp {
    display: none;
    padding: 10px 5px;
    opacity: 0.6;
}
.messagebox.mine .timestamp {
    /*float: left;*/
}
.compose {
    width: 90%;
    margin: 15px 5%;
    text-align: center;
}
.compose_body, .compose_submit {
    background-color: #444444;
    color: #cccccc;
    padding: 10px 15px;
    border: 0px;
    outline: none;
}
.compose_body {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.compose_submit {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}