@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700);
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

.release-code-container .release-code {
  margin-bottom: 0.875rem;
}
.release-code-container .video-container + p {
  margin-top: 0.875rem;
}
.release-code-container .dropoff-location {
  margin-bottom: 0.9375rem;
  padding-top: 0.875rem;
  padding-right: 0.875rem;
  padding-bottom: 1.125rem;
  padding-left: 0.875rem;
  background-color: #212121;
}
.release-code-container .dropoff-location .description, .release-code-container .dropoff-location .address {
  display: flex;
}
.release-code-container .dropoff-location .description .icon-container, .release-code-container .dropoff-location .address .icon-container {
  flex-shrink: 0;
  margin-right: 1.125rem;
}
.release-code-container .dropoff-location .description .icon-container i, .release-code-container .dropoff-location .address .icon-container i {
  font-size: 20px;
}
.release-code-container .dropoff-location .description .container {
  flex-grow: 1;
}
.release-code-container .dropoff-location .description .container .name {
  margin-bottom: 0.375rem;
  font-size: 16px;
}
.release-code-container .dropoff-location .address .dropoff {
  flex-grow: 1;
}

.page-content .container .content .flex.row .has-float-label + .has-float-label {
  margin-left: 0.9375rem;
}
.page-content .container .content .flex.row .plus-sign-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: #969696;
}

.card {
  margin-bottom: 0.25rem;
  padding-top: 0.9375rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.9375rem;
  padding-left: 0.9375rem;
}
.card.steps .step p {
  color: #60D616;
  font-size: 0.75rem;
  line-height: 0.875rem;
  margin-bottom: 0.5rem;
}
.card.steps .step p.red {
  color: #D0021B;
}
.card.steps .step p.return-message {
  font-size: 1.0625rem;
  line-height: 1.1875rem;
}
.card .header {
  display: flex;
  justify-content: space-between;
}
.card .content {
  transition: max-height 0.4s cubic-bezier(0.02, 0.01, 0.47, 1);
  max-height: 1000px;
  height: auto;
}
.card .content.loading {
  max-height: 0;
  overflow: hidden;
}
.card .content .video-container {
  margin-right: -0.9375rem;
  margin-bottom: 0.9375rem;
  margin-left: -0.9375rem;
}
.card .content .video-container video {
  width: 100%;
}

.accordion-container {
  width: 100%;
  display: flex;
  flex-flow: column nowrap;
}
.accordion-container .accordion-labels-contents .label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 3.125rem;
  width: 100%;
  padding-top: 0.5rem;
  padding-right: 0.875rem;
  padding-bottom: 0.5rem;
  padding-left: 0.875rem;
  color: white;
}
.accordion-container .accordion-labels-contents .label:not(.active) {
  margin-bottom: 0.375rem;
}
.accordion-container .accordion-labels-contents .label + .content {
  border-top: solid 5px #000000;
}
.accordion-container .accordion-labels-contents .label .left {
  font-size: 18px;
  font-weight: 500;
}
.accordion-container .accordion-labels-contents .label .left .chevron {
  margin-right: 0.9375rem;
}
.accordion-container .accordion-labels-contents .label .left .chevron.rotate i {
  transform: rotate(180deg);
}
.accordion-container .accordion-labels-contents .label .right {
  text-align: right;
}
.accordion-container .accordion-labels-contents .content {
  display: none;
  margin-bottom: 0.375rem;
}
.accordion-container .accordion-labels-contents .content:not(.table-content) {
  padding-top: 0.9375rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.9375rem;
  padding-left: 0.9375rem;
}
.accordion-container .accordion-labels-contents .content p:last-child {
  margin-bottom: 0;
}

.image-container {
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.image-container img {
  max-width: 100%;
  align-self: center;
}

#header .image-container img {
  max-width: 9.375rem;
}
@media (min-width: 800px) {
  #header .image-container img {
    max-width: 12.5rem;
  }
}
@media (min-width: 1120px) {
  #header .image-container img {
    max-width: 17.1875rem;
  }
}

.button {
  height: 2.5rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  background: #fbe10a;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  border-color: transparent;
  color: #303030;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  margin: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.button:hover {
  background: #ffca00;
  color: #303030;
  cursor: pointer;
}
.button:active {
  background: #ffca00;
  box-shadow: none;
  color: #303030;
}
.button:not(:last-child) {
  margin-bottom: 0.9375rem;
}
.button.ghost {
  background: #FFFFFF;
  border: 1px solid #FFFFFF;
  box-shadow: none;
  color: #212121;
}
.button.ghost:hover {
  background: transparent;
  color: #FFFFFF;
}
.button.no-padding-sides {
  padding-left: 0;
  padding-right: 0;
}
.button.secondary {
  background: #585858;
  border: 1px solid transparent;
  color: #FFFFFF;
}
.button.secondary:hover {
  background: #424242;
  color: #FFFFFF;
}
.button.small {
  min-width: 6.25rem;
}
.button.medium {
  min-width: 11.25rem;
}

.progress-bar {
  background-color: #424242;
  height: 0.5rem;
  position: relative;
}
.progress-bar::after {
  background-color: #60D616;
  content: "";
  height: 0.5rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 1%;
}
.progress-bar.step-1::after {
  width: 20%;
}
.progress-bar.step-2::after {
  width: 40%;
}
.progress-bar.step-3::after {
  width: 60%;
}
.progress-bar.step-4::after {
  width: 80%;
}
.progress-bar.step-complete::after {
  width: 100%;
}
.progress-bar.red:after {
  background-color: #D0021B;
}
.progress-bar.yellow:after {
  background-color: #fbe10a;
}
.progress-bar + .step {
  margin-top: 0.875rem;
  margin-bottom: 0;
}
.progress-bar + .step + .header {
  display: flex;
  justify-content: space-between;
}

input[type=text].input,
input[type=password].input,
input[type=date].input,
input[type=datetime].input,
input[type=datetime-local].input,
input[type=month].input,
input[type=week].input,
input[type=email].input,
input[type=number].input,
input[type=search].input,
input[type=tel].input,
input[type=time].input,
input[type=url].input,
input[type=color].input,
textarea.input {
  height: 2rem;
}

.input, div[contenteditable].input {
  border: none;
  border-bottom: 1px solid #585858;
  border-radius: 0;
  margin-bottom: 1.25rem;
  padding-top: 0.1875rem;
  padding-bottom: 0.1875rem;
  line-height: 1.1875rem;
}
.input, .input:focus, .input:hover, div[contenteditable].input, div[contenteditable].input:focus, div[contenteditable].input:hover {
  background: transparent;
  color: #FFFFFF;
  outline: none;
}
.input:hover, div[contenteditable].input:hover {
  border: none;
  border-bottom: 1px solid #585858;
}
.input:focus, div[contenteditable].input:focus {
  border: none;
  border-bottom: 2px solid #fbe10a;
}
.input[contenteditable], div[contenteditable].input[contenteditable] {
  line-height: 2.5;
}

.checkboxes {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.has-float-label {
  margin-top: 1.15rem;
  display: block;
  position: relative;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .has-float-label label {
    font-size: 75%;
    opacity: 1;
    bottom: 100%;
  }
}
@supports (-ms-ime-align: auto) {
  .has-float-label label {
    font-size: 75%;
    opacity: 1;
    bottom: 100%;
  }
}
.has-float-label label, .has-float-label > span {
  color: #969696;
  position: absolute;
  left: 0;
  bottom: 1.5625rem;
  cursor: text;
  font-size: 100%;
  opacity: 1;
  transition: all 0.2s;
  margin: 0;
  pointer-events: none;
}
.has-float-label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.has-float-label input, .has-float-label select, .has-float-label div[contenteditable] {
  color: #969696;
  font-size: inherit;
}
.has-float-label input::-webkit-input-placeholder, .has-float-label select::-webkit-input-placeholder, .has-float-label div[contenteditable]::-webkit-input-placeholder {
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.has-float-label input:placeholder-shown:not(:focus)::-webkit-input-placeholder, .has-float-label select:placeholder-shown:not(:focus)::-webkit-input-placeholder, .has-float-label div[contenteditable]:placeholder-shown:not(:focus)::-webkit-input-placeholder {
  opacity: 0;
}
.has-float-label input::-moz-placeholder, .has-float-label select::-moz-placeholder, .has-float-label div[contenteditable]::-moz-placeholder {
  opacity: 0;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}
.has-float-label input:-moz-placeholder-shown:not(:focus)::-moz-placeholder, .has-float-label select:-moz-placeholder-shown:not(:focus)::-moz-placeholder, .has-float-label div[contenteditable]:-moz-placeholder-shown:not(:focus)::-moz-placeholder {
  opacity: 0;
}
.has-float-label input:placeholder-shown:not(:focus)::-moz-placeholder, .has-float-label select:placeholder-shown:not(:focus)::-moz-placeholder, .has-float-label div[contenteditable]:placeholder-shown:not(:focus)::-moz-placeholder {
  opacity: 0;
}
.has-float-label input:placeholder-shown:not(:focus):-ms-input-placeholder, .has-float-label select:placeholder-shown:not(:focus):-ms-input-placeholder, .has-float-label div[contenteditable]:placeholder-shown:not(:focus):-ms-input-placeholder {
  opacity: 0;
}
.has-float-label input.ie-label-styles + *, .has-float-label select.ie-label-styles + *, .has-float-label div[contenteditable].ie-label-styles + * {
  font-size: 75%;
  opacity: 1;
  bottom: 100%;
}
.has-float-label input:not(div):not(:-moz-placeholder-shown) + *, .has-float-label select:not(div):not(:-moz-placeholder-shown) + *, .has-float-label div[contenteditable]:not(div):not(:-moz-placeholder-shown) + * {
  font-size: 75%;
  opacity: 1;
  bottom: 100%;
}
.has-float-label input:not(div):not(:placeholder-shown) + *, .has-float-label select:not(div):not(:placeholder-shown) + *, .has-float-label div[contenteditable]:not(div):not(:placeholder-shown) + * {
  font-size: 75%;
  opacity: 1;
  bottom: 100%;
}
.has-float-label input:focus + *, .has-float-label input.with-dollar-sign + *, .has-float-label select:focus + *, .has-float-label select.with-dollar-sign + *, .has-float-label div[contenteditable]:focus + *, .has-float-label div[contenteditable].with-dollar-sign + * {
  font-size: 75%;
  opacity: 1;
  bottom: 100%;
}
.has-float-label input:focus + *, .has-float-label select:focus + *, .has-float-label div[contenteditable]:focus + * {
  color: #fbe10a;
  font-size: 75%;
  opacity: 1;
  bottom: 100%;
}
.has-float-label input.dirty, .has-float-label select.dirty, .has-float-label div[contenteditable].dirty {
  color: #FFFFFF;
}
.has-float-label input.touched:required:not(:focus), .has-float-label select.touched:required:not(:focus), .has-float-label div[contenteditable].touched:required:not(:focus) {
  border-bottom-color: #D0021B;
}
.has-float-label input.touched:required:not(:focus) + label, .has-float-label select.touched:required:not(:focus) + label, .has-float-label div[contenteditable].touched:required:not(:focus) + label {
  color: #D0021B;
}
.has-float-label.has-hint input, .has-float-label.has-hint select {
  margin-bottom: 0;
}
.has-float-label .inline-dollar-sign {
  color: #FFFFFF;
  position: absolute;
  top: rem-calc(11);
}
.has-float-label .inline-dollar-sign.currency + input.input {
  padding-left: rem-calc(12);
}
.has-float-label select.input, .has-float-label select.input:hover, .has-float-label select.input:focus {
  padding-right: 0.5em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#585858' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.25em bottom 0.7em;
  background-size: 8px 10px;
  cursor: pointer;
}
.has-float-label select.input.pristine, .has-float-label select.input:hover.pristine, .has-float-label select.input:focus.pristine {
  color: #969696;
}
.has-float-label select.input.dirty, .has-float-label select.input:hover.dirty, .has-float-label select.input:focus.dirty {
  color: #FFFFFF;
}
.has-float-label .hint-text {
  color: #969696;
  font-size: rem-calc(12);
  margin-bottom: rem-calc(30);
  width: 100%;
  line-height: 1rem;
}
.has-float-label .hint-text.left {
  text-align: left;
}
.has-float-label .hint-text.right {
  text-align: right;
}
.has-float-label .hint-text.green {
  color: #60D616;
}
.has-float-label.checkit::after {
  color: #60D616;
  content: "\f00c";
  position: absolute;
  right: 0;
  top: rem-calc(12);
  font: normal normal normal 14px/1 FontAwesome;
}
.has-float-label.spinning::after {
  color: #969696;
  content: "\f110";
  position: absolute;
  right: 0;
  top: rem-calc(12);
  font: normal normal normal 14px/1 FontAwesome;
  animation: fa-spin 2s infinite linear;
}
.has-float-label + .hint-text {
  color: #969696;
  font-size: rem-calc(12);
  margin-top: rem-calc(4);
  margin-bottom: rem-calc(30);
  width: 100%;
  line-height: 1rem;
}

label {
  font-size: 14px;
  color: #fbe10a;
  font-weight: 500;
}
label + input, label + .month-year-input {
  margin-top: 0.375rem;
}

input:not(.input)[type=text], input:not(.input)[type=tel], input:not(.input)[type=number] {
  border: none;
  border-radius: 4px;
  width: 100%;
  padding: 0.5rem;
  background-color: white;
  font-size: 20px;
  line-height: normal;
  outline: none;
}
input:not(.input)[type=text] + label, input:not(.input)[type=tel] + label, input:not(.input)[type=number] + label {
  margin-top: 0.875rem;
}
input:not(.input)[type=checkbox]:not(.switch) {
  position: relative;
  height: 1.25rem;
  width: 1.25rem;
  border: none;
  margin-right: 0.25rem;
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input:not(.input)[type=checkbox]:not(.switch):after {
  content: "";
  display: inline-block;
  position: absolute;
  height: 1.25rem;
  width: 1.25rem;
  border: solid white 1px;
  border-radius: 2px;
  box-sizing: border-box;
  padding: 0.0625rem;
  font-size: 1.9375rem;
  line-height: 1;
  text-align: center;
}
input:not(.input)[type=checkbox]:not(.switch):checked:after {
  content: "\f00c";
  background-color: white;
  color: #000000;
  font-family: "Font Awesome 5 Pro";
  font-size: 16px;
}
input:not(.input)[type=checkbox]:not(.switch) + label {
  position: relative;
  top: -0.25rem;
  color: white;
  font-size: 13px;
}
input:not(.input)[type=radio] {
  display: none;
}
input:not(.input)[type=radio]:checked + label:before {
  border-color: white;
  box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
}
input:not(.input)[type=radio]:checked + label {
  color: #fbe10a;
}
input:not(.input)[type=radio]:checked + label:after {
  transform: scale(1);
}
input:not(.input)[type=radio] + label {
  color: white;
  position: relative;
  display: inline-block;
  padding: 0.1875rem 1.875rem;
  margin-bottom: 0;
  height: 1.25rem;
  cursor: pointer;
  vertical-align: bottom;
}
input:not(.input)[type=radio] + label:before, input:not(.input)[type=radio] + label:after {
  position: absolute;
  content: "";
  border-radius: 50%;
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
input:not(.input)[type=radio] + label:before {
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid white;
}
input:not(.input)[type=radio] + label:after {
  top: 0.375rem;
  left: 0.375rem;
  width: 0.75rem;
  height: 0.75rem;
  transform: scale(0);
  background-color: #fbe10a;
}

.heartland-zip {
  margin-top: 1.25rem;
  line-height: 2.5;
  padding-top: 0.25rem;
}

.stripe-input-container {
  border: none;
  border-radius: 4px;
  width: 100%;
  padding: 0.5rem;
  background-color: white;
  font-size: 20px;
  line-height: normal;
  outline: none;
  margin-top: 0.375rem;
}

.stripe-fake-input + label {
  margin-top: 0.875rem;
}

.credit-card-view .price {
  margin-bottom: 1rem;
}
.credit-card-view .form-options {
  margin-bottom: 1.5rem;
}
.credit-card-view .us-card-checkbox {
  margin-bottom: 1rem;
}
.credit-card-view form.credit-card .card-number {
  width: 100%;
}
.credit-card-view form.credit-card .expiration, .credit-card-view form.credit-card .cvv {
  width: calc(50% - 5px);
  margin-top: 0.875rem;
  margin-bottom: 0.875rem;
}
.credit-card-view form.credit-card .expiration {
  margin-right: 0.625rem;
}
.credit-card-view form.credit-card .city-state-zip-country {
  display: flex;
}
.credit-card-view form.credit-card .city-state-zip-country:not(.not-us) .city {
  width: calc(35% - 6.666667px);
  margin-right: 0.625rem;
}
.credit-card-view form.credit-card .city-state-zip-country:not(.not-us) .state {
  width: calc(20% - 6.6666667px);
  margin-right: 0.625rem;
}
.credit-card-view form.credit-card .city-state-zip-country:not(.not-us) .zip-country {
  width: calc(45% - 6.6666667px);
}
.credit-card-view form.credit-card .city-state-zip-country.not-us {
  flex-wrap: wrap;
}
.credit-card-view form.credit-card .city-state-zip-country.not-us .city, .credit-card-view form.credit-card .city-state-zip-country.not-us .state, .credit-card-view form.credit-card .city-state-zip-country.not-us .zip, .credit-card-view form.credit-card .city-state-zip-country.not-us .country {
  width: calc(50% - 5px);
}
.credit-card-view form.credit-card .city-state-zip-country.not-us .city, .credit-card-view form.credit-card .city-state-zip-country.not-us .zip {
  margin-right: 0.625rem;
}
.credit-card-view form.credit-card .city-state-zip-country.not-us .zip-country {
  display: flex;
  width: 100%;
}
.credit-card-view form.credit-card .city-state-zip-country .city, .credit-card-view form.credit-card .city-state-zip-country .state, .credit-card-view form.credit-card .city-state-zip-country .zip-country {
  margin-top: 0.875rem;
}
.credit-card-view form .button {
  margin-top: 1.25rem;
}
.credit-card-view .modal .image-container {
  width: 80%;
  margin-bottom: 1.375rem;
}
.credit-card-view .modal .image-container img {
  width: 100%;
}
.credit-card-view .modal .actions-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 1.25rem;
}
.credit-card-view .modal .actions-container .cancel-link {
  display: inline-block;
  width: 6.25rem;
  margin-right: 0.625rem;
  font-size: 20px;
  text-align: center;
}

.margin-top-15 {
  margin-top: 0.9375rem;
}

.inline-block {
  display: inline-block;
}

.button-form-div {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 2rem;
}

.promise-details {
  margin-top: 1.5625rem;
}
.promise-details .card-logos {
  display: flex;
  justify-content: center;
  margin: 0.625rem 0.3125rem;
}
.promise-details .card-logos .promise-cc-logo {
  display: inline-block;
  width: 3.125rem;
  height: auto;
  margin: 0.3125rem;
}
.promise-details .promise-text {
  display: flex;
  justify-content: center;
}
.promise-details .promise-text p {
  font-size: 16px;
}

/* CSS */
@supports (-webkit-appearance: -apple-pay-button) {
  .apple-pay-button {
    display: inline-block;
    -webkit-appearance: -apple-pay-button;
  }
  .apple-pay-button-black {
    -apple-pay-button-style: black;
  }
  .apple-pay-button-white {
    -apple-pay-button-style: white;
  }
  .apple-pay-button-white-with-line {
    -apple-pay-button-style: white-outline;
  }
}
@supports not (-webkit-appearance: -apple-pay-button) {
  .apple-pay-button {
    display: inline-block;
    background-size: 100% 60%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border-radius: 5px;
    padding: 0px;
    box-sizing: border-box;
    min-width: 200px;
    min-height: 32px;
    max-height: 64px;
  }
  .apple-pay-button-black {
    background-image: -webkit-named-image(apple-pay-logo-white);
    background-color: black;
  }
  .apple-pay-button-white {
    background-image: -webkit-named-image(apple-pay-logo-black);
    background-color: white;
  }
  .apple-pay-button-white-with-line {
    background-image: -webkit-named-image(apple-pay-logo-black);
    background-color: white;
    border: 0.5px solid black;
  }
}
body {
  background: #000000;
  display: flex;
  justify-content: center;
}
body * {
  box-sizing: border-box;
}
body ol {
  padding-left: 0.875rem;
}
body #app {
  width: 100%;
  max-width: 800px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body #app #super_header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  border-bottom-left-radius: 5px;
  padding: 0.75rem 0.875rem;
  background-color: #212121;
  line-height: 1;
}
body #app #super_header a {
  margin-left: 0.25rem;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
body #app #super_header a:not(:last-child) {
  margin-right: 0.25rem;
}
body #app #header {
  display: flex;
  justify-content: center;
  width: 66.666666%;
  padding-top: 0.875rem;
  padding-right: 0.875rem;
  padding-bottom: 1.125rem;
}
body #app .page-content {
  flex-grow: 1;
}
body #app .page-content .container {
  display: flex;
  flex-direction: column;
}
body #app .page-content .container + .accordion-container {
  margin-top: 1.25rem;
}
body #app .page-content .container .video-container video {
  width: 100%;
}
body #app .page-content .container .image-container {
  overflow: hidden;
}
body #app .page-content .container .image-container img {
  max-height: 500px;
  align-self: center;
}
body #app .page-content .container .step {
  color: #60D616;
  font-size: 0.75rem;
  line-height: 0.875rem;
  margin-bottom: 0.5rem;
}
body #app .page-content .container .step.red {
  color: #D0021B;
}
body #app .page-content .container .step.return-message {
  font-size: 1.0625rem;
  line-height: 1.1875rem;
}
body #app .page-content .container .loadable-content {
  transition: max-height 0.4s cubic-bezier(0.02, 0.01, 0.47, 1);
  max-height: 1000px;
  height: auto;
}
body #app .page-content .container .loadable-content.loading {
  max-height: 0;
  overflow: hidden;
}
body #app .page-content .container form {
  display: flex;
  flex-direction: column;
}
body #app .page-content .container form:not(:last-child) {
  margin-bottom: 1.125rem;
}
body #app .page-content .container form .row {
  max-width: 100%;
}
body #app #footer {
  margin-top: 2.1875rem;
}
body #app #footer #sub_footer {
  height: 3.125rem;
  width: 100%;
  display: flex;
  justify-content: center;
}
body #app #footer #sub_footer p {
  color: #969696;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0;
}
body #app #technical-support {
  text-align: center;
}
body form iframe[id^=secure-payment-field] {
  height: 2rem !important;
  border: none !important;
  width: 100%;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}
html body {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
}

h1, h2, h3, h4, h5, h6, p, label {
  margin-top: 0;
}

button,
input,
optgroup,
select,
textarea {
  font-family: "Roboto", sans-serif;
}

h1 {
  font-size: 20px;
  font-weight: 500;
}

h2 {
  font-size: 18px;
}

h3 {
  margin-bottom: 0.75rem;
  font-size: 16px;
}

h4 {
  font-size: 23px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 1rem;
}

p, li {
  font-size: 14px;
  line-height: 18px;
}

a {
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  color: #ffca00;
}

.bg-yellow {
  background-color: #fbe10a;
  color: #000000;
}
.bg-yellow > * {
  color: #000000;
}

.bg-darkblack {
  background-color: #212121;
  color: #FFFFFF;
}
.bg-darkblack.accordion-container {
  background-color: transparent;
}
.bg-darkblack.accordion-container .accordion-labels-contents .label, .bg-darkblack.accordion-container .accordion-labels-contents .content {
  background-color: #212121;
}
.bg-darkblack.accordion-container .accordion-labels-contents .label.active {
  background-color: #303030;
}

.bg-lightblack {
  background-color: #303030;
  color: #FFFFFF;
}
.bg-lightblack.accordion-container {
  background-color: transparent;
}
.bg-lightblack.accordion-container .accordion-labels-contents .label, .bg-lightblack.accordion-container .accordion-labels-contents .content {
  background-color: #303030;
}
.bg-lightblack.accordion-container .accordion-labels-contents .label.active {
  background-color: #303030;
}

.lightgray {
  color: #969696;
}

.green {
  color: #60D616;
}

.yellow {
  color: #fbe10a;
}

.red {
  color: #D0021B;
}

.small:not(.button) {
  font-size: 0.75rem;
  line-height: 0.875rem;
}

.large {
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.has-small-float .small {
  margin-bottom: 0;
}

.flex {
  display: flex;
}
.flex.row {
  flex-direction: row;
}
@media (min-width: 0px) {
  .flex.row.mobile-column {
    flex-direction: column;
  }
}
.flex.column {
  flex-direction: column;
}
.flex.wrap {
  flex-wrap: wrap;
}
.flex.space-between {
  justify-content: space-between;
}
.flex.space-around {
  justify-content: space-around;
}
.flex.items-end {
  align-items: flex-end;
}
.flex > .flex-grow {
  flex-grow: 1;
}

.flex-table .flex.row:not(:last-child) {
  border-bottom: 5px solid #000000;
}
.flex-table .flex.row > div:not(.flex) {
  padding-top: 0.625rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.625rem;
  padding-left: 0.9375rem;
}
.flex-table .flex.row > div:not(.width-100):first-child {
  border-right: 5px solid #000000;
}
.flex-table .flex.column > div:not(.flex) {
  padding-top: 0.625rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.625rem;
  padding-left: 0.9375rem;
}
.flex-table .flex.column > div:not(:last-child) {
  border-bottom: 5px solid #000000;
}
.flex-table p:not(.small) {
  margin-bottom: 0;
  font-size: 1rem;
}

.block {
  display: block;
}

.margin-bottom {
  margin-bottom: 0.9375rem;
}

.width-60 {
  width: 60%;
}

.width-30 {
  width: 30%;
}

.width-40 {
  width: 40%;
}

.width-50 {
  width: 50%;
}

.width-100 {
  width: 100%;
}

.height-50 {
  height: 50%;
}

.height-100 {
  height: 100%;
}

.input-button {
  display: flex;
  align-items: flex-end;
}
.input-button .input-container {
  margin-right: 0.5rem;
}
.input-button .input-container:not(.no-grow) {
  flex-grow: 1;
}
.input-button .input-container.plus-prefix {
  position: relative;
}
.input-button .input-container.plus-prefix:before {
  content: "+";
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  color: #000000;
  font-size: 20px;
}
.input-button .input-container.plus-prefix input {
  padding-left: 1.375rem;
}
.input-button .input-container input {
  width: 100%;
}
.input-button .button {
  flex-shrink: 0;
}

.negate-border-right {
  border-right: 0 !important;
}

.gray-block {
  padding: 0.625rem;
  background-color: #212121;
  color: #60D616;
  font-size: 30px;
  text-align: center;
}

.white-text {
  color: #FFFFFF;
}
