/* Generic elements */
html, body {
    margin: 0;
    padding: 0;
    font-size: 16px;
    height: 100%;
    font-family: sans-serif;
    line-height: 24px;
    word-wrap: break-word;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    /* Prevent font scaling in landscape */
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
}
[data-theme='dark'] body {
    background-color: #2B2D2F;
}
* {
    outline: none;
}
a {
    color: #375eab;
    text-decoration: none;
}
[data-theme='dark'] a {
    color: #53B4DB;
}
[data-theme='dark'] a:hover {
    text-decoration: underline;
}
[data-theme='dark'] p {
    color: #F0F1F2;
}
.gopherlogo {
  height: 2rem;
  margin-right: 2.25rem;
  width: 5.125rem
}
a.logo, .toc a {
    color: inherit;
}
h1, h2, h3, h4 {
    color: #333;
    line-height: 32px;
    margin: 0;
}
[data-theme='dark'] h1, [data-theme='dark'] h2, [data-theme='dark'] h3, [data-theme='dark'] h4 {
    color: #F0F1F2;
}
pre, code {
    font-family: 'Inconsolata', monospace;
    border-radius: 4px;
    color: #333;
    background-color: #fafafa;
}
[data-theme='dark'] code, [data-theme='dark'] .info {
    background-color: #2B2D2F !important;
    color: #BABABA;
}
pre {
    padding: 10px;
}
code {
    padding: 2px;
}
.left {
    display: block;
    float: left;
    margin-right: 10px;
}
.right {
    display: flex;
    float: right;
    margin-left: 10px;
}
.right * {
    vertical-align: middle;
}
.bar {
    display: block;
    overflow: hidden;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.wrapper {
    position: fixed;
    overflow: auto;
    top: 48px;
    bottom: 0;
    left: 0;
    right: 0;
}
[data-theme='dark'] .wrapper {
    background: #171717;
}
.container {
    max-width: 800px;
    width: 90%;
    margin: 0 auto 36px auto;
    padding: 16px 5%;
    background: #ffffff;
}
[data-theme='dark'] .container {
    background: #171717;
}
.container a {
    color: #375eab;
}
[data-theme='dark'] .container a {
    color: #53B4DB;
}
[data-theme='dark'] .container p {
    color: #F0F1F2;
}
.relative-content {
    display: block;
    position: relative;
    height: 100%;
}
.highlight {
    background: #b5533b !important;
    color: yellow !important;
}
.hidden {
    display: none;
}
p {
    margin: 16px 0;
}
li {
    margin: 8px 0;
}
[data-theme='dark'] li {
    color: #F0F1F2;
}
ul {
    list-style: none;
    margin: 0;
    padding-left: 32px;
}
/* Navigation bars */
.top-bar {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
    font-size: 1.4em;
    padding: 8px 24px;
    text-align: center;
    color: #fff;
    background: #007d9c;
    height: 2rem;
}
.top-bar a {
    vertical-align: middle;
    font-weight: bold;
}
.nav {
    float: right;
    padding: 2px;
    height: 25px;
    width: 25px;
    margin-left: 10px;
    cursor: pointer;
    fill: #fff;
}
/* Module list */
.page-header {
    font-size: 1.2em;
    line-height: 32px;
    margin: 32px 0;
}
@media (max-width: 515px) {
    .page-header {
        font-size: 0.75em;
    }
}
.module {
    margin: 32px 0;
}
.module-title {
    font-size: 1.3em;
    font-weight: bold;
    color: #333;
    margin: 0;
}
.lesson {
    background: #E0EBF5;
    padding: 8px 16px;
    margin: 16px 0;
    position: relative;
}
[data-theme='dark'] .lesson {
    background: #202224;
}
.lesson-title {
    display: inline-block;
    font-size: 1.2em;
    font-weight: bold;
    margin: 16px 0 0 0;
    padding-right: 48px;
}
/* Lesson viewer */
.slide-content {
    padding: 16px;
    background: #fff;
}
[data-theme='dark'] .slide-content {
    background: #202224;
}
.module-bar {
    font-size: 1.5em;
    padding: 8px 0;
    text-align: center;
    line-height: 24px;
    font-size: 24px;
}
[data-theme='dark'] .module-bar {
    background: #202224;
    color: #F0F1F2;
}
.module-bar a {
    color: #375eab;
    position: relative;
    font-weight: bold;
    margin: 5px;
}
[data-theme='dark'] .module-bar a {
    color: #53B4DB;
}
.menu-button {
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
    font-size: 0.9em;
    border-radius: 2px;
    background-color: #E0EBF5;
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin: 2px;
    height: 24px;
    padding: 1px 8px;
    line-height: 24px;
    color: #444;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.menu-button:hover:not(.active) {
    border: 1px solid #C6C6C6;
    background-color: #fafafa;
}
[data-theme='dark'] .menu-button:hover {
    background-color: #D9D9D9;
    color: #53B4DB;
    text-decoration: none;
}
[data-theme='dark'] .menu-button:active {
    background-color: #202224;
}
.menu-button.active {
    background: #fff;
}
[data-theme='dark'] .menu-button {
    background: #3D3D3E;
    color: #BABABA;
}
.menu-button[imports-checkbox]:after {
    content: ' off';
}
.menu-button[imports-checkbox].active:after {
    content: ' on';
}
.menu-button[syntax-checkbox]:after {
    content: ' off';
}
.menu-button[syntax-checkbox].active:after {
    content: ' on';
}
#file-menu .menu-button {
    float: right;
}
[data-theme='dark'] #file-menu .menu-button {
    border: 1px solid #202224;
    color: #53B4DB;
}
a#run, a#kill {
    background-color: #375eab;
    color: #fff;
    width: 40px;
    text-align: center;
}
[data-theme='dark'] a#run, [data-theme='dark'] a#kill {
    background-color: #007F9F;
}
[data-theme='dark'] a#run:hover, [data-theme='dark'] a#kill:hover {
    background: #1A5D8359;
    border: 1px solid #53B4DB;
    color: #53B4DB;
}
[data-theme='dark'] a#run:active, [data-theme='dark'] a#kill:active {
    background: #1A5D8326;
    border: 1px solid #007F9F;
    color: #007F9F;
}
#run:hover:not(:active), #kill:hover:not(:active) {
    background-color: #fff;
    color: #375eab;
}
.output:not(.active) {
    display: none;
}
.output > pre {
    font-family: 'Inconsolata', monospace;
    background: #fafafa;
    margin: 0;
}
.output .system {
    color: #888;
}
[data-theme='dark'] .output .system {
    color: #F0F1F2;
}
.output .stderr {
    color: #D00A0A;
}
.output-menu .menu-button {
    float: left;
}
.output-menu, #file-menu {
    background: #fafafa;
}
#explorer {
    height: 32px;
    padding-left: 30px;
    background: #fafafa;
}
[data-theme='dark'] #explorer {
    background: #171717;
}
#explorer .imports-checkbox {
    float: right;
}
#explorer .menu-button.active {
    cursor: default;
}
#explorer .syntax-checkbox {
    float: right;
}
/* CodeMirror */
#file-editor {
    background: #FFFFD8;
    overflow: auto;
}
#file-editor > textarea {
    display: none;
}
#file-editor .CodeMirror {
    height: 100%;
    background: #FFFFD8;
}
#file-editor .CodeMirror-lines, #file-editor .CodeMirror-gutters {
    background: #FFFFD8;
    font-family: 'Inconsolata', monospace;
    line-height: 1.2em;
}
[data-theme='dark'] #file-editor, [data-theme='dark'] #file-editor .CodeMirror, [data-theme='dark'] #file-editor .CodeMirror-lines, [data-theme='dark'] #file-editor .CodeMirror-gutters {
    background: #253443;
    color: #BABABA;
}
.CodeMirror-code > .line-error {
    background: #FF8080;
}
.CodeMirror-code > .line-error .CodeMirror-linenumber {
    color: #FF5555;
    font-weight: bolder;
}
#file-editor .CodeMirror-gutters {
    width: 32px;
}
[data-theme='dark'] .cm-s-default .cm-keyword {
    color: #B984FF;
}
[data-theme='dark'] .cm-s-default .cm-number {
    color: #63EC8C;
}
[data-theme='dark'] .cm-s-default .cm-string {
    color: #F585C0;
}
[data-theme='dark'] .cm-s-default .cm-atom {
    color: #7bf;
}
[data-theme='dark'] .cm-s-default .cm-comment {
    color: #fb6;
}

[data-theme='dark'] .CodeMirror-cursor { border-color: #BABABA; }
[data-theme='dark'] .CodeMirror-selected { background: #55483a; }
[data-theme='dark'] .CodeMirror-focused .CodeMirror-selected { background: #433425; }
[data-theme='dark'] .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #433425; }
[data-theme='dark'] .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #433425; }

@media (min-width: 601px) {
    #editor-container {
        position: fixed;
        top: 48px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        overflow: hidden;
        background: #fff;
    }
    #left-side {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 50%;
        overflow: hidden;
    }
    .output {
        background-image: url(/tour/static/img/gopher.png);
        background-repeat: no-repeat;
        background-position: bottom;
        background-color: #fff;
    }
    [data-theme='dark'] .output {
        background-color: #202224;
    }
    div[vertical-slide] {
        position: absolute;
        top: 0px;
        bottom: 0px;
        width: 5px;
        background: #e0ebf5;
        left: 50%;
        right: 50%;
        z-index: 100;
        cursor: move;
    }
    [data-theme='dark'] div[vertical-slide] {
        background: #171717;
    }
    #right-side {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 50%;
        background: #fff;
    }
    [data-theme='dark'] #right-side {
        background: #202224;
    }
    .slide-content {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 30px;
        overflow: auto;
    }
    .module-bar {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 4px 0;
        margin: 0;
    }
    #top-part {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 33%;
        background: #e0ebf5;
    }
    #file-editor {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
    }
    div[horizontal-slide] {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 33%;
        height: 5px;
        background: #e0ebf5;
        z-index: 100;
        cursor: move;
    }
    [data-theme='dark'] div[horizontal-slide] {
        background: #171717;
    }
    #bottom-part {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 67%;
        min-height: 100px;
        z-index: 50;
    }
    #explorer {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
    #explorer + div {
        top: 32px;
    }
    #file-menu {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        background: #fafafa;
    }
    [data-theme='dark'] #file-menu {
        background: #171717;
    }
    .output {
        position: absolute;
        top: 32px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 0;
        overflow: auto;
    }
}
@media (max-width: 600px) {
    #top-part {
        border: 1px solid #ccc;
    }
    #left-side {
        background: #e0ebf5;
    }
    #right-side {
        padding-top: 48px;
    }
    #file-menu {
        height: 32px;
    }
    .output {
        background: white;
        max-height: 300px;
        overflow: auto;
    }
    #editor-container {
        padding-bottom: 40px;
    }
    .module-bar {
        position: fixed;
        background: #e0ebf5;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        height: 42px;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }
    .module-bar * {
        display: inline-block;
        width: 25%;
        font-size: 1.1em;
        padding: 8px 0;
    }
    div[horizontal-slide], div[vertical-slide] {
        display: none;
    }
}
/* Table of contents */
.toc {
    display: none;
    position: fixed;
    z-index: 200;
    font-size: 1.3em;
    top: 48px;
    bottom: 0;
    right: 0;
    width: 500px;
    background: #e0ebf5;
    color: black;
    overflow-y: auto;
    padding: 0;
    margin: 0;
    border-left: 4px solid #e0ebf5;
    border-bottom: 4px solid #e0ebf5;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
[data-theme='dark'] .toc {
    background: #171717;
    border-left: 4px solid #171717;
    border-bottom: 4px solid #171717;
}
.click-catcher {
    position: fixed;
    z-index: -100;
    top: 0;
    bottom: 0;
    left: 0;
    right: 10px; /* avoid covering the TOC scroller */
    background: rgba(0, 0, 0, 0);
}
.toc * {
    margin: 0;
    padding: 0;
    font-size: 0.95em;
    display: block;
}
.toc span, .toc a {
    padding: 4px;
}
.toc-module {
    color: #375eab;
    background: #e0ebf5;
}
[data-theme='dark'] .toc-module {
    color: #53B4DB;
    background: #171717;
}
[data-theme='dark'] .toc-module li {
    color: #F0F1F2;
    background: #2B2D2F;
}
.toc-lesson {
    background: #fafafa;
    color: #333;
    margin: 1px 0;
    cursor: pointer;
}
.toc-page {
    background: #fff;
    color: #333;
    padding-left: 4px;
    display: list-item;
}
.toc-lesson.active .toc-page {
    display: list-item;
}
.toc-page.active {
    color: #375eab;
    font-weight: bold;
}
@media (max-width: 600px) {
    .toc {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        border: none;
    }
    .toc ul {
        width: 100%;
    }
    .click-catcher {
        display: none;
    }
}

.header-toggleTheme [data-value] {
    display: none;
}

[data-theme='auto'] .header-toggleTheme [data-value='auto'] {
    display: block;
}

[data-theme='dark'] .header-toggleTheme [data-value='dark'] {
    display: block;
}

[data-theme='light'] .header-toggleTheme [data-value='light'] {
    display: block;
}

.header-toggleTheme {
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

.go-Icon {
    height: 1.125em;
    vertical-align: text-bottom;
    width: auto;
}
.go-Icon--inverted {
    filter: brightness(0) saturate(100%) invert(100%) sepia(97%) saturate(13%)
    hue-rotate(245deg) brightness(103%) contrast(107%);
}
