[layout~=row] {
    display: flex;
    flex-direction: row;
}

[layout~=column] {
    display: inline-flex;
    flex-direction: column;
}

[layout~=wrap] {
    flex-wrap: wrap;
}

[layout~=left] {
    justify-content: flex-start;
}

[layout~=middle] {
    justify-content: center;
}

[layout~=right] {
    justify-content: flex-end;
}

[layout~=divide] {
    justify-content: space-between;
}

[layout~=pad] {
    justify-content: space-around;
}

[layout~=top] {
    align-items: flex-start;
}

[layout~=center] {
    align-items: center;
}

[layout~=bottom] {
    align-items: flex-end;
}

[layout~=stretch] {
    align-items: stretch;
}

[flex] {
    flex: 1;
}

[flex="1"] {
    flex: 1 1 10%;
}

[flex="2"] {
    flex: 1 1 20%;
}

[flex="3"] {
    flex: 1 1 30%;
}

[flex="4"] {
    flex: 1 1 40%;
}

[flex="5"] {
    flex: 1 1 50%;
}

[flex="6"] {
    flex: 1 1 60%;
}

[flex="7"] {
    flex: 1 1 70%;
}

[flex="8"] {
    flex: 1 1 80%;
}

[flex="9"] {
    flex: 1 1 90%;
}

:root {
    --gap: 4px;
}

[gap] {
    gap: calc(var(--gap) * 1);
}

[gap="2"] {
    gap: calc(var(--gap) * 2);
}

[gap="3"] {
    gap: calc(var(--gap) * 4);
}

[gap="4"] {
    gap: calc(var(--gap) * 8);
}
