/* 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 {
    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%);
}
