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