/* Basic Layout */
body {
    padding: 0;
    margin: 0;
    background-color: #fff;
    color: #333;
    font: 12px/18px sans-serif;
}

.wrapper {
    min-width: 600px;
    max-width: 1250px;
    float: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px 0 20px;
}

.header, .footer {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

ul,ol {
    margin-bottom: 20px;
}

/* Column styles */
.onecol, .twocol {
    width: 100%;
    margin: 0 auto 20px auto;
    display: inline-block;
    position: relative;
}

.column {
    float: left;
    margin-left: 0;
}

/* One Column */
.onecol .column {
    width: 96%;
}

/* Two Column */
.twocol .column {
    width: 48%;
}
.column.second {
    float: right;
}

/* Text settings */
a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

h1, h2, p {
    font-weight: normal;
    font-style: normal;
    margin-bottom: 15px;
}

h1 {
    font-size: 24px;
}

h2 {
    font-size: 18px;
}

.comment {
    font-size: 9px;
}

/* Header */
.header {
    height: 10px;
    margin: 0 auto 15px auto;
}

.navigation {
    margin: 0;
    float: right;
}

.navigation li {
    display: inline;
    padding: 8px;
}

.navigation li a {
    background-color: #eee;
    font-size: 15px;
    padding: 5px 15px;
}

.navigation li a:hover {
    background-color: #ddd;
    text-decoration: none;
    border-bottom: 5px solid #ddd;
}

/* Footer */
.footer {
    border-top: 1px solid #ddd;
    font-size: 10px;
    line-height: 26px;
    color:#888;
}

.footer a {
    color: #666;
}

/* High level formatting */
.delete {
    float: right;
}

.command {
    font-size: 10px;
    font-family: monospace;
}

.rectangle {
    border: solid #bbb 1px;
    word-wrap: break-word;
    border-radius: 5px;
    margin: 10px;
    padding: 5px;
}

.rankable {
    padding: 5px;
    margin: 2px;
    background: #eee;
    border: solid;
    border-width: 1px;
    display: inline-block;
    cursor: pointer;
}

.rankable:hover {
   background: #ddd;
}

.rank_container {
    padding: 8px;
    width: auto;
    min-width: 100px;
    text-align: center;
    background-image: -webkit-linear-gradient(top, #eee 0%, #999 100%);
    border-radius: 5px;
}

.rank {
    padding: 0px;
    margin: 0px;
    height: auto;
    min-height: 5px;
    width: auto;
}

.highlighted {
    background: #ff0;
}

.end {
    min-height: 30px;
}

.score {
    text-align: right;
}

.odd_row {
    background: #eee;
}

.error {
    background: #fee;
    border: solid;
    border-width: 1px;
    border-color: #fcc;
    padding: 20px;
}

.success {
    background: #efe;
    border: solid;
    border-width: 1px;
    border-color: #cfc;
    padding: 20px;
}

.warning {
    background: #ff9;
    border: solid;
    border-width: 1px;
    border-color: #fc6;
    padding: 20px;
}

.giant {
    font-size: 20px;
}

.arrowbody {
    background: #ccc;
    margin-top: 6px;
    margin-left: 12px;
    width: 10px;
    height: 12px;
    float: left;
}

.arrowhead {
    border-left: 12px solid #ccc;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 12px solid transparent;
    font-size: 0;
    line-height: 0;
    width: 0;
    float: right;
}
