/* Button Styles */
.button {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  text-align: center;
}

.button .button__icon svg {
  display: block;
  height: 1.25rem;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .button .button__icon svg {
    height: 1.25rem;
    width: 1.25rem;
  }
}

.button--icon-right .button__icon {
  order: 1;
}

/* Overlay Background Styles */
.hs-overlay-background {
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.2);
  inset: 0;
  opacity: 0;
  position: fixed;
  transition: opacity 500ms ease 0s,
              visibility 500ms ease 0s;
  visibility: hidden;
  /* One less than the overlay z-index value */
  z-index: 999999;
}

.hs-overlay-background.open {
  opacity: 1;
  visibility: visible;
}

/* Overlay Styles */

html.hs-payments--overlay-open {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.hs-overlay {
  background-color: #fff;
  bottom: 0;
  height: calc(100% - 50px);
  left: 0;
  position: fixed;
  right: 0;
  top: 100%;
  transform: translateY(0);
  transition: transform 500ms ease 0s,
              visibility 500ms ease 0s;
  visibility: hidden;
  width: 100vw;
  /* Well below the maximum value, but high enough to cover most cases */
  z-index: 1000000;
}

.hs-overlay.open {
  transform: translateY(-100%);
  transition: transform 500ms ease 0s,
              visibility 500ms ease 0s;
  visibility: visible;
}

button.hs-overlay__close--top {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  border: none;
  display: flex;
  height: 30px;
  outline-color: #33475b;
  padding: 5px;
  position: absolute;
  right: 16px;
  top: -40px;
  width: 30px;
}

button.hs-overlay__close--top svg {
  fill: #7c98b6;
}

button.hs-overlay__close--top:hover svg,
button.hs-overlay__close--top:focus svg {
  fill: #33475b;
}

@media screen and (min-width: 768px) {
  button.hs-overlay__close--top {
    background: transparent;
    right: 16px;
    top: 16px;
  }
}

button.hs-overlay__close--bottom {
  background: none;
  border: none;
  bottom: 16px;
  color: #33475b;
  font-family: Avenir Next W02,Helvetica,Arial,sans-serif;
  font-size: 14px;
  font-weight: normal;
  opacity: 0;
  outline-color: #33475b;
  padding: 5px;
  position: absolute;
  right: 16px;
  top: initial;
}

button.hs-overlay__close--bottom:focus {
  opacity: 1;
}

.hs-overlay .payments-iframe-container {
  height: 100%;
  width: 100%;
}

.hs-overlay .payments-iframe-container iframe {
  height: 100vh !important;
}

.hs-screen-reader-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
