.horizontal-layout {
    display: flex;
    flex-direction: row;
}

.vertical-layout {
    display: flex;
    flex-direction: column;
}

.error {
    color: red;
}

.control {
    display: flex;
    flex-direction: column;
}

.control > .wrapper {
    display: flex;
}

.control > .wrapper > input,
.control > .wrapper > select,
.control > .wrapper > textarea {
    flex: 1
}

.control > .error,
.control > .description {
    min-height: 1.5em;
}

.array-list {
    display: flex;
    flex-direction: column;
}

.array-list-item-toolbar {
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    margin: 8px 0;
}

.array-list-add {
    height: 40px;
    width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.array-list-item-toolbar > button {
    user-select: none;
    cursor: pointer;
    border-color: var(--btn-primary-focus-border-color);
    height: 40px;
    width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.array-list-item-toolbar > button:disabled {
    cursor:initial;
}

.array-list-item-label {
    background-color: rgb(250,250,250);
    flex: 1;
    padding: 8px;
    margin-inline: 8px;
}
.array-list-item-label:hover {
    background-color: rgb(221, 221, 221);
}

.array-list-item-content {
    display: none;
    padding: 0 1em;
}

.array-list-item-content.expanded {
    display: block;
    padding: 8px;
    margin: 8px;
    background: rgb(250, 250, 250);
}

.array-list-label {
    text-transform: uppercase;
    font-weight: 700;
    font-size: var(--font-size-lg);
}
