html, body {
    min-height: 100%;
}

.wrapper {
    margin: 0 2.5em 0 2.5em;
    padding: .5em 0 1em 0;
    transition: margin-left .2s;
}

.pinned-sidebar .wrapper {
    margin-left: 265px;
}

.wrapper h2 {
    margin-top: 0px;
}

pre {
    background-color: transparent;
    border: none;
}

.CodeMirror {
    border: 1px solid silver;
}

.button-bar {
    text-align: right;
    margin-top: 5px;
    margin-bottom: -35px;
}

.button-bar .checkbox {
    display: inline;
}

.auto-run-checkbox {
    margin-right: .5em;
}

/* -- Test Results -- */
h3 .test-status-indicator {
    font-size: 75%;
    position: relative;
    top: -2px;
}

.test-cases th {
    vertical-align: top;
    padding: 3px .7em;
    border: 1px solid #ccc;
}

.test-cases td {
    vertical-align: top;
    padding: 3px 1em;
    border: 1px solid #ccc;
}

.test-cases .test-case-spacer td {
    border: none;
    background-color: white;
}

td.test-case-description {
    font-size: 110%;
}

.test-case-details td {
    border-bottom-width: 2px;
}

.test-cases h4 {
    font-size: 1em;
    margin: 0;
    margin-bottom: 4px;
}

.test-case-error-message {
    color: red;
}

.test-cases td.test-case-status {
    vertical-align: middle;
    border-bottom-width: 2px;
}

.test-case-status {
    font-size: 100%;
}

.test-status-indicator {
    color: white;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-weight: bold;
    padding: 2px 5px;
    border-radius: 3px;
}

.test-status-indicator-pass {
    background-color: green;
}

.test-status-indicator-fail {
    background-color: orange;
}

.test-status-indicator-error {
    background-color: red;
}

.test-cases td.test-case-expression {
    font-style: italic;
    vertical-align: middle;
    min-width: 14em;
}

.test-case-expression pre {
    font-style: normal;
}

.test-case-lint ul {
    padding-left: 10px;
}

/* -- Console -- */
div.console {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 12px;
}

div.console p {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eee;
}

div.console p:last-child {
    border-bottom: none;
}

div.console p:before {
    content: '>';
    color: #666;
    font-weight: bold;
}

div.console .value {
    padding-left: .5em;
}

div.console p.level-info {
    background-color: #eef;
    border-bottom-color: #ccf;
}

div.console p.level-warn {
    background-color: #ffe;
    border-bottom-color: #ffa;
}

div.console p.level-error {
    background-color: #fee;
    border-bottom-color: #fcc;
}

.hint-model__solution {
    position: relative;
}

.hit-modal__solution__reveal-button-container {
    position: absolute;
    width: 100%;
    top: 25%;
    text-align: center;
}

.hint-model__solution--hidden pre {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none; /* Non-prefixed version, currently
                                 supported by Chrome and Opera */
}

/* -- Challenge List Sidebar -- */
.challenge-list {
    position: fixed;
    height: 100%;
    width: 20px;
    overflow-x: hidden;
    background-color: white;
    border-right: 1px solid silver;
    z-index: 10;
    background-image: url('images/hamburger.png');
    background-repeat: no-repeat;
    background-position: 3px 4px;
    transition: width .2s;
}

.open-sidebar .challenge-list {
    width: 250px;
    box-shadow: 2px 0 6px silver;
}

.challenge-list nav {
    width: 250px;
    padding: 2px .5em 2px 20px;
}

.challenge-list nav a {
    border: 1px solid #337ab7;
    border-radius: 4px;
    padding: 0 4px;
    margin: 0 1px;
}

.challenge-list nav a:hover, .challenge-list nav a:focus {
    border-color: #23527c;
    background-color: #fcfcfc;
}

.challenge-list h3 {
    width: 250px;
    padding: 0 .5em 0 20px;
    margin-top: 2px;
}

.challenge-list .adminNav {
    padding-left: 20px;
}

.challenge-list p {
    width: 250px;
    padding: 0 .5em 0 2px;
}

.challenge-list a {
    text-decoration: none;
}

.challenge-list a:hover .title {
    text-decoration: underline;
}

.status-indicator {
    display: inline-block;
    position: relative;
    border: 1px solid silver;
    width: 1.1em;
    height: 1.1em;
    border-radius: 50%;
    top: 3px;
}

.current .status-indicator {
    border-width: 2px;
}

.current .status-indicator:after {
    content: '';
    position: absolute;
    display: block;
    top: 30%;
    left: 30%;
    width: 40%;
    height: 40%;
    background-color: white;
    border-radius: 50%;
}

.current.status-unvisited .status-indicator:after {
    background-color: black;
}

.status-visited .status-indicator {
    background-color: gray;
}

.status-done .status-indicator {
    background-color: green;
}

/* -- Admin -- */
.edit-sets .nav .as-sortable-placeholder {
    background-color: red;
    display: none !important;
}

.edit-sets .nav .drop {
    color: rgb(35, 82, 124);
    background-color: #eee;
}

.list-panel-options > * {
    margin-right: .5em;
}
.list-panel-options > :first-child {
    margin-right: 0;
}

.panel-heading--collapsible {
    cursor: pointer;
}

.user-table__cell--active .glyphicon {
    color: green;
}

.user-table__cell--inactive .glyphicon {
    color: red;
}

.submission-report__form {
    margin-left: 0;
}

.submission-report__table__count {
    padding: 1px 5px;
    border-radius: 2px;
}

.submission-report__table__count--done, .submission-report__table__count--done:link, .submission-report__table__count--done:hover, .submission-report__table__count--done:visited, .submission-report__table__count--done:active,
.submission-report__table__count--visited, .submission-report__table__count--visited:link, .submission-report__table__count--visited:hover, .submission-report__table__count--visited:visited, .submission-report__table__count--visited:active {
    color: white;
    text-decoration: none;
}

.submission-report__table__count--done {
    background-color: green;
}

.submission-report__table__count--visited {
    background-color: gray;
}

.submission-report__tooltip ol {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.submission-report__tooltip li {
    margin-bottom: 3px;
}
.submission-report__tooltip li:last-child {
    margin-bottom: 0;
}

.submission-report__tooltip .tooltip-inner {
    max-width: 400px;
}

pre.view-submissions__tooltip__code {
    background-color: white;
    margin: 0;
    text-align: left;
    width: 380px;
}

.submission-report__table__cell .tooltip.in {
    opacity: 1;
}

.edit-group__sets__list {
    border: 1px dashed #333;
    border-radius: 10px;
    padding: 8px 8px 5px 8px;
}

.edit-group__sets__list__instuctions {
    font-style: italic;
    text-align: center;
}

.edit-challenge__delete {
    float: right;
}

.edit-challenge__delete--confirm {
    float: right;
    margin-right: 100px;
}

.edit-challenge__json {
    margin-top: 2em;
}

.test-case-sortable-handle {
    display: block;
    float: right;
}

.loading {
    padding-left: 2em;
}

.form-control--code {
    font-family: monospace;
}
