*,
blockquote,
body,
button,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
ul {
    margin: 0;
    padding: 0
}

.container,
body {
    display: -ms-flexbox
}

*,
body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}

.container,
.container form {
    max-width: 500px;
    width: 100%
}

#payment-form input,
*,
.agreement,
.agreement a,
.notification,
body {
    -webkit-font-smoothing: antialiased
}

* {
    -webkit-text-size-adjust: none;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 15px;
    line-height: 1.4em;
    color: #525f7f
}

ol,
ul {
    list-style: none
}

a {
    text-decoration: none
}

button,
select {
    border: none;
    outline: 0;
    background: 0 0;
    font-family: inherit
}

.container .cell,
.container form {
    border-radius: 4px;
    position: relative
}

#payment-form input,
.cell * {
    font-family: Roboto, Open Sans, Segoe UI, sans-serif
}

a,
button,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent
}

:root {
    overflow-x: hidden;
    height: 100%
}

body {
    background: linear-gradient(135deg, #fec163 10%, #f49627 100%);
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100%;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    font-weight: 400;
    font-style: normal;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    font-feature-settings: "pnum";
    font-variant-numeric: proportional-nums
}

.global {
    -ms-flex-positive: 1;
    flex-grow: 1
}

header {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    height: 80px;
    background: url(../images/logo.svg) center center no-repeat #fff;
    background-size: 200px;
    border-bottom: 1px solid #f3f3ff
}

header a {
    margin: 30px
}

header a.help {
    background: url(../images/help.svg) left top no-repeat;
    padding-left: 20px;
    background-size: 16px
}

header a.back:before {
    content: U+000AB
}

header a:hover {
    text-decoration: underline
}

#payment-methods input+label,
.small-caps {
    text-decoration: none;
    text-transform: uppercase
}

.small-caps {
    font-size: 13px;
    font-weight: 500;
    color: #627286;
    letter-spacing: .3px
}

main {
    flex: 1
}

.container {
    margin: 0 auto;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    padding: 90px 20px
}

.container .cell {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex: auto;
    flex: auto;
    min-width: 100%;
    min-height: 500px;
    background-color: #fcfdff;
    align-items: center;
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    padding: 0 20px;
    margin-left: -20px;
    margin-right: -20px
}

.cell * {
    font-size: 16px;
    font-weight: 500
}

.container form {
    padding: 30px 20px;
    transition-property: opacity, transform;
    transition-duration: .35s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

#payment-form .instructions {
    color: #627286;
    margin: -40px auto 0;
    text-align: center;
    max-width: 66%;
    font-size: 14px;
    background-color: #fcfdff
}

#payment-form .small-title {
    margin: 20px 15px 0;
    color: #5a6067;
    text-transform: uppercase;
    letter-spacing: .3px;
    font-size: 13px;
    font-weight: 500
}

#payment-form>span {
    display: block;
    text-align: center
}

#payment-form fieldset {
    margin: 20px 15px;
    padding: 0;
    background-color: #fff;
    border: 1px solid #e1e5eb;
    border-radius: 4px
}

#payment-form .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 15px
}

#payment-form .row+.row {
    border-top: 1px solid #e5e5e8
}

#payment-form label {
    min-width: 70px;
    padding: 11px 0;
    color: #627286;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

#payment-form button,
#payment-form input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    border-style: none
}

#payment-form input:-webkit-autofill {
    transition: background-color 100000000s;
    -webkit-animation: 1ms void-animation-out
}

#payment-form .StripeElement--webkit-autofill {
    background: 0 0 !important
}

#payment-form .StripeElement {
    width: 100%
}

#payment-form input {
    width: 100%;
    font-weight: 400;
    color: #5a6067;
    font-size: 16px;
    padding: 11px 15px 11px 0;
    background-color: transparent;
    -webkit-animation: 1ms void-animation-out
}

#payment-form input::-webkit-input-placeholder {
    color: #a0aec0;
    font-weight: 400
}

#payment-form input::-moz-placeholder {
    color: #a0aec0;
    font-weight: 400
}

#payment-form input:-ms-input-placeholder {
    color: #a0aec0;
    font-weight: 400
}

#payment-methods {
    margin: 0 auto;
    text-align: center;
    width: 66%;
    padding: 0;
    border-style: none;
    background-color: #f3f6fd;
    border-radius: 4px
}

#payment-methods ul {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    width: 80%;
    margin: 0 auto
}

#payment-methods li {
    display: inline-block;
    list-style: none
}

#payment-methods ul>p {
    color: #fff;
    font-size: 12px;
    background-color: #e58206;
    padding: 6px;
    border-radius: 16px
}

#payment-methods input {
    display: none
}

#payment-methods input:checked+label {
    color: #f49627
}

#payment-methods input+label {
    position: relative;
    padding: 5px 0;
    font-size: 13px
}

.agreement a,
footer a:hover {
    text-decoration: underline
}

#payment-methods label {
    display: flex;
    flex: 1;
    cursor: pointer;
    min-width: fit-content
}

#payment-methods input:checked+label::before,
#payment-methods label:hover::before {
    opacity: 1;
    transform: scaleX(1)
}

#payment-methods label::before {
    content: "";
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 4px solid #f49627;
    opacity: 0;
    transform: scaleX(0);
    transition: all .25s ease-in-out
}

#mandate {
    margin: 20px 15px;
    text-align: justify;
    font-size: 14px;
    background: #f3f6fd;
    border-radius: 4px;
    padding: 10px
}

#card-errors,
#tip,
.eyebrow,
.notification {
    text-align: center
}

.visible {
    margin: 0 20px 0 0
}

.not-visible {
    display: none
}

#card-errors {
    margin-bottom: 15px;
    color: #e87168;
    font-weight: 400
}

#payment-form button,
button {
    display: block;
    width: calc(100% - 30px);
    height: 40px;
    margin: 0 15px;
    background-color: #f49627;
    box-shadow: 0 6px 9px rgba(50, 50, 93, .06), 0 2px 5px rgba(0, 0, 0, .08), inset 0 1px 0 #fec163;
    border-radius: 4px;
    color: #fff;
    font-weight: 600;
    cursor: pointer
}

#payment-form button:hover {
    transform: translateY(-1px);
    background-color: #e58206;
    box-shadow: 0 9px 9px rgba(50, 50, 93, .06), 0 2px 5px rgba(0, 0, 0, .08), inset 0 1px 0 #fec163
}

#payment-form button:active {
    background-color: #f49627;
    box-shadow: 0 6px 9px rgba(50, 50, 93, .06), 0 2px 5px rgba(0, 0, 0, .08), inset 0 1px 0 #cc9542
}

#payment-request-button {
    padding: 0 20px 15px
}

p.tip {
    font-size: 13px;
    margin: 5px 0 10px 15px;
    font-weight: 400;
    background-size: 16px;
    color: #5a6067
}

#tip {
    color: #f49627;
    margin: 20px 0 5px
}

.agreement,
.agreement a {
    font-size: 13px;
    margin-top: 15px;
    color: #a1abb7;
    font-weight: 300
}

.example.example1 .error svg .base {
    fill: #fff
}

.example.example1 .error svg .glyph {
    fill: #6772e5
}

.example.example1 .error .message {
    color: #fff
}

footer {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #f3f3ff
}

footer a,
footer p {
    margin: 30px
}

footer a.help {
    background: url(../images/help-kac.svg) left top no-repeat;
    padding-left: 20px;
    background-size: 16px
}

footer .copyright {
    color: #dadfe5
}

footer .payment-types {
    color: #627286;
    display: flex;
    align-items: center
}

footer .pw {
    font-size: 32px
}

@media only screen and (max-width:500px) {
    header {
        height: 60px;
        background-size: 150px;
        background-position: 10px
    }

    header a.help {
        margin: 0 15px 0 0;
        font-size: 14px
    }

    .container {
        max-width: 95%;
        padding: 5%
    }

    .container .cell {
        padding: 40px 0
    }

    #payment-request {
        min-height: 0;
        padding-right: 15px;
        padding-left: 15px
    }

    #payment-form {
        margin: 0;
        padding: 0 5px;
        border-width: 1px 0 0;
        border-radius: 0
    }

    #payment-form .instructions {
        margin: -10px auto 0;
        max-width: 80%
    }

    .payment-info span {
        display: none
    }
}

.sheet {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    -ms-flex: auto;
    flex: auto;
    min-width: 100%;
    min-height: 500px;
    background-color: #fcfdff;
    align-items: center;
    border-radius: 4px;
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    margin-left: -20px;
    margin-right: -20px;
    flex-direction: column
}

.receipt {
    width: 80%
}

.card-info {
    margin-bottom: 30px;
    font-size: 14px;
    color: #fff;
    background-color: #fff;
    border: 1px solid #e1e5eb;
    font-weight: 900;
    text-transform: uppercase;
    padding: 18px 10px;
    border-radius: 4px
}

.eyebrow {
    font-size: 14px
}

.thanks h1 {
    font-size: 42px;
    font-weight: 900;
    color: #5a6067;
    margin: 0 0 40px
}

.line-items,
.receipt .heading {
    padding: 0 15px 2px;
    color: #5a6067;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid rgba(160, 174, 192, .2)
}

.receipt .heading h3 {
    font-size: 13px;
    text-transform: uppercase;
    color: #5a6067;
    font-weight: 400
}

.receipt .line-items {
    border-bottom: none;
    margin: 10px 0;
    font-weight: 500;
    overflow: hidden
}

.notification {
    color: #5a6067;
    margin: 40px;
    font-size: 14px;
    font-weight: 400
}

#link {
    font-size: 14px;
    overflow-x: scroll;
    border-style: none;
    background-color: #f3f6fd;
    border-radius: 4px;
    width: 75%
}

.input-group {
    width: 100%;
    margin: 15px;
    display: flex;
    padding: 10px 20px
}

.input-group-button {
    width: 0
}

.btn {
    width: 80px
}