.component-menu_builder {
  display: flex;
  flex-direction: column;

  width: calc(33.333333% - 10px);

  & > .title {
    flex-shrink: 0;

    display: grid;
    grid-template-columns: 1fr 3fr 1fr;

    padding-top: calculateRem(10);
    padding-right: calculateRem(15);
    padding-bottom: calculateRem(10);
    padding-left: calculateRem(15);

    background-color: $builda-darkgray;
    color: setTextColor($builda-darkgray);

    h4 {
      grid-column-start: 2;

      margin-bottom: 0;

      text-align: center;
    }

    .icon-container {
      text-align: right;
    }
  }

  .content {
    flex-grow: 1;

    border: solid 1px $builda-lightgray;
    border-top: none;

    .menu-items-container {
      height: calculateRem(320);

      overflow-y: auto;

      .draggable-container {
        height: 100%;
        
        .menu-item {
          &:not(:last-child) {
            margin-bottom: calculateRem(1);
          }

          &.sortable-ghost {
            .top {
              border: 1px solid $builda-midgray;

              background-color: transparent;
              color: $builda-midgray;
            }

            .options {
              display: none;
            }
          }

          .top {
            display: flex;
            justify-content: space-between;

            padding-top: calculateRem(10);
            padding-right: calculateRem(20);
            padding-bottom: calculateRem(10);
            padding-left: calculateRem(20);

            cursor: pointer;

            background-color: $builda-lightgray;
            color: setTextColor($builda-lightgray);

            &:active {
              cursor: grabbing;
            }

            .title {
              flex-grow: 1;

              margin-right: calculateRem(10);
            }
            .icon {
              flex-shrink: 0;
            }
          }
          .options {
            border-bottom: 1px solid $builda-lightgray;

            padding-top: calculateRem(15);
            padding-right: calculateRem(10);
            padding-bottom: calculateRem(15);
            padding-left: calculateRem(10);

            input[type=text] {
              display: block;

              margin-bottom: calculateRem(10);
            }
          }
        }
      }

      .empty-state {
        display: flex;
        flex-direction: column;
        justify-content: center;

        height: 100%;

        padding-top: calculateRem(60);

        .container {
          text-align: center;
        }

        .inner-page-container {
          padding-right: calculateRem(15);
          padding-left: calculateRem(15);

          & > .text {
            margin-bottom: calculateRem(25);
          }

          & > .input-container {
            display: flex;

            & > .component-dropdown {
              flex-grow: 1;
              margin-right: calculateRem(10);
            }
          }
        }
      }
    }

    .add-page-container {
      display: flex;

      padding-top: calculateRem(10);
      padding-right: calculateRem(15);
      padding-bottom: calculateRem(10);
      padding-left: calculateRem(15);

      &.invisible {
        visibility: hidden;
      }

      .component-dropdown {
        flex-grow: 1;
        margin-right: calculateRem(10);
      }

      .button {
        flex-shrink: 0;
      }
    }
  }
}