.fields {
    width: calc(100% + 1.5em);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    margin-left: -0.75em;
    margin-right: -0.75em;
    overflow: visible;
}

.fields.align-left {
    justify-content: flex-start;
}

.fields > .fields {
    margin-left: 0;
    margin-right: 0;
}

.field {
    margin: 0;
    text-align: left;
    box-sizing: border-box;
    max-width: 100%;
}

.fields > .field {
    padding: 0 0.75em;
    flex-shrink: 0;
    flex-grow: 0;
    display: block;
}

.field.full {
    width: 100%;
}

.field.half {
    width: 50%;
    flex-grow: 1;
}

.field.third {
    width: 33.333%;
    max-width: 50%;
    flex-grow: 1;
}

.field.halfhalf {
    width: 25%;
}

.field.twothirds {
    width: 66.666%;
}

.fields.tiny {
    margin-left: -0.25em;
    margin-right: -0.25em;
    width: calc(100% + 0.5em);
}

.fields.tiny > .field {
    padding: 0 0.25em;
}

.fields.close {
    margin-left: 1px;
    margin-right: 1px;
    width: calc(100% + 2px);
}

.fields.close > .field {
    padding: 0 1px;
}
