/* Partners 3.0 base styles. */

html {
    min-height: 100%;
}

body.ss3-site-body {
    min-height: 100%;
    margin: 0;
    background: var(--ss3-color-page);
    color: var(--ss3-color-text);
    font-family: var(--ss3-font-family-base);
    font-size: var(--ss3-font-size-body);
    font-weight: var(--ss3-font-weight-regular);
    line-height: var(--ss3-line-height-body);
}

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

a {
    color: var(--ss3-color-link);
}

a:hover,
a:focus {
    color: var(--ss3-color-link-hover);
}

button,
input,
select,
textarea {
    font-family: inherit;
}

code,
pre,
.ss3-mono {
    font-family: var(--ss3-font-family-mono);
}

pre {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ss3-skip-link {
    position: absolute;
    left: -999rem;
    top: 0;
    z-index: 9999;
    padding: var(--ss3-space-3) var(--ss3-space-4);
    background: var(--ss3-color-surface);
    border: 2px solid var(--ss3-color-primary);
}

.ss3-skip-link:focus {
    left: var(--ss3-space-3);
}

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

.ss3-muted {
    color: var(--ss3-color-text-muted);
}

.ss3-small {
    font-size: var(--ss3-font-size-supporting);
    line-height: var(--ss3-line-height-body);
}

.ss3-nowrap {
    white-space: nowrap;
}

.ss3-break-anywhere {
    overflow-wrap: anywhere;
    word-break: break-word;
}


/* Uniform sequences own their gap; a child's margin reset cannot cancel it. */
.ss3-stack,
.ss3-stack-sm,
.ss3-stack-lg {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    gap: var(--ss3-gap-group);
}
.ss3-stack-sm { gap: var(--ss3-gap-inline); }
.ss3-stack-lg { gap: var(--ss3-space-6); }
.ss3-stack > *,
.ss3-stack-sm > *,
.ss3-stack-lg > * { margin-block: 0; min-width: 0; }

/* One shared native-state invariant; components must not resurrect hidden content. */
[hidden] { display: none !important; }
