.applauncher {
  all: unset;
  border: 2px solid $contrast-bg;
  background-color: $bg;
  color: #f8f8f2;
  padding: 2px;

  * {
    font-size: 16px;
  }

  list, row {
    all: unset;
  }

  .header {
    margin: 16.2px;
    margin-bottom: 0;

    image, entry {
      all: unset;
      border-radius: 9px;
      color: #f8f8f2;
      background-color: rgba(#44475a, 0.6);
      border: 1px solid #44475a;
      padding: 4.5px;
    }

    image {
      margin-right: 9px;
      -gtk-icon-transform: scale(0.8);
      font-size: 25.6px;
    }
  }

  scrolledwindow {
    padding: 10px;
    padding-bottom: 0;
    min-width: 900px;
    min-height: 650px;

    scrollbar, scrollbar * {
      all: unset;
    }

    scrollbar.vertical {
      transition: 200ms;
      background-color: rgba(23, 23, 23, 0.3);
      margin: 20px 0;

      &:hover {
        background-color: rgba(23, 23, 23, 0.7);

        slider {
          background-color: rgba(238, 238, 238, 0.7);
          min-width: .6em;
        }
      }

      slider {
        background-color: rgba(238, 238, 238, 0.5);
        border-radius: 9px;
        min-width: .4em;
        min-height: 2em;
        transition: 200ms;
      }
    }
  }

  .placeholder {
    margin-top: 9px;
    color: #f8f8f2;
    font-size: 1.2em;
  }

  .app {
    all: unset;
    transition: 200ms;
    border-radius: 9px;

    label {
      transition: 200ms;

      &.title {
        margin-top: 20px;
        color: #f8f8f2;
      }

      &.description {
        color: rgba(238, 238, 238, 0.7);
      }
    }

    image {
      transition: 200ms;
      margin: 0 8px;
    }

    &:active {
      background-color: rgba($contrast-bg, 0.5);
      box-shadow: inset 0 0 0 3px rgba(238, 238, 238, 0.03);
    }
  }

  *:selected, .app:hover, .app:focus {
    * {
      font-weight: unset;
    }

    label.title {
      color: $contrast-bg;
    }

    image {
      -gtk-icon-shadow: 2px 2px $contrast-bg;
    }
  }
}