.section
{
    margin: 1em 0;
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
}

.section > *
{
    margin: 0 .5em;
}

.section > h2
{
    width: 12em;
}

.section > div
{
    flex-grow: 1;
    width: min-content;
    min-width: 20em;
}

.section p
{
    margin: 1.25em .25em .25em .25em;
}

.section div > p > input,
.phone_edit
{
    width: 100%;
    min-width: 20em;
    max-width: 40em;
    box-sizing: border-box;
}

.section .ui-widget
{
    margin: .25em 0;
}

.section .ui-widget:not(.ui-checkboxradio-label)
{
    display: block;
}

.phone_edit
{
    display: flex;
    flex-flow: row nowrap;
}

.phone_edit > input
{
    width: 100%;
}

#slot-selection
{
    display: flex;
    flex-flow: row wrap;
}

#slot-selection > *
{
    flex-grow: 1;
}

#slot-selection .ui-checkboxradio-label
{
    display: block;
    width: fit-content;
}

#tz-difference
{
    color: red;
}