.#{$tour} {
  --tour-width: 520px;
  --tour-padding-primary: 16px;
  --tour-font-line-height: #{size(map.get($conf_timeline, 'title-line-height'))};
  --tour-title-font-size: 16px;
  --tour-title-text-color: var(--text-primary);
  --tour-title-font-weight: 400;
  --tour-font-size: 14px;
  --tour-color: var(--text-primary);
  --tour-bg-color: var(--bg-content);
  --tour-border-radius: 4px;
  --tour-border-color: var(--border-regular);
  .tour-hollow {
    transition: all var(--transition-duration) ease;
  }
  .tour-content {
    padding: 0;
    border-radius: var(--tour-border-radius);
    border: 1px solid var(--tour-border-color);
    width: var(--tour-width);
    background: var(--tour-bg-color);
    box-shadow: var(--box-shadow-md);
    box-sizing: border-box;

    &[data-side^=top] .tour-arrow {
      border-top-color: transparent;
      border-left-color: transparent;
      bottom: -5px;
    }
    &[data-side^=bottom] .tour-arrow {
      border-bottom-color: transparent;
      border-right-color: transparent;
      top: -5px;
    }
    &[data-side^=left] .tour-arrow {
      border-left-color: transparent;
      border-bottom-color: transparent;
      right: -5px;
    }
    &[data-side^=right] .tour-arrow {
      border-right-color: transparent;
      border-top-color: transparent;
      left: -5px;
    }
    .tour-indicators {
      display: inline-block;
      flex: 1
    }
    .tour-indicator {
      width: 6px;
      height: 6px;
      display: inline-block;
      border-radius: 50%;
      background: var(--info-light-5);
      margin-right: 6px
    }
    .tour-indicator.is-active {
      background: var(--primary)
    }
  }
  .tour-arrow {
    position: absolute;
    background: var(--tour-bg-color);
    border: 1px solid var(--tour-border-color);
    width: 10px;
    height: 10px;
    pointer-events: none;
    transform: rotate(45deg);
    box-sizing: border-box;
  }
  .tour-closebtn {
    position: absolute;
    top: 6px;
    right: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    background: 0 0;
    border: none;
    outline: 0;
    cursor: pointer;
    font-size: var(--message-close-size, 16px);
    .tour-close {
      color: var(--tour-title-text-color);
      font-size: inherit
    }
    &:focus, &:hover {
      .tour-close {
        color: var(--primary);
      }
    }
  }
  .tour-header {
    padding: var(--tour-padding-primary);
    padding-bottom: 10px;
    margin-right: 16px;
  }
  .tour-title {
    line-height: var(--tour-font-line-height);
    font-size: var(--tour-title-font-size);
    color: var(--tour-title-text-color);
    font-weight: var(--tour-title-font-weight);
  }
  .tour-body {
    padding: 0 var(--tour-padding-primary);
    color: var(--tour-text-color);
    font-size: var(--tour-font-size);
    img, video {
      max-width: 100%;
    }
  }
  .tour-footer {
    padding: var(--tour-padding-primary);
    padding-top: 10px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between
  }
  &.tour-primary {
    --tour-title-text-color: #fff;
    --tour-text-color: #fff;
    --tour-bg-color: var(--primary);
    .tour-closebtn:focus .tour-close,
    .tour-closebtn:hover .tour-close {
      color: var(--tour-title-text-color);
    }
    .tour-indicator {
      background: rgba(255, 255, 255, .15)
    }
    .tour-indicator.is-active {
      background: #fff
    }
  }
}
