* {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    font-smooth: always;
}

*, *:before, *:after {
    box-sizing: border-box;
}

body {
    padding: 0;
    font-size: 100%;
    background: #fff;
    color: #000;
}

body, h1, h2, h3, h4, h5, h6, p, a {
    font-family: "Noto Sans", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1.5em;
    text-transform: uppercase;
}

table th {
    text-align: left;
    padding-right: 1em;
}

table td.numeric {
    text-align: right;
}

table.nice-table {
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: #999;
    border-spacing: 0;
}

table.nice-table th {
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #999;
    padding: .2em .6em;
    background: #cccccc;
    text-align: left;
    vertical-align: top;
}

table.nice-table td.numeric {
    text-align: right;
}

table.nice-table td {
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #999;
    padding: .2em .6em;
    background: #ffffff;
    text-align: left;
    vertical-align: top;
}

#header .outer {
    width: 100%;
    padding-bottom: .5em;
    border-bottom: 3px solid #f37021;
}

#header .inner {
    width: 100%;
    max-width: 800px;
    margin: auto;
}

#content {
    margin: auto;
    padding-bottom: 8em;
    max-width: 800px;
}

.center-message {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    font-size: 2em;
    text-align: center;
}

/* --------------- */

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

input[type="text"], input[type="password"], input[type="url"], input[type="email"], input[type="number"], input[type="tel"], textarea, select {
    border: 1px solid #c8c6c0;
    color: #000000;
    background: #ffffff;
}

input[type="submit"] {
    color: #ffffff;
    background: #008cbd;
    font-family: 'Noto Sans', sans-serif;
    font-weight: normal;
    font-size: 100%;
    display: inline-block;
    white-space: nowrap;
    text-align: center;
    padding: .25em 1.1em;
    border: 0;
}

input[type="submit"]:hover {
    background: #007aa3;
}

input:focus {
    border: 1px solid #9999ff;
}

input {
    font-size: 100%;
}

a.button {
    color: #ffffff;
    background: #008cbd;
    font-family: 'Noto Sans', sans-serif;
    font-weight: normal;
    display: inline-block;
    white-space: normal;
    text-align: center;
    padding: .25em 1.1em;
    margin: .1em;
}

a.button:link {
    color: #ffffff;
    text-decoration: none;
}

a.button:visited {
    color: #ffffff;
    text-decoration: none;
}

a.button:hover {
    color: #ffffff;
    background: #007aa3;
    text-decoration: none;
}

a.big-fat-button {
    color: #ffffff;
    background: #ff671f;
    width: 100%;
    font-family: 'Noto Sans', sans-serif;
    font-weight: normal;
    font-size: 1.5em;
    display: inline-block;
    white-space: normal;
    text-align: center;
    padding: 1em 1.1em;
    margin: .1em;
    border-radius: 2em;
}

a.big-fat-button:link {
    color: #ffffff;
    text-decoration: none;
}

a.big-fat-button:visited {
    color: #ffffff;
    text-decoration: none;
}

a.big-fat-button:hover {
    color: #ffffff;
    background: #e55e25;
    text-decoration: none;
}

.spinnerContainer {
}

.spinner {
    border: 5px solid #ffcd7a;
    border-top: 5px solid #ff5500;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.response-form {
    width: 100%;
}

.response-form tr.submit-row > td {
    padding-top: 1em;
}


.ffLabelBesideInputGroup {
    background: #eee;
    padding: .5em;
    overflow: auto;
}

.ffLabelBesideInputContainer {
    padding-bottom: .5em;
    overflow: auto;
}

.ffLabelBesideInputContainer .ffLabel {
    float: left;
    width: 30%;
    padding-right: 1em;
    text-align: right;
}

.ffLabelBesideInputContainer .ffInput {
    float: left;
    width: 70%;
    text-align: left;
}

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

.ffSubmitButtonContainer {
    overflow: auto;
}

.horizontal-if-space {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

@media (min-width: 320px) {
    .ffLabelBesideInputGroup {
    }

    .ffLabelBesideInputContainer {
    }

    .ffLabelBesideInputContainer .ffLabel {
        width: 100%;
        padding-right: 0;
        text-align: left;
    }

    .ffLabelBesideInputContainer .ffInput {
        width: 100%;
    }

    .ffLabelBesideInputGroup.ffSubmitButtonContainer {
        width: 100%;
    }

    .horizontal-if-space {
        flex-direction: column;
    }
}

@media (min-width: 480px) {
    .ffLabelBesideInputGroup {
    }

    .ffLabelBesideInputContainer {
    }

    .ffLabelBesideInputContainer .ffLabel {
        width: 30%;
        padding-right: 1em;
        text-align: right;
    }

    .ffLabelBesideInputContainer .ffInput {
        width: 70%;
        text-align: left;
    }

    .ffLabelBesideInputGroup.ffSubmitButtonContainer {
        width: 100%;
    }

    .horizontal-if-space {
        flex-direction: row;
    }
}
