::selection {
    background: #33cccc; /* WebKit/Blink Browsers */
    color: #111111;
}
::-moz-selection {
    background: #33cccc; /* Gecko Browsers */
    color: #111111;
}

* {
    background-color: #e5e8ea !important;
    color: #111111;
}

body {
    background-color: #e5e8ea;
    color: #111111;
    font-family: 'Helvetica', 'Arial', sans-serif;
    font-weight: 400 !important;
    font-size: 12px;
    letter-spacing: -0.05em;
    height: 100%;
}

html {
    height: 100%;
}

blockquote {
    margin-top: 10px;
    margin-bottom: 10px;
    color: #7447b7 !important;
    border-width: 0.25em;
}

.scrollable-parent {
    height: 100vh;
    overflow: hidden;
    display: inline-block;
    background: none !important;
}

.scrollable-child {
    height: 100vh;
    width: 100vw;
    overflow: auto;
    padding-right: 20px;
    background: none !important;
}

.padded {
    padding: 1em;
}

.is-child {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.left-align {
    text-align: left !important;

}

.center-text {
    text-align: center;
}

.horizontal-center {
    margin: auto;
}

.narrow {
    max-width: 35em !important;
    margin: auto;
}

.welcome-width {
    max-width: 75%;
}

.lecture-width {
    max-width: 50em !important;
}

.welcome {
    font-size: 2.5em;
    font-weight: 900;
    line-height: 1.0em;
}

.post-width {
    max-width: 50em;
    margin: auto;
}

.thick-text {
    font-weight: 900 !important;
}

.white-text {
    color: #fff !important;
}

.black-background {
    background-color: #000;
}

.small-logo {
    width: 250px !important;
    margin-bottom: -20px !important;
}

.gradient-fade {
    margin-top: -100vh;
    height: 100vh;
    width: 100vh;
    background: linear-gradient(to bottom, rgba(251,251,251,0) 0%,rgba(229,232,234,1) 100%) !important;
    display: none;
}

.greetings-box {
    padding: 1.5em;
    background-color: #000;
    color: #fff;
}

.matched-padding {
    padding-top: 27px;
}

.top-border {
    border-top: 2px solid;
    padding-top: 10px;
}

.bottom-border {
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#logo {
    float: left;
    padding: 1em;
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 700;
    text-align: center;
}

#logo:hover {
    color: #222;
}

.fade {
    transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
}

.project-box {
    background-color: #000;
    position: relative;
}

.project-description {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
}

.project-description:before {
    content: ' ';
    display: block;
    height: 30%;
}

.project-image {
}

h1 {
    font-size: 2.5em !important;
    font-weight: 700 !important;
    color: #111111;
}
h2 {
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: #111111;
}
h3 {
    font-style: italic !important;
    font-size: 1.2em !important;
    font-weight: 700 !important;
}

em {
    font-style: italic !important;
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: #f44242 !important;
}

.underline {
    text-decoration: underline;
    text-decoration-color: #7447b7;
}

#wrapper {
    z-index: 51;
    min-height: 100%;
    position: relative;
}

#content {
    padding-top: 1.5em;
    padding-bottom: 150px;
}

#more {
    font-family: 'Lora', serif;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    text-align: center;
    color: #33cccc;
}

.morelink {
    background-color: #33cccc;
    color: #111111;
    padding: 0.45em;
    font-family: 'Catamaran', sans-serif;
    text-decoration: none;
    font-variant: small-caps;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.morelink:hover {
    background-color: #65ece1;
    color: #111111;
}

#moredescription {
    font-size: 0.75em !important;
}

footer {
    width: 100%;
    background-color: #e5e8ea !important;
}

footer a {
    color: #e5e8ea;
}

footer a:hover {
    color: #7447b7 !important;
}

p {
    font-weight: 400 !important;
    font-size: 1.1em;
    line-height: 1.7em;
}

a {
    color: #3543a1 !important;
    background: none !important;
}

a:hover {
    color: #7447b7 !important;
}

#navigation {
    padding-right: 40px;
    padding-left: 40px;
    background: #e5e8ea !important;
}

nav {
    text-align: center;
    padding-top: 1em;
    padding-bottom: 1em;
    background: #e5e8ea !important;
    font-style: italic;
}

nav a {
    color: #111111 !important;
    font-weight: 700;
    font-size: 1.3em !important;
    padding-right: 2em;
    padding-left: 2em;
    text-decoration: none;
    letter-spacing: 0.05em;
}

nav a:hover {
    color: #111111 !important;
    text-decoration: underline;
    text-decoration-color: #7447b7;
}

ul {
    list-style-type: none;
    line-height: 1.7em;
}

ul.plus li:before {
    content: "+";
    position: absolute;
    left: -5px;
}

ul.plus li {
    text-indent -5px;
}

ul li {
    padding-top: 0.5em;
    font-weight: 400;
}

.fa {
    font-size: 1.3em !important;
    vertical-align: middle !important;
}

#continuelink {
    letter-spacing: 0.05em;
    font-weight: 700;
}

#continuelink:hover {
    letter-spacing: 0.05em;
    font-weight: 700;
}

@media screen and (max-width: 800px) {
    .nav-right {
        display: block;
        text-align: center;
    }

    body {
        font-size: 11px !important;
    }

    .small-logo {
        width: 200px !important;
    }
}

@media screen and (min-width: 2560px) {
    body {
        font-size: 14px;
    }
}
