/* Keep single-line fields readable in page forms, AJAX dialogs and mobile Safari. */
html body input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=image]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),
html body select:not([multiple]):not([size]),
html body select[size="1"] {
    box-sizing: border-box !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 24px !important;
}
html body select:not([multiple]):not([size]),
html body select[size="1"] { padding-right: 32px; }
html body .input-group > .input-group-append > .btn,
html body .input-group > .input-group-prepend > .btn,
html body .input-group > .input-group-append > .input-group-text,
html body .input-group > .input-group-prepend > .input-group-text { min-height: 44px; margin-top: 0; margin-bottom: 0; }
/* Controller names identify equipment without competing with the protocol heading. */
.card-header .controller-subtitle {
    display: block;
    margin-top: 4px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
}

.card-header .btn.btn-link[data-toggle="collapse"] {
    position: relative;
    width: 100%;
    padding-right: 52px;
    margin-bottom: 0;
    text-align: left;
}
.card-header .btn.btn-link[data-toggle="collapse"] > .badge.pull-right {
    position: absolute;
    top: 12px;
    right: 12px;
    float: none;
}
