body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

html, body {
    font-family: sans-serif;
    padding: 0;
    margin: 0;
    color: #353a3a;
    background: #c5caca;
}

#hero {
    text-align: center;
    padding-bottom: 5em;
    padding-top: 5em;
}

.ui-border {
    border-radius: 3px;
    border: 1px solid #333;
}

a {
    border-bottom: 1px dotted;
    text-decoration: none;
    font-weight: bold;
    color: #086;
}

a:hover {
    color: #097;
}

a:visited {
    color: #075;
}

.button {
    cursor: pointer;
}

.ui-elem {
    background: #fff;
    font-size: 1em;
    opacity: 0.8;
    padding: 0.3em;
    border-radius: 3px;
    font-weight: 300;
    border: 1px solid #333;
}

.landing-button {
    line-height: 200%;
    display: inline-block;
    width: 10em;
    white-space: nowrap;
    border-radius: 3px;
    border: none;
    margin: 0.5em;
    background: #0a6;
    font-size: 1.5em;
    text-decoration: none;
    font-weight: 300;
}

.landing-button.demo {
    opacity: 0.9;
    background: #ddd;
    color: black !important;
}

.landing-button:hover {
    background: #0b7;
}

.landing-button.demo:hover {
    background: #eee;
}

footer {
    text-align: center;
    padding-bottom: 1em;
    font-size: 0.8em;
    width: 100%;
    font-weight: 300;
}

footer a {
    border: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Tahoma, Verdana, Arial, sans-serif;
    color: #353a3a;
}

h1 {
    font-size: 1.8em;
}

h2 {
    font-size: 1.6em;
}

h3 {
    font-size: 1.4em;
}

h4 {
    font-size: 1.2em;
}

h5 {
    font-size: 1.1em;
}

h6 {
    font-size: 1.0em;
}

#hero h1 {
    font-size: 2.5em;
}

#hero h2 {
    margin: 2em;
    font-weight: 300;
}

#dashed-line {
    border-bottom: 1px dashed#888;
}

article {
    text-align: justify;
    margin-top: 3em;
    margin-bottom: 5em;
    margin-right: auto;
    margin-left: auto;
}

article img {
    max-width: 100%;
}

article p {
    line-height: 160%;
    font-size: 1.05em;
}

article > h1:first-child {
    margin: 2em;
    font-size: 2.0em;
    text-align: center;
}

.central-element {
    margin-right: auto;
    margin-left: auto;
}

strong {
    font-weight: 600;
}

blockquote {
    font-family: Georgia, Palatino, "Palatino Linotype", serif;
}

blockquote {
    padding-left: 1em;
    border-left: 4px solid #097;
}

.centered {
    text-align: center;
}

.bottom-space {
    margin-bottom: 7em;
}

*:focus {
    outline: 0px none transparent;
}

pre, code {
    white-space: pre-wrap;
    font-family: monospace;
    font-size: 1.1em;
    border-radius: 3px;
    background-color: #b5baba;
}

pre {
    padding: 1em;
}

table {
    border-collapse: collapse;
    width: 100%;
}

th {
    background-color: #b5baba;
    line-height: 2.5em;
    padding: 0.3em;
}

td {
    line-height: 2.5em;
    padding: 0.3em;
    border-top: 1px solid #404545;
}

.middot {
    padding: 0.5em;
}

textarea {
    background-color: #b5baba;
    font-size: 1.2em;
    border-radius: 5px;
    flex: 1 0;
    margin: 3em;
    padding: 2em;
}

textarea, fieldset {
    border: none;
}

fieldset {
    margin-left: 3em;
    margin-right: 3em;
    margin-bottom: 3em;
}

form {
    display: flex;
    flex: 1 0;
    flex-direction: column;
}

#captcha {
    display: none;
}

li {
    margin: 0.3em 0;
}

#feedback {
    margin-left: 1em;
    color: #a22;
}

/* MEDIA QUERIES */

@media screen and (min-width: 1024px) {
    article, .central-element {
        width: 800px;
    }
    #dashed-line {
        margin-bottom: 3em;
        margin-top: 3em;
    }
}

@media screen and (max-width: 1023px) {
    article, .central-element {
        width: 90%;
    }
    #dashed-line {
        margin-bottom: 0.5em;
        margin-top: 0.5em;
    }
}

