@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=SF+Pro+Display:wght@300,400;500;600;700&display=swap");
html {
  scroll-behavior: smooth; }

body {
  font-family: 'Montserrat', sans-serif;
  overflow-x: hidden;
  color: #000;
  font-size: 13px;
  font-weight: 500;
  background-color: #EEF1F4; }

form {
  margin: 0px; }

/*********************************************
 * Header
 *********************************************/
header {
  height: 60px;
  background-color: #fff;
  padding: 16px 32px;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1); }
  header .header_container {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  header .header_menu {
    display: flex;
    align-items: center;
    gap: 32px; }
    header .header_menu .header_menu_item {
      font-family: Inter;
      font-weight: 800;
      font-size: 16px;
      line-height: 24px;
      color: #0a0a0a; }
      header .header_menu .header_menu_item:hover {
        text-decoration: unset; }

/*********************************************
 * Google Map
 *********************************************/
.googleMap {
  height: calc( 100% - 60px);
  width: 100%; }
  .googleMap .gmnoprint.gm-style-mtc-bbw {
    left: unset !important;
    top: 24px !important;
    right: 24px !important; }
  .googleMap .gmnoprint img {
    height: 13px !important;
    width: 13px !important; }
  .googleMap .gmnoprint button, .googleMap .gmnoprint li {
    font-size: 12px !important;
    line-height: 13px;
    padding: 8px !important; }
  .googleMap .gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom .gmnoprint {
    left: -24px !important;
    top: 60px !important; }
  .googleMap .gm-control-active.gm-fullscreen-control, .googleMap .gm-svpc {
    display: none; }

/*********************************************
 * Service selector
 *********************************************/
.service-selector {
  position: absolute;
  top: 92px;
  left: 32px;
  padding: 32px;
  background-color: #fff;
  border-radius: 32px;
  box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  font-family: 'SF Pro Display', sans-serif;
  transition: all 0.3s;
  max-width: 420px; }
  @media (max-width: 576px) {
    .service-selector {
      top: unset;
      left: 0px;
      right: 0px;
      bottom: 0px;
      max-width: 420px;
      width: 100%;
      margin: 0px auto;
      padding: 16px;
      border-radius: 16px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px; } }
  .service-selector .service-selector__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px; }
    .service-selector .service-selector__header .service-selector__header_greetings {
      font-size: 16px;
      font-weight: 300; }
    .service-selector .service-selector__header .service-selector__title {
      font-size: 18px;
      font-weight: 600; }
    .service-selector .service-selector__header .service-selector__header_icon img {
      width: 50px; }
  .service-selector .service-selector__options {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 0px; }
    @media (max-width: 576px) {
      .service-selector .service-selector__options {
        gap: 16px;
        padding: 16px 0px; } }
  @media (max-width: 576px) {
    .service-selector .service-selector__button {
      margin-top: 8px; } }

/*********************************************
 * Info card
 *********************************************/
.info-card {
  position: relative;
  padding: 24px;
  border: 3px solid #eeeeee;
  border-radius: 16px;
  width: 356px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  cursor: pointer;
  transition: all 0.3s; }
  @media (max-width: 576px) {
    .info-card {
      width: 100%; } }
  .info-card.selected {
    border: 3px solid #3f37c9; }
  .info-card .info-card__icon img {
    width: 100px; }
  .info-card .info-card__title {
    font-size: 18px;
    font-weight: 590; }
  .info-card .info-card__subtitle {
    font-size: 14px;
    font-weight: 300; }
  .info-card .info-card__info-button {
    position: absolute;
    top: 24px;
    right: 24px; }
    .info-card .info-card__info-button img {
      width: 24px;
      height: 24px; }

/*********************************************
 * Tag
 *********************************************/
.tag {
  font-size: 12px;
  font-weight: 300;
  width: max-content;
  padding: 3px 12px 3px 10px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 6px; }
  .tag .tag-icon {
    width: 14px;
    display: inline-block;
    height: 14px;
    background-repeat: none; }

.tag--green {
  color: white;
  background-color: #32bb78; }
  .tag--green .tag-icon {
    background-image: url("/pages/img/lightning-filled-icon.svg"); }

.tag--blue {
  color: white;
  background-color: #3f37c9; }
  .tag--blue .tag-icon {
    background-image: url("/pages/img/handPeace-icon.svg"); }

/*********************************************
 * Button
 *********************************************/
button.button--primary {
  background-color: #3f37c9;
  color: white;
  border: none;
  border-radius: 16px;
  width: 100%;
  padding: 16px;
  font-size: 18px;
  font-weight: 590;
  cursor: pointer;
  user-select: none;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center; }
  button.button--primary:disabled {
    background-color: #d0d5dd;
    color: #343330;
    cursor: not-allowed; }

button.button--secondary {
  background-color: white;
  color: #343330;
  border: 1px solid #d0d5dd;
  border-radius: 16px;
  width: 100%;
  padding: 16px;
  font-size: 18px;
  font-weight: 590;
  cursor: pointer;
  user-select: none;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center; }

/*********************************************
 * Modal info card
 *********************************************/
.modal-info-card {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  transition: all 0.3s; }
  .modal-info-card.open {
    display: flex; }
    @media (max-width: 576px) {
      .modal-info-card.open {
        align-items: flex-end; } }
  .modal-info-card .modal-info-card__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.6); }
  .modal-info-card .modal-info-card__content {
    position: fixed;
    width: 420px;
    max-width: 100vw;
    padding: 32px;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
    font-family: 'SF Pro Display', sans-serif;
    display: flex;
    flex-direction: column;
    gap: 24px; }
    @media (max-width: 576px) {
      .modal-info-card .modal-info-card__content {
        padding: 16px 32px;
        gap: 16px;
        bottom: 0px;
        padding-bottom: 44px; } }
  .modal-info-card .modal-info-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .modal-info-card .modal-info-card__header .modal-info-card__header-close-icon {
      cursor: pointer; }
      .modal-info-card .modal-info-card__header .modal-info-card__header-close-icon img {
        width: 24px;
        height: 24px; }
    .modal-info-card .modal-info-card__header .modal-info-card__header-title {
      width: 100%;
      font-size: 18px;
      font-weight: 590;
      text-align: center; }
  .modal-info-card .modal-info-card__image img {
    width: 100px; }
  .modal-info-card .modal-info-card__tag_subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 300; }
  .modal-info-card .modal-info-card__options {
    display: flex;
    flex-direction: column;
    gap: 10px; }
    .modal-info-card .modal-info-card__options .modal-info-card__option {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 20px; }
      .modal-info-card .modal-info-card__options .modal-info-card__option .modal-info-card__option-icon {
        width: 40px;
        min-width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f5f6f7;
        border-radius: 40px; }
        .modal-info-card .modal-info-card__options .modal-info-card__option .modal-info-card__option-icon img {
          height: 16px; }
      .modal-info-card .modal-info-card__options .modal-info-card__option .modal-info-card__option-title {
        font-size: 18px;
        font-weight: 590; }
      .modal-info-card .modal-info-card__options .modal-info-card__option .modal-info-card__option-subtitle {
        font-size: 14px;
        font-weight: 300; }

/*********************************************
* Modal info option card
*********************************************/
.modal-info-option-card {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  transition: all 0.3s; }
  .modal-info-option-card.open {
    display: flex; }
    @media (max-width: 576px) {
      .modal-info-option-card.open {
        align-items: flex-end; } }
  .modal-info-option-card .modal-info-option-card__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.6); }
  .modal-info-option-card .modal-info-option-card__content {
    position: fixed;
    width: 420px;
    max-width: 100vw;
    padding: 32px;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
    font-family: 'SF Pro Display', sans-serif;
    display: flex;
    flex-direction: column;
    gap: 24px; }
    @media (max-width: 576px) {
      .modal-info-option-card .modal-info-option-card__content {
        padding: 16px 32px;
        gap: 16px;
        bottom: 0px;
        padding-bottom: 44px; } }
  .modal-info-option-card .modal-info-option-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .modal-info-option-card .modal-info-option-card__header .modal-info-option-card__header-close-icon {
      cursor: pointer; }
      .modal-info-option-card .modal-info-option-card__header .modal-info-option-card__header-close-icon img {
        width: 24px;
        height: 24px; }
    .modal-info-option-card .modal-info-option-card__header .modal-info-option-card__header-title {
      width: 100%;
      font-size: 18px;
      font-weight: 590;
      text-align: center; }
  .modal-info-option-card .modal-info-option-card__image img {
    width: 100px; }
  .modal-info-option-card .modal-info-option-card__subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 400; }
  .modal-info-option-card .modal-info-option-card__description {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    font-weight: 300; }

/*********************************************
* Route selector
*********************************************/
.route-selector {
  position: absolute;
  top: 92px;
  left: 32px;
  padding: 32px;
  background-color: #fff;
  border-radius: 32px;
  box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  font-family: 'SF Pro Display', sans-serif;
  transition: all 0.3s;
  width: 420px; }
  @media (max-width: 576px) {
    .route-selector {
      top: unset;
      left: 0px;
      right: 0px;
      bottom: 0px;
      max-width: 420px;
      width: 100%;
      margin: 0px auto;
      padding: 16px;
      border-radius: 16px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px; }
      .route-selector.route-selector--focused {
        top: 0px; } }
  .route-selector .route-selector__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px; }
    .route-selector .route-selector__header .route-selector__header-title {
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 24px; }
  .route-selector .route-selector__buttons {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 24px; }
  .route-selector .route-selector__address {
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center;
    font-size: 16px;
    font-weight: 300;
    background-color: #f5f6f7;
    padding: 12px 10px; }
    .route-selector .route-selector__address.from {
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
      border-bottom: 2px solid rgba(0, 0, 0, 0.1); }
    .route-selector .route-selector__address.to {
      border-bottom-left-radius: 12px;
      border-bottom-right-radius: 12px;
      background-color: white; }
    .route-selector .route-selector__address .route-selector__address-icon {
      width: 24px;
      height: 24px; }
    .route-selector .route-selector__address .route-selector__address-label {
      margin-bottom: 0px !important;
      font-style: italic;
      margin-left: 8px; }
    .route-selector .route-selector__address .route-selector__address-input {
      border: none;
      width: 100%;
      background-color: transparent; }
      .route-selector .route-selector__address .route-selector__address-input:focus {
        outline: none; }
  .route-selector .route-selector__hours {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 300;
    padding: 6px 6px 6px 10px;
    border: 2px solid #3f37c9;
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px; }
    .route-selector .route-selector__hours .route-selector__hours-icon-label {
      display: flex;
      align-items: center;
      gap: 12px; }
    .route-selector .route-selector__hours .route-selector__hours-selector {
      display: flex;
      flex-direction: row;
      align-items: center; }
      .route-selector .route-selector__hours .route-selector__hours-selector .route-selector__hours-button {
        background-color: #f5f6f7;
        width: 34px;
        height: 36px;
        border-radius: 10px;
        color: #3f37c9;
        font-size: 24px;
        font-weight: 500;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer; }
      .route-selector .route-selector__hours .route-selector__hours-selector .route-selector__hours-input {
        width: 42px;
        text-align: center;
        border: none;
        font-size: 16px;
        font-weight: 600;
        user-select: none; }
  .route-selector .route-selector__predictions {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px; }
    .route-selector .route-selector__predictions .route-selector__predictions-prediction {
      display: flex;
      flex-direction: row;
      gap: 16px;
      align-items: flex-start;
      cursor: pointer; }
      .route-selector .route-selector__predictions .route-selector__predictions-prediction .route-selector__predictions-prediction-icon img {
        width: 32px;
        height: 32px; }
      .route-selector .route-selector__predictions .route-selector__predictions-prediction .route-selector__predictions-prediction-data {
        display: flex;
        flex-direction: column;
        font-size: 14px;
        font-weight: 300;
        width: 100%; }
        .route-selector .route-selector__predictions .route-selector__predictions-prediction .route-selector__predictions-prediction-data .route-selector__predictions-prediction-title {
          font-weight: 590;
          max-lines: 1;
          text-overflow: ellipsis;
          height: 18px;
          overflow: hidden; }
        .route-selector .route-selector__predictions .route-selector__predictions-prediction .route-selector__predictions-prediction-data .route-selector__predictions-prediction-description {
          overflow: hidden;
          text-overflow: ellipsis;
          height: 18px;
          max-lines: 1;
          white-space: nowrap;
          width: calc(100% - 32px - 16px); }

/*********************************************
 * Service option selector
 *********************************************/
.service-option-selector {
  position: absolute;
  top: 92px;
  left: 32px;
  padding: 32px;
  background-color: #fff;
  border-radius: 32px;
  box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  font-family: 'SF Pro Display', sans-serif;
  transition: all 0.3s;
  max-width: 420px; }
  @media (max-width: 576px) {
    .service-option-selector {
      top: unset;
      left: 0px;
      right: 0px;
      bottom: 0px;
      max-width: 420px;
      width: 100%;
      margin: 0px auto;
      padding: 16px;
      border-radius: 16px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px; } }
  .service-option-selector .service-option-selector__header {
    display: flex;
    flex-direction: column;
    gap: 32px; }
    @media (max-width: 576px) {
      .service-option-selector .service-option-selector__header {
        gap: 16px; } }
    .service-option-selector .service-option-selector__header .service-option-selector__title {
      font-size: 18px;
      font-weight: 600; }
    .service-option-selector .service-option-selector__header .service-option-selector__subtitle {
      font-size: 16px;
      font-weight: 300; }
  .service-option-selector .service-option-selector__options {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 0px; }
    @media (max-width: 576px) {
      .service-option-selector .service-option-selector__options {
        gap: 16px;
        padding: 16px 0px; } }
  .service-option-selector .service-option-selector__button {
    display: flex;
    flex-direction: row;
    gap: 16px; }

/*********************************************
 * Info option card
 *********************************************/
.info-option-card {
  position: relative;
  padding: 20px;
  border: 3px solid #eeeeee;
  border-radius: 16px;
  width: 356px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  transition: all 0.3s; }
  @media (max-width: 576px) {
    .info-option-card {
      width: 100%;
      border-radius: 16px; } }
  .info-option-card.selected {
    border: 3px solid #3f37c9; }
  .info-option-card .info-option-card__icon img {
    width: 76px; }
  .info-option-card .info-option-card__title {
    font-size: 18px;
    font-weight: 590; }
  .info-option-card .info-option-card__subtitle {
    font-size: 14px;
    font-weight: 300; }
  .info-option-card .info-option-card__info-button {
    position: absolute;
    top: 20px;
    right: 20px; }
    .info-option-card .info-option-card__info-button img {
      width: 24px;
      height: 24px; }
  .info-option-card .info-option-card__prices {
    position: absolute;
    top: 56px;
    right: 20px;
    font-size: 18;
    font-weight: 590; }
    .info-option-card .info-option-card__prices .info-option-card__prices__offer {
      display: flex;
      align-items: center; }
      .info-option-card .info-option-card__prices .info-option-card__prices__offer .sub {
        font-size: 12px;
        font-weight: 510; }
    .info-option-card .info-option-card__prices .info-option-card__prices__price {
      font-weight: 500;
      color: rgba(52, 51, 48, 0.4); }

/*********************************************
 * Date picker
 *********************************************/
.air-datepicker.-inline- {
  --adp-day-cell-height: 40px !important;
  border: unset !important;
  width: 100% !important; }
  .air-datepicker.-inline- .air-datepicker-nav {
    border-bottom: unset !important; }
  .air-datepicker.-inline- .air-datepicker-nav--title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #344054 !important; }
  .air-datepicker.-inline- .air-datepicker-body--day-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #344054 !important;
    text-transform: capitalize !important; }
  .air-datepicker.-inline- .air-datepicker-cell {
    height: 40px !important;
    font-weight: 300 !important; }
    .air-datepicker.-inline- .air-datepicker-cell.-day-:not(.-disabled-, .-selected-) {
      color: #344054 !important; }
    .air-datepicker.-inline- .air-datepicker-cell.-current- {
      background-color: #F9FAFB !important;
      border-radius: 100px !important; }
    .air-datepicker.-inline- .air-datepicker-cell:hover {
      background-color: #F9FAFB !important;
      border-radius: 100px !important; }
    .air-datepicker.-inline- .air-datepicker-cell.-selected- {
      background-color: #3F37C9 !important;
      color: white !important;
      border-radius: 100px !important; }
    .air-datepicker.-inline- .air-datepicker-cell.-other-month- {
      color: #667085 !important; }

/*********************************************
 * Date picker
 *********************************************/
.datetime-selector {
  position: absolute;
  top: 92px;
  left: 32px;
  padding: 32px;
  background-color: #fff;
  border-radius: 32px;
  box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  font-family: 'SF Pro Display', sans-serif;
  transition: all 0.3s;
  max-width: 420px; }
  @media (max-width: 576px) {
    .datetime-selector {
      top: unset;
      left: 0px;
      right: 0px;
      bottom: 0px;
      max-width: 420px;
      width: 100%;
      margin: 0px auto;
      padding: 16px;
      border-radius: 16px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px; } }
  .datetime-selector .datetime-selector__header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px; }
    .datetime-selector .datetime-selector__header .datetime-selector__title {
      font-size: 18px;
      font-weight: 600; }
    .datetime-selector .datetime-selector__header .datetime-selector__subtitle {
      font-size: 16px;
      font-weight: 300; }
  .datetime-selector .datetime-selector-time-selector-container {
    margin-top: 16px;
    display: flex;
    flex-direction: column; }
    .datetime-selector .datetime-selector-time-selector-container label {
      margin-bottom: 4px;
      color: #344054;
      font-size: 14px;
      font-weight: 400; }
  .datetime-selector .datetime-selector__buttons {
    margin-top: 24px;
    display: flex;
    flex-direction: row;
    gap: 16px; }

/*********************************************
 * Nice select
 *********************************************/
select {
  display: none; }

.nice-select {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #101828 !important;
  border: 2px solid #3f37c9 !important;
  height: 44px !important; }
  .nice-select .current {
    line-height: 42px !important; }

.nice-select .nice-select-dropdown {
  border-color: #e4e7ec !important; }

.nice-select .list {
  box-shadow: 0px 4px 6px -2px rgba(16, 24, 40, 0.03) !important;
  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08) !important;
  margin-bottom: 0px !important; }

.nice-select .option {
  position: relative !important;
  height: 44px !important;
  line-height: 44px !important; }

.nice-select .option:hover {
  background-color: #f9fafb !important; }

.nice-select .option.selected:after {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 16px;
  margin: auto;
  content: '';
  width: 20px;
  height: 20px;
  background-image: url("/pages/img/tick-icon.svg");
  background-repeat: no-repeat; }

/*********************************************
 * Modal view
 *********************************************/
.modal-view {
  background-color: rgba(16, 24, 40, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0; }
  .modal-view .modal-window {
    width: 100%;
    max-width: 420px;
    background-color: white;
    padding: 32px;
    border-radius: 32px;
    opacity: 0;
    transition: opacity 0.3s;
    position: relative; }
    @media (max-width: 576px) {
      .modal-view .modal-window {
        max-width: unset;
        height: 100vh;
        border-radius: unset;
        padding: 32px 16px; } }
    .modal-view .modal-window .modal-loading {
      display: none;
      justify-content: center;
      align-items: center;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.6);
      border-radius: 32px;
      opacity: 1;
      position: absolute;
      left: 0;
      top: 0px;
      right: 0px;
      bottom: 0px; }
      .modal-view .modal-window .modal-loading .modal-loading__spinner {
        width: 48px;
        height: 48px;
        color: #3f37c9;
        box-sizing: border-box;
        display: inline-block;
        position: relative;
        width: 64px;
        height: 64px; }
        .modal-view .modal-window .modal-loading .modal-loading__spinner div {
          box-sizing: border-box;
          display: block;
          position: absolute;
          width: 48px;
          height: 48px;
          margin: 8px;
          border: 4px solid currentColor;
          border-radius: 50%;
          animation: spin 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
          border-color: currentColor transparent transparent transparent; }
        .modal-view .modal-window .modal-loading .modal-loading__spinner div:nth-child(1) {
          animation-delay: -0.45s; }
        .modal-view .modal-window .modal-loading .modal-loading__spinner div:nth-child(2) {
          animation-delay: -0.3s; }
        .modal-view .modal-window .modal-loading .modal-loading__spinner div:nth-child(3) {
          animation-delay: -0.15s; }
@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/*********************************************
 * Email request
 *********************************************/
.email-request {
  font-family: 'SF Pro Display', sans-serif; }
  .email-request .email-request-modal {
    background-image: url("/pages/img/background-circles.svg");
    background-position: center top;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .email-request .email-request-modal .email-request-modal__icon {
      margin-top: 20px; }
      .email-request .email-request-modal .email-request-modal__icon img {
        width: 48px;
        height: 48px; }
    .email-request .email-request-modal .email-request-modal__title {
      font-size: 18px;
      font-weight: 590;
      margin-top: 16px;
      color: #101828; }
    .email-request .email-request-modal .email-request-modal__subtitle {
      font-size: 14px;
      font-weight: 300;
      margin-top: 4px;
      color: #475467; }
    .email-request .email-request-modal .email-request-modal__input-container {
      display: flex;
      flex-direction: column;
      margin-top: 40px;
      width: 100%;
      gap: 4px; }
      .email-request .email-request-modal .email-request-modal__input-container .email-request-modal__label {
        font-size: 14px;
        font-weight: 500;
        color: #344054;
        margin-bottom: 0px; }
      .email-request .email-request-modal .email-request-modal__input-container .email-request-modal__input {
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 16px;
        font-weight: 500;
        color: #101828;
        width: 100%;
        outline: none; }
        .email-request .email-request-modal .email-request-modal__input-container .email-request-modal__input:outline {
          border: none; }
    .email-request .email-request-modal .email-request-modal__buttons {
      width: 100%;
      margin-top: 24px;
      display: flex;
      flex-direction: row;
      gap: 16px; }
      @media (max-width: 576px) {
        .email-request .email-request-modal .email-request-modal__buttons {
          flex-direction: column-reverse; } }

/*********************************************
* Code request
*********************************************/
.code-request {
  font-family: 'SF Pro Display', sans-serif;
  /* Firefox */ }
  .code-request input::-webkit-outer-spin-button,
  .code-request input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .code-request input[type=number] {
    -moz-appearance: textfield; }
  .code-request .code-request-modal {
    background-image: url("/pages/img/background-circles.svg");
    background-position: center top;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .code-request .code-request-modal .code-request-modal__icon {
      margin-top: 20px; }
      .code-request .code-request-modal .code-request-modal__icon img {
        width: 48px;
        height: 48px; }
    .code-request .code-request-modal .code-request-modal__title {
      font-size: 18px;
      font-weight: 590;
      margin-top: 16px;
      color: #101828; }
    .code-request .code-request-modal .code-request-modal__subtitle {
      font-size: 14px;
      font-weight: 300;
      margin-top: 4px;
      color: #475467;
      text-align: center; }
    .code-request .code-request-modal .code-request-modal__input-container {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      margin-top: 24px;
      width: 100%;
      gap: 8px; }
      .code-request .code-request-modal .code-request-modal__input-container .code-request-modal__input {
        border: 2px solid #3f37c9;
        border-radius: 10px;
        font-size: 48px;
        font-weight: 500;
        color: #3F37C9;
        outline: none;
        width: 64px;
        height: 64px;
        text-align: center;
        padding: 0px;
        margin: 0px; }
        .code-request .code-request-modal .code-request-modal__input-container .code-request-modal__input:outline {
          border: none; }
    .code-request .code-request-modal .code-request-modal__resend {
      margin-top: 6px;
      text-align: start;
      width: 280px;
      font-size: 14px;
      font-weight: 400;
      color: #475467; }
      .code-request .code-request-modal .code-request-modal__resend span {
        text-decoration: underline;
        color: #475467 !important;
        cursor: pointer; }
    .code-request .code-request-modal .code-request-modal__buttons {
      width: 100%;
      margin-top: 24px;
      display: flex;
      flex-direction: row;
      gap: 16px; }
      @media (max-width: 576px) {
        .code-request .code-request-modal .code-request-modal__buttons {
          flex-direction: column-reverse; } }

/*********************************************
* Summary
*********************************************/
.summary {
  font-family: 'SF Pro Display', sans-serif; }
  .summary .summary-modal {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px;
    width: 100%;
    max-width: 687px; }
    @media (max-width: 576px) {
      .summary .summary-modal {
        padding: 48px 16px 32px 16px; } }
    .summary .summary-modal .summary_modal__header {
      font-size: 16px;
      font-weight: 400;
      color: white;
      background-color: #32bb78;
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 24px;
      width: 100%;
      text-align: center; }
    .summary .summary-modal .summary-modal__content {
      display: flex;
      gap: 32px;
      width: 100%; }
      @media (max-width: 576px) {
        .summary .summary-modal .summary-modal__content {
          flex-direction: column;
          gap: 24px; } }
      .summary .summary-modal .summary-modal__content .summary-modal__map {
        width: 100%;
        height: 235px; }
        @media (max-width: 576px) {
          .summary .summary-modal .summary-modal__content .summary-modal__map {
            height: 120px; } }
        .summary .summary-modal .summary-modal__content .summary-modal__map #map {
          width: 100%;
          height: 235px; }
          @media (max-width: 576px) {
            .summary .summary-modal .summary-modal__content .summary-modal__map #map {
              height: 120px; } }
      .summary .summary-modal .summary-modal__content .summary-modal__info {
        display: flex;
        flex-direction: column;
        width: 100%; }
        @media (max-width: 576px) {
          .summary .summary-modal .summary-modal__content .summary-modal__info {
            padding: 0px 8px; } }
        .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top {
          width: 100%;
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: center; }
          .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top .summary-modal__info__top__icon img {
            height: 69px; }
          .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top .summary-modal__info__top__price_option {
            display: flex;
            flex-direction: column;
            align-items: flex-end; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top .summary-modal__info__top__price_option .summary-modal__info__top__price {
              display: flex;
              align-items: center;
              font-size: 18px;
              font-weight: 590;
              gap: 8px; }
              .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top .summary-modal__info__top__price_option .summary-modal__info__top__price .sub {
                font-size: 12px;
                font-weight: 510; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__top .summary-modal__info__top__price_option .summary-modal__info__top__option {
              text-align: end;
              font-size: 14px;
              font-weight: 590; }
        .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__type_when .summary-modal__info__type {
          font-size: 18px;
          font-weight: 590;
          margin-top: 8px; }
        .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__type_when .summary-modal__info__when {
          display: flex;
          gap: 4px;
          text-align: center;
          font-size: 14px;
          font-weight: 300;
          margin-top: 4px;
          color: rgba(52, 51, 48, 0.8); }
        .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route {
          font-size: 14px;
          position: relative; }
          .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__from {
            display: flex;
            align-items: flex-start;
            gap: 20px;
            margin-top: 12px;
            position: relative; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__from .summary-modal__info__route__from__icon {
              margin-top: 5px; }
              .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__from .summary-modal__info__route__from__icon img {
                width: 11px; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__from .summary-modal__info__route__from__title {
              font-weight: 590; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__from .summary-modal__info__route__from__subtitle {
              font-weight: 300; }
          .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__to {
            display: flex;
            align-items: flex-start;
            gap: 20px;
            margin-top: 12px;
            position: relative; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__to .summary-modal__info__route__to__icon img {
              width: 11px; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__to .summary-modal__info__route__to__title {
              font-weight: 590; }
            .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__to .summary-modal__info__route__to__subtitle {
              font-weight: 300; }
          .summary .summary-modal .summary-modal__content .summary-modal__info .summary-modal__info__route .summary-modal__info__route__line {
            position: absolute;
            top: 0px;
            bottom: 0px;
            left: 5px;
            width: 1px;
            background-color: #eeeeee;
            margin: 36px 0px 68px 0px; }
    .summary .summary-modal .summary-modal__buttons {
      width: 100%;
      margin-top: 24px;
      display: flex;
      flex-direction: row;
      gap: 16px; }
      @media (max-width: 576px) {
        .summary .summary-modal .summary-modal__buttons {
          flex-direction: column-reverse; } }

/*********************************************
* Payment
*********************************************/
.payment {
  font-family: 'SF Pro Display', sans-serif; }
  .payment .payment-modal {
    background-image: url("/pages/img/background-circles.svg");
    background-position: center top;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .payment .payment-modal .payment-modal__icon {
      margin-top: 20px; }
      .payment .payment-modal .payment-modal__icon img {
        width: 48px;
        height: 48px; }
    .payment .payment-modal .payment-modal__title {
      font-size: 18px;
      font-weight: 590;
      margin-top: 16px;
      color: #101828; }
    .payment .payment-modal .payment-modal__subtitle {
      font-size: 14px;
      font-weight: 300;
      margin-top: 4px;
      color: #475467; }
    .payment .payment-modal .payment-modal__input-container {
      display: flex;
      flex-direction: column;
      margin-top: 40px;
      width: 100%;
      gap: 4px; }
      .payment .payment-modal .payment-modal__input-container.no-margin {
        margin-top: 12px; }
      .payment .payment-modal .payment-modal__input-container .payment-modal__label {
        font-size: 14px;
        font-weight: 500;
        color: #344054;
        margin-bottom: 0px; }
      .payment .payment-modal .payment-modal__input-container .payment-modal__input {
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 16px;
        font-weight: 500;
        color: #101828;
        width: 100%;
        outline: none; }
        .payment .payment-modal .payment-modal__input-container .payment-modal__input:outline {
          border: none; }
      .payment .payment-modal .payment-modal__input-container .payment-modal__input__info {
        font-size: 12px;
        font-weight: 300;
        color: rgba(52, 51, 48, 0.8);
        line-height: 16px; }
    .payment .payment-modal .card {
      margin-top: 16px;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 16px;
      border: unset; }
      .payment .payment-modal .card .card-label-input {
        font-family: 'SF Pro Display', sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #344054;
        margin-bottom: 0px;
        width: 100%; }
        .payment .payment-modal .card .card-label-input label {
          margin-bottom: 0px; }
      .payment .payment-modal .card .card-input {
        font-family: 'SF Pro Display', sans-serif;
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 16px;
        font-weight: 500;
        color: #101828;
        width: 100%;
        outline: none; }
      .payment .payment-modal .card .card-expiry-cvc {
        display: flex;
        flex-direction: row;
        gap: 16px;
        width: 100%; }
    .payment .payment-modal .payment-modal__buttons {
      width: 100%;
      margin-top: 24px;
      display: flex;
      flex-direction: row;
      gap: 16px; }
      @media (max-width: 576px) {
        .payment .payment-modal .payment-modal__buttons {
          flex-direction: column-reverse; } }
