@dual-list-length: 230px;
@dual-list-border: 1px solid @color-pf-black-300;
@dual-list-light-border: 1px solid @color-pf-black-200;
@dual-list-scroll-bar-length: 12px;

.dual-list-pf-arrows {
  display: inline-block;
  margin: auto;
  position: relative;
  bottom: 110px;
  font-size: 23px;
  color: @color-pf-black-400;

  @media only screen and (max-width: 600px) {
    display: block;
    position: inherit;
    margin: 5px 0;
    padding-left: 79px;
  }

  span {
    display: block;
    margin: 25px;
    cursor: pointer;
    transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: rotate(-90deg);

    @media only screen and (max-width: 600px) {
      display: inline;
      margin: 0 20px 0 0;
    }

    &:hover {
      color: @color-pf-black-500;
    }
  }
}

.dual-list-pf-body {
  height: @dual-list-length;
  width: @dual-list-length;
  overflow-y: scroll;
  overflow-x: auto;
  display: inline-grid;
  align-content: flex-start;

  &::-webkit-scrollbar {
    width: @dual-list-scroll-bar-length;
    height: @dual-list-scroll-bar-length;
    background: @color-pf-black-100;
  }

  &::-webkit-scrollbar-thumb {
    background: @color-pf-black-300;
    border-radius: 6px;
    border: 3px solid transparent;
    background-clip: content-box;

    &:hover {
      background: @color-pf-black-400;
      border-radius: 6px;
      border: 3px solid transparent;
      background-clip: content-box;
    }
  }
}

.dual-list-pf-filter {
  margin-left: 20px;

  input {
    background-color: @color-pf-black-150;
    border: @dual-list-light-border;
    width: 145px;
    padding: 0 22px 0 5px;
    margin-top: 3px;
  }

  .search-icon {
    position: relative;
    right: 20px;
    bottom: 1px;
    color: @color-pf-black-400;
  }

  ::-webkit-input-placeholder {
    font-style: italic;
  }
}

.dual-list-pf-footer {
  padding: 10px;
  border-top: 1px solid @color-pf-black-300;
}

.dual-list-pf-heading {
  border-bottom: @dual-list-border;
}

.dual-list-pf-item {
  padding: 5px 0;
  margin-bottom: 0;
  font-weight: 400;
  transition: background 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s ease-out;
  cursor: pointer;
  white-space: nowrap;

  input[type='checkbox'] {
    position: relative;
    left: 10px;
    vertical-align: top;
    cursor: pointer;
  }

  &.selected {
    background-color: @color-pf-blue-400;
    color: white;
  }

  &.disabled {
    cursor: not-allowed;
    background: @color-pf-black-150;
    color: @color-pf-black-500;

    input[type='checkbox'] {
      cursor: not-allowed;
    }
  }

  &.child {
    padding-left: 22px;
  }

  &:hover {
    &:not(.selected):not(.disabled) {
      background-color: @color-pf-blue-100;
      color: inherit;
    }
  }
}

.dual-list-pf-item-label {
  margin-left: 20px;
}

.dual-list-pf-main-checkbox {
  position: relative;
  left: 10px;
  vertical-align: text-top;
  cursor: pointer;
}

.dual-list-pf-no-items {
  margin-top: 30px;
  text-align: center;
}

.dual-list-pf-selector {
  display: inline-block;
  border: @dual-list-border;
  user-select: none;
}

.dual-list-pf-sort-icon {
  cursor: pointer;
}
