.flex.table-row {
    border-bottom: 1px solid #E7E7E7;
    color: #2E2D2C;
}

.flex.table-row > * {
    padding: 1.5em 1em;
}

.flex.table-row.slim {
    border-bottom: none;
}

.flex.table-row.slim > * {
    padding: 0.3em 1em;
}

.flex.table-row.slim .icon-remove {
    margin-top: 0px;
}

.flex.table-header {
    background: #E7E7E7;
    font-weight: 700;
}

.flex.table-header.no-background {
    background: transparent;
    font-weight: 700;
}

tr .flex.flex-vertical-center .alert-inline {
    margin-top: 0;
    margin-bottom: 5px;
    padding: 6px;
}

tr .flex.flex-vertical-center .flex-button {
    margin-top: 0;
    margin-bottom: 0;
}

.table-row .table-label {
    font-weight: 700;
}

.flex .width-1x {
    flex: 1;
}

.flex .width-2x {
    flex: 2;
}

.flex.flex-justified .width-2x {
    flex: 2;
}

.flex .width-3x {
    flex: 3;
}

.flex.flex-justified .width-3x {
    flex: 3;
}

.flex .width-4x {
    flex: 4;
}

.flex .width-5x {
    flex: 5;
}

.flex .width-6x {
    flex: 6;
}

.flex .width-7x {
    flex: 7;
}

.flex .width-8x {
    flex: 8;
}

.flex .width-9x {
    flex: 9;
}

.flex .width-10x {
    flex: 10;
}

.flex .width-11x {
    flex: 11;
}

.flex .width-12x {
    flex: 12;
}

.flex .width-13x {
    flex: 13;
}

.flex .width-14x {
    flex: 14;
}

.flex .width-15x {
    flex: 15;
}

.flex .width-16x {
    flex: 16;
}

.flex .width-17x {
    flex: 17;
}

.flex .width-18x {
    flex: 18;
}

.flex .width-19x {
    flex: 19;
}

.flex .width-20x {
    flex: 20;
}

.flex .width-21x {
    flex: 21;
}

.flex-table .mobile-label {
    display: none;
}

.flex-table .table-row .table-cell {
    display: flex;
    width: 100%;
}

.flex-table .table-row .table-cell-vertical {
    display: flex;
    flex-direction: column;
}

.flex-table .table-row .label {
    text-transform: uppercase;
    color: #C2C2C2;
    padding: 0px;
    font-size: 1rem;
}

.flex.items-bottom {
    align-items: flex-end;
}

@media all and (max-width: 669px) {
    .flex.table-header {
        display: none;
    }

    .flex-table .flex {
        flex-direction: column;
        align-content: flex-start;
        align-items: flex-start;
    }

    .flex-table .table-row {
        margin-top: 1em;
        margin-bottom: 1em;
    }

    .flex-table .table-row.slim {
        margin-top: 0px;
        margin-bottom: 0px;
    }

    .flex-table .flex.table-row > * {
        padding: 0.1em 1em;
        color: #2E2D2C;
        border-bottom: none;
        margin-left: 0px;
    }

    .flex-table .mobile-label {
        display: initial;
        font-weight: 700;
    }

    .flex-table .table-row .text-right {
        text-align: left;
    }

    .flex-table .table-row .table-cell > * {
        flex: 1 1 0;
    }

    .flex-table .table-row .table-cell .significant {
        font-weight: 700;
    }
}
