html,
body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 16px;
    font-weight: 400;
    background-color: #fff;
}

address {
    font-style: normal;
}

.container {
    max-width: 550px;
    margin: 0 auto;
    padding: 0 15px;
}

.header {
    padding: 20px 10px;
    background: #4C4F55;
}
    .header h1 {
        margin: 0;
    }
    .header a {
        display: block;
        overflow: hidden;
        height: 41px;
        width: 250px;
        margin: 0 auto;
        font-size: 0;
        text-align: left;
        text-indent: -9999px;
        background: url(img/logo.png) no-repeat 50% 50%;
        border: 0;
    }

.footer {
    padding: 30px 10px;
    font-size: 0.9rem;
    color: #fff;
    background: #4C4F55;
}
    .footer p {
        margin: 0 0 5px;
    }
    .footer address {
        max-width: 400px;
        margin: 20px 0 0;
    }
    .footer a {
        color: inherit;
        text-decoration: none;
    }

.alert-error {
    margin: 0 -20px 20px;
    padding: 20px;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.hidden.hidden {
    display: none;
}

.button {
    display: block;
    margin: 0 0 15px auto;
    padding: 10px 20px;
    color: #fff;
    font-size: 1rem;
    background-color: #2BACDF;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
}
.button:hover,
.button:focus,
.button:active {
    background-color: #115773;
}

h1 {
    margin: 20px 0;
    font-size: 32px;
    color: #4C4F55;
}
h2 {
    margin: 10px 0;
    font-size: 20px;
}

.note {
    font-size: 0.8rem;
}

.tax {
    margin: 1rem 0;
    padding: 1rem 0 0;
    border-top: 1px solid #eee;
}
    .tax__title {
        margin: 0;
        font-size: 1rem;
        text-align: left;
    }

.terms {
    margin: 20px 0 30px;
    padding: 15px 0 0;
    font-size: 0.666rem;
    border-top: 1px solid #eee;
}

/* Table */
table {
    width: 100%;
    border-collapse: collapse;
}
    table th,
    table td {
        padding: 10px;
        text-align: center;
    }
    table tbody th {
        text-align: left;
        font-weight: 400;
        border: 1px solid #eee;
    }
    table tbody td {
        border: 1px solid #eee;
    }
/* @end Table */

/* Forms */
.form {
    position: relative;
}

.form__wrapper,
.form__group {
    margin: 1rem auto;
    border-bottom: 1px solid #eee;
}

.form__wrapper--block {
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.form__group {
    display: flex;
    padding: 0 0 1rem;
}
    .form__group > * {
        display: block;
        width: 100%;
    }
    .form__group + p {
        margin-top: 0;
    }

.form__wrapper .form__group {
    margin-bottom: 0;
    border: 0;
}

.form__group__title {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: normal;
}

.form label {
    padding: 5px 10px 5px 0;
}
.form input {
    padding: 5px;
}

.form__group--checkbox {}
    .form__group--checkbox label {
        padding: 5px 0;
    }
    .form__group--checkbox .checkbox--values {
        display: flex;
        margin: 15px 0 0;
        text-align: center;
        background: #eee;
    }
    .form__group--checkbox input + .checkbox--values .checked,
    .form__group--checkbox input + .checkbox--values .unchecked {
        position: relative;
        display: block;
        width: 100%;
        padding: 15px 5px;
        cursor: pointer;
        border-left: 1px solid #e1e1e1;
    }
    .form__group--checkbox input + .checkbox--values .checked {
        border-left-width: 0;
    }
    .form__group--checkbox input + .checkbox--values .checked:after,
    .form__group--checkbox input + .checkbox--values .unchecked:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        background: #999;
        opacity: 0;
        content: "";
    }
    .form__group--checkbox input + .checkbox--values .checked:hover:after,
    .form__group--checkbox input + .checkbox--values .unchecked:hover:after {
        opacity: 0.2;
    }
    .form__group--checkbox input + .checkbox--values .unchecked:after,
    .form__group--checkbox input + .checkbox--values .unchecked:hover:after,
    .form__group--checkbox input:checked + .checkbox--values .checked:after,
    .form__group--checkbox input:checked + .checkbox--values .checked:hover:after {
        opacity: 0.5;
    }
    .form__group--checkbox input:checked + .checkbox--values .unchecked:after {
        opacity: 0;
    }
    html.js .form__group--checkbox label {
        display: flex;
        flex-direction: column-reverse;	
    }

.form__group--radio {
    margin: 0;
    padding: 0;
    border: 0;
    text-align: center;
    background: #eee;
}
    .form__group--radio label {
        position: relative;
        overflow: hidden;
        padding: 15px 5px;
        cursor: pointer;
        border-left: 1px solid #e1e1e1;
    }
    .form__group--radio label:first-child {
        border-left-width: 0;
    }
    .form__group--radio span {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        background: #999;
        opacity: 0;
    }
    .form__group--radio label:hover > span {
        opacity: 0.2;
    }
    .form__group--radio input:checked + span {
        opacity: 0.5;
    }

html.js .form__group--checkbox input,
html.js .form__group--radio input {
    position: absolute;
    top: -100px;
    left: -100px;
    overflow: hidden;
    display: block;
    height: 0;
    width: 0;
}
/* @end Form */