html, body {
    margin: 0;
    width: 100%;
    height: 100%;
    color: #252526;
}

@font-face {
    font-family: xits-math;
    src: url(fonts/xits-math.otf);
}

@font-face {
    font-family: fira-code;
    src: url(fonts/FiraCode-Regular.ttf);
}

@font-face {
    font-family: fira-sans;
    src: url(fonts/FiraSans-Regular.ttf)
}

.home {
    background-color: #007ACC;
}

.doc {
    background-color: #E5EBF1;
}

.fira {
    font-family: fira-code;
}

/* Desktop */

br {
    display: none;
}

header {
    background-color: #252526;
    color: #E5EBF1;
    top: 0;
    position: sticky;
    padding: 4%;
    padding-top: 2%;
    z-index: 100;
}

header.local {
    box-sizing: border-box;
    padding: 2%;
    padding-left: 4%;
    padding-right: 4%;
    position: fixed;
    width: 100%;
}

.float-left {
    font-size: 1.4em;
    float: left;
}

.float-right {
    display: inline-flex;
    float: right;
    font-size: 1.4em;
}

.float-right a {
    margin-left: 60px;
}

#text-box {
    font-size: 1.4em;
    font-family: fira-sans;
    background-color: #E5EBF1;
    display: block;
    padding: 8%;
    padding-bottom: 7%;
    padding-left: 18%;
    padding-right: 18%;
    line-height: 1.5;
    overflow: scroll;
}

a {
    text-decoration: none;
    color: #252526;
    border-bottom: 2px solid #252526;
}

a:hover {
    background-color: #007ACC;
    border-bottom: 2px solid #007ACC;
    color: #E5EBF1;
}

a:active {
    background-color: #252526;
    border-bottom: 2px solid #252526;
    color: #007ACC;
}

.nav a {
    color: #E5EBF1;
    text-decoration: none;
    border-bottom: 2px solid #252526;
}

.nav a:hover {
    background-color: #252526;
    color: #E5EBF1;
    border-bottom: 2px solid #E5EBF1;
}

.nav a:active {
    background-color: #007ACC;
    color: #E5EBF1;
    border-bottom: 2px solid #007ACC;
}

#input-box {
    display: block;
    background-color: #252526;
    margin-top: 7%;
    text-align: center;
}

input {
    background-color: #252526;
    border: none;
    border-bottom: 2px solid #007ACC;
    color: #E5EBF1;
    font-size: 2em;
    margin: auto;
    outline: none;
    width: 70%;
}

::-webkit-input-placeholder {
    color: #858585;
}

::placeholder {
    color: #858585;
}

::selection {
    color: #E5EBF1;
    background-color: #007ACC;
}

code {
    font-size: 1.2em;
    background-color: #858585;
    color: #E5EBF1;
    border-radius: 4px;
    padding: 3px;
}

#help-box {
    color: #E5EBF1;
    display: inline-block;
    margin-top: 2%;
    margin-left: 18%;
    margin-right: 18%;
    line-height: 1.5;
}

.help-text {
    font-size: 1.4em;
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
}

.help-link {
    text-decoration: none;
    color: #E5EBF1;
    border-bottom: 2px solid #E5EBF1;
}

.help-link:hover {
    background-color: #E5EBF1;
    border-bottom: 2px solid #E5EBF1;
    color: #007ACC;
}

.help-link:active {
    background-color: #252526;
    border-bottom: 2px solid #252526;
    color: #007ACC;
}

#output-box {
    display: block;
    padding: 2%;
}

#output {
    display: block;
    color: #E5EBF1;
    margin-left: 15%;
    margin-right: 15%;
    padding-bottom: 4%;
    font-size: 2em;
    text-align: center;
    white-space: normal;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

footer {
    bottom: 0;
    padding: 0.8px;
    font-size: 1em;
    left: 0;
    padding-left: 2%;
    position: fixed;
    width: 100%;
    background-color: #252526;
    color: #858585;
}

/* Mobile */

@media (max-width: 450px) {

    br {
        display: block;
    }

    header {
        text-align: left;
        display: block;
        padding: 0;
        padding-right: 0;
        position: fixed;
        width: 100%;
    }

    .float-left {
        display: inline-block;
        padding: 2%;
    }

    .float-right {
        display: block;
        font-size: 1.4em;
        padding: 2%;
        float: right;
        text-align: center;
    }
    
    .float-right a {
        display: block;
        margin-left: 0;
        text-align: right;
    }

    header.local {
        text-align: center;
        display: block;
        padding: 2%;
        position: fixed;
        width: 100%;
    }

    header.local .float-left {
        padding: 1%;
        float: left;
        text-align: left;
    }

    header.local .float-right {
        display: block;
        font-size: 1.4em;
        float: right;
        text-align: center;
    }
    
    header.local .float-right a {
        margin-left: 0;
    }

    #output-box {
        display: none;
        padding: 2%;
        padding-top: 34%;
        padding-bottom: 7%;
    }
    
    #output {
        margin-left: 2%;
        margin-right: 2%;
        padding-bottom: 4%;
    }
    
    input {
        font-size: 2em;
        margin: auto;
        outline: none;
        width: 94%;
    }

    #text-box {
        font-size: 1.2em;
        padding: 24%;
        padding-bottom: 7%;
        padding-left: 2%;
        padding-right: 2%;
    }

    #input-box {
        margin-top: 3%;
        margin-bottom: 3%;
    }

    #help-box {
        margin: 2%;
        padding-top: 36%;
        padding-bottom: 10%;
    }
    
    .help-text {
        font-size: 1.2em;
    }

    footer {
        padding: 0px;
        padding-left: 2%;
    }

    footer p {
        margin: 2%;
    }

}