ngx-guided-tour {
  .guided-tour-user-input-mask {
      position: fixed;
      top: 0;
      left: 0;
      display: block;
      height: 100%;
      width: 100%;
      max-height: 100vh;
      text-align: center;
      opacity: 0;
  }

  .guided-tour-spotlight-overlay {
      position: fixed;
      box-shadow: 0 0 0 9999px rgba(0,0,0,.7), 0 0 1.5rem rgba(0,0,0,.5);
  }

  .tour-orb {
      position: fixed;
      width: 20px;
      height: 20px;
      border-radius: 50%;

      .tour-orb-ring {
          width: 35px;
          height: 35px;
          position: relative;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          animation: pulse 2s linear infinite;

          &:after {
              content: '';
              display: inline-block;
              height: 100%;
              width: 100%;
              border-radius: 50%;
          }
      }

      @keyframes pulse {
          from {
              transform: translate(-50%, -50%) scale(0.45);
              opacity: 1.0;
          }
          to {
              transform: translate(-50%, -50%) scale(1);
              opacity: 0.0;
          }
      }
  }

  .tour-step {
      position: fixed;
      &.page-tour-step {
          max-width: 400px;
          width: 50%;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%)
      }
      &.tour-bottom, &.tour-bottom-right, &.tour-bottom-left {
          .tour-arrow::before {
              position: absolute;
          }
          .tour-block {
              margin-top: 10px;
          }
      }

      &.tour-top, &.tour-top-right, &.tour-top-left {
          margin-bottom: 10px;

          .tour-arrow::before {
              position: absolute;
              bottom: 0;
          }
          .tour-block {
              margin-bottom: 10px;
          }
      }

      &.tour-bottom , &.tour-top {
          .tour-arrow::before {
              transform: translateX(-50%);
              left: 50%;
          }
      }

      &.tour-bottom-right, &.tour-top-right {
          .tour-arrow::before {
              transform: translateX(-100%);
              left: calc(100% - 5px);
          }
      }

      &.tour-bottom-left, &.tour-top-left {
          .tour-arrow::before {
              left:  5px;
          }
      }

      &.tour-left {
          .tour-arrow::before {
              position: absolute;
              left: 100%;
              transform: translateX(-100%);
              top: 5px;
          }
          .tour-block {
              margin-right: 10px;
          }
      }

      &.tour-right {
          .tour-arrow::before {
              position: absolute;
              left: 0;
              top: 5px;
          }
          .tour-block {
              margin-left: 10px;
          }
      }

      .tour-block {
          padding: 15px 25px;
      }

      .tour-title {
          font-weight: bold !important;
          padding-bottom: 20px;
      }

      h3.tour-title {
          font-size: 20px;
      }
      h2.tour-title {
          font-size: 30px;
      }

      .tour-content {
          min-height: 80px;
          padding-bottom: 30px;
          font-size: 15px;
      }

      .tour-buttons {
          overflow: hidden; // clearfix

          button.link-button {
              padding-left: 0;
              font-size: 15px;
              font-weight: bold;
              max-width: none !important;
              cursor: pointer;
              text-align: center;
              white-space: nowrap;
              vertical-align: middle;
              border: 1px solid transparent;
              line-height: 1.5;
              background-color: transparent;
              position: relative;
              outline: none;
              padding: 0 15px;
              -webkit-appearance: button;
          }

          button.skip-button.link-button {
              padding-left: 0;
              border-left: 0;
          }

          .back-button {
              float: right;
          }

          .next-button {
              cursor: pointer;
              border-radius: 1px;
              float: right;
              font-size: 14px;
              border: none;
              outline: none;
              padding-left: 10px;
              padding-right: 10px;
          }
      }
  }
}
