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