html {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    overflow-x: clip;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

#page,
.site,
.site-main,
main,
header,
footer {
    min-width: 0;
    max-width: 100%;
}

img,
picture,
video {
    max-width: 100%;
    height: auto;
}

canvas,
iframe {
    max-width: 100%;
}

svg {
    max-width: 100%;
}

.sf-container,
.sfcr-container,
.sf-service-container,
.sf-site-header,
.sf-topbar,
.sf-footer,
.sfcr-page,
.sf-service-page {
    min-width: 0;
    max-width: 100%;
}

.sf-service-page > *,
.sf-service-page section,
.sf-service-page article,
.sf-service-page aside {
    max-width: 100%;
}

@media (max-width: 960px) {
    .sf-primary-nav {
        max-width: calc(100vw - 16px);
    }
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}
