/**
 * Single-purpose helper classes. See dfusionfw/docs/css-conventions.md.
 */
@layer utilities {
    /* Third-party vendored CSS is typically shipped unlayered and beats
       every layer above regardless of specificity -- see
       dfusionfw/docs/css-conventions.md 1. !important here is the
       exception for that reason, not a pattern to copy elsewhere. */
    [hidden] {
        display: none !important;
    }

    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* Display Utilities */
    .d-block { display: block !important; }
    .d-inline-block { display: inline-block !important; }
    .d-inline { display: inline !important; }
    .d-none { display: none !important; }

    .w-100 { width: 100% !important; }

    /* Float / Clear Utilities */
    .float-left { float: left !important; }
    .float-right { float: right !important; }
    .clear { clear: both !important; }
    
    .clearfix::after {
        content: "";
        display: table;
        clear: both;
    }
}
