@import "_variables";

.amelia-app-booking {
  @media @less-then-small {
    .v-calendar-column {
      text-align: center;

      .popover-origin {
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
      }
    }
  }

  .am-spinner {
    text-align: center;
    padding-top: @padding-big*4;
    padding-bottom: @padding-big*4;
  }

  #am-step-booking, .am-step-booking-catalog {
    opacity: 0;
    display: flex;
    /*align-items: center;*/
    max-width: 802px;
    margin: @margin-big*2 auto;
    border: 1px solid @color-divider-gray;
    border-radius: 6px;
    overflow: hidden;
    -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.1);
    position: relative;
    background: #fff;
    @media @less-then-medium {
      -moz-box-shadow: none;
      -webkit-box-shadow: none;
      box-shadow: none;
    }
    @media @less-then-small {
      /*display: block;*/
      opacity: 0;
    }

    &.am-desktop {
      opacity: 1;

      .am-recurring-dates {
        .am-recurring-row-item-time {
          &.is-editing {
            padding-right: 80px;
          }
        }

        .am-recurring-row-item-date {
          &.is-editing {
            padding-right: 120px;
          }
        }
      }
    }

    p {
      margin-bottom: @margin-big;
      text-align: center;
      font-size: @regular-fs;

    }

    .am-select-service, .am-select-date {
      width: 50%;
      background-color: #fff;
      padding: @padding-big*2;

      .am-select-service-title, .am-select-date-title {
        font-size: @regular-fs !important;
        margin-bottom: @margin-big !important;
      }
    }

    .am-select-service-date-transition {
      -webkit-transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    }

    //STEP 1
    .am-select-service {
      transform: translateX(45%);

      .am-button-wrapper {
        text-align: center;
        padding: @margin-big 0;
      }

      .am-grouped {
        color: @color-text-prime;
        margin: @margin-medium 0;
      }

      .am-add-element {
        padding: @padding-small;
        background-color: fade(@color-accent, 7%);
        display: block;
        border-radius: @border-radius;
        border: 1px solid transparent;

        &:hover {
          border-color: @color-accent;
        }
      }
    }

    //STEP 2
    .am-select-date {
      transform: translateX(90%);
      background: linear-gradient(135deg, @color-gradient1 0%, @color-gradient2 100%);

      * {
        color: @color-white;
      }

      .am-back {
        display: none;
        position: absolute;
        top: 16px;
        left: 16px;
        cursor: pointer;
      }

      .am-calendar-picker {
        background-color: transparent !important;
        border: none !important;

        div {
          color: @color-white;
          font-weight: @light;
        }

        .c-weekdays {
          div {
            font-weight: @regular;
            opacity: 0.7;
          }
        }

        .c-day-content {
          &:hover {
            background-color: #fff !important;
            color: @color-accent !important;

            div {
              color: @color-accent !important;
            }
          }
        }

        .c-day-background {
          /*background: @color-white !important;
          color: @color-accent !important;*/
          border: 1px solid fade(@color-white, 35%) !important;
        }

        .popover-content {
          div, span {
            color: @color-text-prime;
            font-weight: @regular;
          }

          background: #fff !important;

          table {
            padding: 0;
            margin: 0;
          }

          tr:nth-child(odd) {
            background: #fff;
          }

          .c-table-cell {
            &.c-active, &:hover {
              background: fade(@color-accent, 15%);
              border-radius: 3px;
            }
          }
        }
      }

      .am-appointment-times {
        margin: @margin-small 0;
        max-height: 136px;
        overflow-y: auto;

        .el-radio-button {
          margin: @margin-small/4;

          .el-radio-button__inner {
            border: 1px solid @color-divider-gray;
            border-radius: 3px;
            background: transparent;
            color: @color-white;
            font-size: @mini-fs;
            font-weight: @light;
            padding: @padding-small;
            opacity: 0.7;
            width: 126px;

            &:hover {
              opacity: 1;
              background: fade(#fff, 15%);
            }
          }

          .el-radio-button__orig-radio:checked + .el-radio-button__inner {
            color: @color-accent;
            background: #fff;
            box-shadow: none;
            -webkit-box-shadow: none;
            opacity: 1;

            &:hover {
              color: @color-accent;
            }
          }

          .el-radio-button__orig-radio:disabled + .el-radio-button__inner {
            &:hover {
              color: @color-light-gray;
            }
          }
        }

        .el-radio-group {
          text-align: center;
          width: 100%;
        }
      }

      .am-recurring-check {
        text-align: center;
        padding: @padding-medium 0;

        span {
          padding-right: 12px;
          color: @color-white;
        }
      }

      .am-button-wrapper {
        text-align: center;
        margin: @margin-medium auto;

        .el-button {
          min-width: 98.2px;

          .el-icon-loading {
            color: @color-accent;
          }

          &:hover {
            background-color: fade(#fff, 85%);
          }

          span {
            color: @color-accent;
          }
        }
      }
    }

    &.am-active-picker {
      .am-select-service {
        transform: translateX(0%);

        .am-button-wrapper {
          transition: all 0.3s ease;
          transition-delay: 0.5s;
          transform: translateY(40px);
          opacity: 0;
          pointer-events: none;
        }
      }

      .am-select-date {
        transform: translateX(0%);
      }

      .am-show-calendar-container {
        text-align: center;
        margin: auto;
      }
    }

    //collapsed on mobile
    &.am-mobile-collapsed {
      opacity: 1;
      transition: all 0.3s;
      transition-delay: 0.8s;
      position: relative;
      display: block;
      //min-height: 580px;
      .am-confirmation-booking-details {
        display: block !important;

        > div {
          display: inline-block;
          margin-bottom: @margin-medium;
          min-width: 48%;
        }
      }

      .am-select-service {
        transform: translateX(0%);
        width: 100%;
        padding: @padding-medium;
        box-sizing: border-box;

        .am-button-wrapper {
          transition: all 0.3s ease;
          transition-delay: 0.15s;
          opacity: 1;
          pointer-events: all;
        }
      }

      .am-select-date {
        transform: translateX(101%);
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        z-index: 1;

        &.am-show-calendar {
          padding: @padding-medium 0;
        }
      }

      &.am-active-picker {
        min-height: 420px;

        &.am-recurring-active {
          min-height: 620px;
        }

        .am-select-service {
          .am-button-wrapper {
            opacity: 0;
            transition-delay: 0s;
          }
        }

        .am-select-date {
          transform: translateX(0%);

          .am-back {
            display: block;
          }
        }

        &.am-show-times {
          min-height: 620px;
          transition: none;

          &.am-recurring-active-daily {
            min-height: 520px;

            @media @less-then-small {
              min-height: 720px;
            }
          }

          &.am-recurring-active-weekly {
            min-height: 620px;

            @media @less-then-small {
              min-height: 720px;
            }
          }

          &.am-recurring-active-monthly {
            min-height: 620px;

            @media @less-then-small {
              min-height: 720px;
            }
          }
        }

        &.am-active-confirm {
          .am-pagination {
            display: block;
            border-bottom: none;
            text-align: center;
          }
        }

        @media @less-then-small {
          &.am-recurring-active {
            min-height: 620px;
            transition: none;
          }
        }
      }

      &.am-active-confirm {
        .am-confirm-booking, .am-recurring-dates {
          position: relative;
          min-height: 620px;

          @media @less-then-small {
            min-height: 720px;
          }
        }

        .am-select-service {
          position: absolute;
        }
      }

      .am-recurring-dates {
        .am-pagination {
          div {
            display: block;
          }
        }

        .am-recurring-row-item {
          padding-right: 1px;
        }
      }
    }

    .am-recurring-setup {
      padding: @margin-big;

      @media @less-then-small {
        padding: @margin-small;
      }

      .am-recurring-setup-all-cycle {
        .el-select__caret {
          display: none;
        }
      }

      .el-input-number {
        width: 100%;
      }

      .el-input-number__decrease {
        background-color: transparent;
        width: 30%;
      }

      .el-input-number__increase {
        background-color: transparent;
        width: 30%;
      }

      .am-recurring-setup-title {
        text-align: center;
      }

      .el-checkbox-button {
        margin: 0 auto;

        vertical-align: middle;
      }

      .el-checkbox-group {
        width: 100%;
        text-align: center;

        .is-checked {
          .el-checkbox-button__inner {
            background-color: @color-white;
            color: @color-accent;
          }
        }

        .is-disabled {
          opacity: 0.3;
        }
      }

      .el-checkbox-button__inner {
        background-color: transparent;
        border: 1px solid fade(@color-divider-gray, 50%);
        border-radius: 4px;
        height: 40px;
        width: 40px;
        vertical-align: middle;
        display: table-cell;
        padding: 12px;

        @media @less-then-small {
          height: 34px;
          width: 34px;
          padding: 5px;
        }
      }

      .el-input__inner {
        background-color: transparent;
      }

      .v-calendar-column {
        .el-form-item__content > div > div {
          margin-left: 30px;

          @media @less-then-small {
            margin-left: 0;
          }
        }

        * {
          color: #606266;
        }

        .el-form-item__label {
          color: @color-white;
        }

        .el-form-item__content, .am-calendar-picker {
          .el-input__inner {
            color: @color-white;
          }

          &:after {
            background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDIyIDI0Ij4NCiAgICA8cGF0aCBmaWxsPSIjRTJFNkVDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiDQogICAgICAgICAgZD0iTTE1LjcxNCAyLjY2N0g2LjI4NlYwSDIuNzV2Mi42NjdILjc4QS43ODMuNzgzIDAgMCAwIDAgMy40NXYxOS43NjRBLjc4Ljc4IDAgMCAwIC43ODMgMjRoMjAuNDM0YS43ODUuNzg1IDAgMCAwIC43ODMtLjc4NVYzLjQ1MWEuNzgyLjc4MiAwIDAgMC0uNzgtLjc4NGgtMS45N1YwaC0zLjUzNnYyLjY2N3pNMi43NSAyMS40MjlWOGgxNi41djEzLjQyOUgyLjc1ek0xMiAxNHY2aDZ2LTZoLTZ6Ii8+DQo8L3N2Zz4NCg==') no-repeat center / contain;
          }
        }

        .c-day-content {
          color: inherit;

          div {
            color: inherit;
          }
        }
      }

      .am-recurring-setup-description {
        padding-top: 30px;
        padding-bottom: 20px;
        text-align:center;
        border-top: 1px solid @color-divider-gray;
      }

      .el-loading-mask {
        background-color: transparent;
      }

      .am-button-wrapper {
        text-align: center;
        margin-top: @margin-extra-big !important;
        margin-bottom: @margin-extra-big !important;

        .el-button {
          min-width: 98.2px;

          .el-icon-loading {
            color: @color-accent;
          }

          &:hover {
            background-color: fade(#fff, 85%);
          }

          span {
            color: @color-accent;
          }
        }
      }
    }

    .am-recurring-dates {
      transition: all 0.3s ease;
      z-index: -1;
      opacity: 0;
      position: relative;
      bottom: 0;
      top: 0;
      left: 3%;
      right: 0;
      width: 97%;
      background: #fff;
      transform: translate(100%);

      @media @less-then-small {
        .v-calendar-column > div > div {
          position: fixed;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
        }
      }

      .am-recurring-dates-header {
        margin-top: @margin-big;
        margin-bottom: @margin-big;

        .am-recurring-dates-header-first {
          margin: 0;
        }

        .am-recurring-dates-header-second {
          color: darken(@color-light-gray, 30%);
          font-size: @small-fs;
          word-wrap: break-word;
        }

        @media @less-then-small {
          border-bottom: 1px solid @color-divider-gray;
          margin-bottom: 5px;
        }
      }

      .am-recurring-dates-rows {
        opacity: 1;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 100px;

        @media @less-then-small {
          padding-left: 0;
          padding-right: 0;
          margin: 0;
        }
      }

      .am-recurring-row-delete-message {
        font-size: 12px;
      }

      .am-recurring-row-item-time {
        .el-input__inner {
          padding-left: 30px;
        }
      }

      .am-recurring-dates-row-header {
        padding-left: 10px;
        padding-right: 10px;

        * {
          color: darken(@color-light-gray, 30%);
        }

        .el-row {
          border-bottom: 1px solid @color-divider-gray;
        }

        .am-recurring-dates-row-header-date {
          padding-left: 30px;
        }

        .am-recurring-dates-row-header-time {
          padding-left: 30px;
        }
      }

      .am-recurring-flex-row-middle-align {
        border-bottom: 1px solid @color-divider-gray;

        display: flex;
        align-items: center;
        width: 100%;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-left: 5px;

        &.am-recurring-dates-row-editing {
          background-color: @color-highlight;
        }

        &.am-recurring-dates-row-substitute {
          background-color: fade(@color-accent, 20%);
        }

        @media @less-then-large {
          align-items: inherit;
        }

        @media @less-then-small {
          display: inline-block;

          &:first-of-type {
            margin-bottom: 0;
          }
        }

        @media @more-then-small {
          .am-recurring-row-item-date {
            &.is-editing > div {
              &:after {
                content: "";
                display: block;
                position: absolute;
                top: 2px;
                bottom: 2px;
                right: 8px;
                width: 16px;
                background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDIyIDI0Ij4NCiAgICA8cGF0aCBmaWxsPSIjRTJFNkVDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiDQogICAgICAgICAgZD0iTTE1LjcxNCAyLjY2N0g2LjI4NlYwSDIuNzV2Mi42NjdILjc4QS43ODMuNzgzIDAgMCAwIDAgMy40NXYxOS43NjRBLjc4Ljc4IDAgMCAwIC43ODMgMjRoMjAuNDM0YS43ODUuNzg1IDAgMCAwIC43ODMtLjc4NVYzLjQ1MWEuNzgyLjc4MiAwIDAgMC0uNzgtLjc4NGgtMS45N1YwaC0zLjUzNnYyLjY2N3pNMi43NSAyMS40MjlWOGgxNi41djEzLjQyOUgyLjc1ek0xMiAxNHY2aDZ2LTZoLTZ6Ii8+DQo8L3N2Zz4NCg==') no-repeat center / contain;
              }
            }
          }

          .am-recurring-row-item-time {
            &.is-editing > div > div {
              &:before {
                content: "";
                display: block;
                position: absolute;
                top: 2px;
                bottom: 2px;
                left: 8px;
                width: 16px;
                background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjRDNEQ0U2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMywyNyBDMTguMDI5MjM4NiwyNyAxNCwyMi45Njk3ODA1IDE0LDE3Ljk5OTcyMzkgQzE0LDEzLjAyOTY2NzMgMTguMDI5MjM4Niw5IDIzLDkgQzI3Ljk3MDIwOTEsOSAzMiwxMy4wMjk2NjczIDMyLDE3Ljk5OTcyMzkgQzMyLDIyLjk2OTc4MDUgMjcuOTcwMjA5MSwyNyAyMywyNyBMMjMsMjcgWiBNMjMsMTAuOTI4NTcxNCBDMTkuMDk0NTczNiwxMC45Mjg1NzE0IDE1LjkyODU3MTQsMTQuMDk0NDU0MSAxNS45Mjg1NzE0LDE3Ljk5OTczMyBDMTUuOTI4NTcxNCwyMS45MDUwMTE5IDE5LjA5NDU3MzYsMjUuMDcxNDI4NiAyMywyNS4wNzE0Mjg2IEMyNi45MDU0MjY0LDI1LjA3MTQyODYgMzAuMDcxNDI4NiwyMS45MDUwMTE5IDMwLjA3MTQyODYsMTcuOTk5NzMzIEMzMC4wNzE0Mjg2LDE0LjA5NDQ1NDEgMjYuOTA1NDQ2MSwxMC45Mjg1NzE0IDIzLDEwLjkyODU3MTQgTDIzLDEwLjkyODU3MTQgWiBNMjMuMDE0MzMzMiwxOS4xODc3NjQ2IEMyMi41NDg1MjE4LDE5LjE4Nzc2NDYgMjIuMTcwNTgzMiwxOC44MDk4Mzc2IDIyLjE3MDU4MzIsMTguMzQ0MDQwNSBMMjIuMTcwNTgzMiwxNC4zMzMzOTY5IEMyMi4xNzA1ODMyLDEzLjg2NzU5OTkgMjIuNTQ4NTIxOCwxMy40ODk2NzI4IDIzLjAxNDMzMzIsMTMuNDg5NjcyOCBDMjMuNDgwMTQ0NSwxMy40ODk2NzI4IDIzLjg1ODA4MzIsMTMuODY3NTk5OSAyMy44NTgwODMyLDE0LjMzMzM5NjkgTDIzLjg1ODA4MzIsMTcuNTAwMzE2NCBMMjYuNjcwNTgzMiwxNy41MDAzMTY0IEMyNy4xMzYzOTQ2LDE3LjUwMDMxNjQgMjcuNTE0MzMzMiwxNy44NzgyNDM0IDI3LjUxNDMzMzIsMTguMzQ0MDQwNSBDMjcuNTE0MzMzMiwxOC44MDk4Mzc2IDI3LjEzNjQxNSwxOS4xODc3NjQ2IDI2LjY3MDU4MzIsMTkuMTg3NzY0NiBMMjMuMDE0MzMzMiwxOS4xODc3NjQ2IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNCAtOSkiLz4KPC9zdmc+Cg==') no-repeat center / contain;
              }
            }
          }
        }

        .el-col {
          margin: auto;

          @media @less-then-small {
            span.am-col-title-date {
              display: inline-block;
              color: darken(@color-light-gray, 30%);
            }
          }

          .el-icon-warning-outline {
            margin-left: 5px;
          }

          .am-col-title {
            display: none;
            font-size: @small-fs;
            color: @color-text-second;
          }

          @media @less-then-small {
            .am-col-title {
              display: block;
            }
          }

          &.am-recurring-row-item {
            padding-left: 1px;
            pointer-events: none;

            @media @less-then-small {
              padding-left: 0;
              padding-right: 0;

              &.am-recurring-row-item-date {
                width: 56%;
                display: inline-block;
                text-align: center;
                margin-left: 5px;

                .el-input__inner {
                  padding-right: 0;
                  padding-left: 5px;
                }
              }

              &.am-recurring-row-item-time {
                width: 35%;
                display: inline-block;
                text-align: center;
                margin-left: 5px;

                .el-input__inner {
                  padding-right: 0;
                  padding-left: 5px;
                }
              }
            }
          }

          &.am-recurring-row-action {
            text-align: center;
          }

          .el-input__inner {
            background-color: transparent;
            border-color: transparent;
          }

          .el-select__caret {
            display: none;
          }

          &.is-substitute {
            .el-input__inner {
              color: @color-accent
            }
          }

          &.is-editing {
            .el-input__inner {
              border-color: darken(#E2E6EC, 20%);
            }

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

            &.am-recurring-row-item {
              pointer-events: all;
            }

            &.am-recurring-row-action {
              border-color: transparent;
            }

            .popover-container, .el-select {
              background-color: @color-white;
            }
          }

          &.is-deleting {
            text-align: center;
          }

          @media @less-then-small {
            p {
              text-align: left;
            }

            width: 100%;
          }

          .am-edit-element {
            padding: 0;

            &:first-child {
              margin-right: 20px;
            }
          }
        }
      }

      .v-calendar-column {
        @media @less-then-small {
          padding: 0 0 0;
        }
      }

      .am-pagination {
        &.am-pagination-hidden {
          visibility: hidden;
        }

        display: flex;
        justify-content: space-between;
        padding-bottom: @padding-small;

        @media @less-then-medium {
          display: block;
          border-bottom: none;
          text-align: center;
        }

        div {
          display: inline-block;

          @media @less-then-medium {
            display: block;
          }

          p {
            padding-top: @padding-small;
            padding-bottom: @padding-small;
            text-align: center;
            font-size: @small-fs;
            color: darken(@color-light-gray, 30%);
            margin-top: 8px;

            @media @less-then-small {
              text-align: center;
            }
          }
        }

        .el-pagination {
          margin-bottom: 90px;
          text-align: center;
          display: inline-block;
          padding-top: @padding-small;
          padding-bottom: @padding-small;

          @media @less-then-small {
            text-align: center;
          }

          .el-pager li {
            height: 32px;
            line-height: 32px;
            padding: 0 @padding-small;
            color: @color-text-prime;
            border-top: 1px solid @color-divider-gray;
            border-bottom: 1px solid @color-divider-gray;
            border-left: 1px solid @color-divider-gray;

            &:first-child {
              border-left: none;
            }

            @media @less-then-small {
              padding: 0 @padding-small/3;
              min-width: 24px;
            }

            &.active {
              background-color: @color-accent;
              border-color: @color-accent;
              color: @color-white;

              &:hover {
                color: @color-white;
              }
            }

            &:hover {
              color: @color-accent;
            }
          }

          button {
            border: 1px solid @color-divider-gray;
            height: 32px;
            padding: 0 @padding-small;
          }
        }
      }

      .dialog-footer {
        border-top: 1px solid @color-divider-gray;
        padding-top: @padding-big;
        text-align: center;
        position: absolute;
        bottom: 20px;
        width: 95%;

        @media @less-then-small {
          width: 100%;
        }
      }
    }

    //STEP 3
    .am-confirm-booking {
      transition: all 0.3s ease;
      z-index: -1;
      opacity: 0;
      position: absolute;
      bottom: 0;
      top: 0;
      left: 3%;
      right: 0;
      width: 97%;
      background: #fff;
      transform: translate(100%);

      .am-confirmation-booking-header {
        text-align: center;
        margin-bottom: @margin-big;

        img, svg {
          border-radius: 50%;
          max-width: 80px;
          width: 80px;
          height: 80px;
        }

        h2 {
          font-weight: @medium;
          padding: @padding-small;
          margin: 0;
        }
      }

      .am-custom-fields {
        display: inline-block;
        width: 100%;

        .el-row {
          padding-left: 12px;
          padding-right: 12px;
          margin-bottom: 0;

          .el-col:nth-child(odd) {
            clear: both;
          }

          .text-content-custom-field {
            label {
              visibility: hidden;
            }
          }

          .el-upload--text {
            width: 100%;
          }

          .el-upload-dragger {
            border: 2px dashed @color-accent;
            height: 40px;
            text-align: center;
            cursor: pointer;
            position: relative;
            border-radius: 4px;
            justify-content: center;
            align-items: center;
            color: @color-accent;
            box-sizing: border-box;
            display: flex;
            width: 100%;

            .el-icon-upload {
              margin: 0 0 0 0;
            }

            i {
              display: inline;
              padding: @padding-small/4;
              color: @color-accent;
              font-size: @medium-fs+4px;
              line-height: 36px;
            }

            span {
              color: @color-accent;
            }
          }

          .popover-content {
            background-color: #ffffff;
          }

          .c-weekdays {
            border-bottom: 1px solid @color-divider-gray;
            margin-left: 3px;
            margin-right: 3px;
          }

          .c-day-content {
            font-size: 12px;
          }
        }
      }

      .el-form-item {
        margin-bottom: @margin-medium;
      }

      p {
        text-align: left;
        margin: 0;
        padding: 0;
        font-size: @small-fs;
        color: @color-text-prime;
      }

      p.am-align-right {
        text-align: right;
      }

      .am-employee-photo {
        border-radius: 50%;
        width: 24px;
        max-width: 24px;
        height: 24px;
        display: inline-block;
        vertical-align: middle;
        margin-right: @margin-small/2;
      }

      .el-row {
        margin-bottom: @margin-small;
      }

      .am-add-coupon {
        margin-bottom: @margin-medium;

        span {
          color: @color-accent;
          font-size: @mini-fs;
        }

        .el-input__inner {
          height: 32px;
        }

        svg, img {
          width: 20px;
          height: 20px;
          display: inline-block;
          margin-right: 2px;
          vertical-align: middle;

          path {
            fill: @color-accent;
          }
        }

        .el-form-item {
          margin-bottom: 0;
        }

        .el-form-item__content {
          position: static;
        }

        .el-form-item__error {
          padding-left: @padding-small;
          padding-top: 1px;
        }

        .el-input-group__append, .el-input-group__prepend {
          background-color: @color-accent;
          color: @color-white;
          border-color: @color-accent;

          &:hover {
            background-color: fade(@color-accent, 15%);
            border-color: fade(@color-accent, 15%);

            .el-button {
              color: @color-text-prime;
              background-color: transparent;
              border-color: transparent;
            }
          }

          .el-button {
            background-color: transparent;
            border-color: transparent;
            color: @color-white;
          }
        }
      }

      .am-add-coupon-field {
        span {
          visibility: hidden;
        }
      }

      .am-coupon-limit {
        background-color: #354052;
        padding: 10px;
        border-radius: @border-radius/2;

        .am-coupon-limit-text {
          font-size: 14px;

          div {
            display: inline-block;
            padding-top: 6px;
            padding-bottom: 6px;
          }

          p, strong {
            color: @color-white;
          }
        }

        svg, img {
          width: 30px;
          height: 30px;
          display: inline-block;
          margin-right: 2px;
          vertical-align: middle;
          margin-bottom: 6px;
          margin-top: 6px;

          circle {
            fill: @color-accent;
          }
        }
      }

      .am-confirmation-extras-cost {
        background-color: fade(@color-accent, 10%);
        padding-top: @padding-small/2;
        padding-bottom: @padding-small/2;
        margin-left: 0 !important;
        margin-right: 0 !important;

        div {
          line-height: 24px;
        }

        .el-collapse {
          border: none;

          .el-collapse-item__header {
            height: 24px;
            border: none;
            margin: 0;
            padding: 0;
            font-size: @small-fs;
            color: @color-text-prime;
            background: none;

            .am-extras-title {
              display: inline-block;
              font-weight: @regular;
              padding-left: 12px;
            }

            .am-extras-total-cost {
              float: right;
              margin-left: @margin-small;
            }

            i {
              line-height: 24px;
              margin-right: -3px;
              margin-left: 1px;
            }
          }

          .el-collapse-item__wrap {
            background: none;
            border: none;
            padding-left: @padding-big/2;

            .el-collapse-item__content {
              padding: 0;

              .am-extras-details {
                display: inline-block;
              }

              .am-extras-cost {
                display: inline-block;
                float: right;
                padding-right: @padding-big/2;
              }
            }
          }
        }
      }

      .am-confirm-booking-form {
        padding: 0 @padding-small;

        .am-confirm-booking-data {
          margin-bottom: 0;
        }

        .am-confirm-booking-recaptcha-block {
          @media @less-then-small {
            transform: scale(0.77);
            -webkit-transform: scale(0.77);
            transform-origin: 0 0;
            -webkit-transform-origin: 0 0;
          }

          .grecaptcha-badge {
            @media @less-then-small {
              position: unset !important;
            }
          }
        }

        .am-confirm-booking-payment {
          margin-top: -24px;
        }

        .am-confirmation-booking-details {
          border-bottom: 1px solid @color-divider-gray;
          margin-bottom: @margin-big;
          display: flex;
          align-items: center;
          justify-content: space-between;
          border-top: 1px solid @color-divider-gray;
          padding: @padding-medium 0;

          &.recurring-string {
            padding-top: 0;
            border-top: none;
          }

          > div {
            margin-right: @margin-small;

            p {
              margin: 0 0 @margin-small/2 !important;
            }
          }
        }
      }

      .am-confirmation-total {
        background-color: fade(@color-accent, 10%);
        padding: @padding-small;
        margin-left: 0 !important;
        margin-right: 0 !important;

        p {
          /*font-size: @big-fs - 2px;*/
          font-weight: @medium;
          margin: 0 !important;
          padding: 0;
          @media @less-then-small {
            /*font-size: @medium-fs;*/
          }

          &.am-align-right {
            color: @color-accent;
          }
        }
      }

      .am-confirmation-extras-cost {
        padding-top: 0;
        background-color: fade(@color-accent, 10%);
        padding-bottom: 0;

        p {
          margin: 0;
        }
      }

      .dialog-footer {
        margin-top: @margin-big;
        text-align: center;
      }

      .dialog-footer-no-margin {
        margin-top: 0;
      }
    }

    &.am-active-confirm {
      &.am-mobile-collapsed {

      }

      .am-select-service {
        transform: translateX(-200%);
        position: absolute;
      }

      .am-select-date {
        transform: translateX(-94%);
        left: 0%;
        min-height: 720px;
        position: absolute;
        top: 0;
        bottom: 0;

        .am-calendar-picker, p {
          transition: all 0.1s;
          opacity: 0;
          transition-delay: 0.5s;
        }
      }

      .am-confirm-booking {
        min-height: 630px;
      }

      .am-recurring-dates {
        min-height: 630px;

        @media @less-then-small {
          min-height: 630px;
        }
      }

      .am-confirm-booking, .am-recurring-dates {
        //transition-delay: 0.5s;
        z-index: 1;
        display: block;
        width: 97%;
        position: relative;
        bottom: 0;
        top: 0;
        left: 3%;
        right: 0;
        opacity: 1;
        padding: @padding-big @padding-medium;
        box-sizing: border-box;
        transform: translate(0);

        @media @less-then-medium {
          left: 0;
          right: 0;
          width: 100%;
        }

        @media @less-then-small {
          padding-left: 0;
          padding-right: 0;
        }
      }
    }

    &.am-active-submit {
      min-height: inherit;

      &.am-mobile-collapsed {
        min-height: inherit;
      }

      .am-select-service {
        display: none;
      }

      .am-select-date {
        display: none;
      }

      .am-confirm-booking {
        display: none;
      }
    }

    .am-waiting-confirmation, .am-success-payment, .am-booking-fetched {
      text-align: center;
      background: #fff;
      z-index: 2;
      margin: 0 auto;
      padding: @padding-big*3;
      @media @less-then-small {
        padding: @padding-medium;
      }

      h4 {
        text-transform: uppercase;
        margin-bottom: @margin-big;
        color: @color-text-second;
        letter-spacing: 2px;
      }

      .el-button a {
        color: @color-white;
      }

      .am-svg-wrapper {
        position: relative;
        margin: 0 0 @margin-big;

        .am-hourglass {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 32px;
          height: 42px;
          padding: 0;
          margin-left: -16px;
          margin-top: -24px;

          path {
            fill: @color-accent;
          }
        }

        .am-congrats {
          width: 96px;
          padding: 0;
          margin: @margin-big;
          /*border-radius: 50%;
          border: 2px solid @color-divider-gray;*/

          path {
            fill: @color-accent;
          }
        }

        .am-spin {
          width: 160px;
          padding: 0;
          margin: 0;

          path {
            stroke: @color-accent;
          }
        }
      }

      .el-col {
        width: 100%;
      }

    }

    .am-booking-fetched {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: 0;
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }

  }
}

.StripeElement {
  margin-top: 3%;
}
