/*
 * Legal document block for terms and privacy pages.
 */

.legal-document {
	overflow: hidden;
	width: 100%;
	background: #fff;
	color: var(--color-grey-charcoal);
	font-family: var(--font-family-base);
}

.legal-document.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}

.editor-styles-wrapper .legal-document.alignfull {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

.legal-document__section,
.legal-document__updated {
	padding-block: clamp(0.5rem, 2vw, 1.5rem);
}

.legal-document__section--white {
	background: #fff;
	color: var(--color-grey-charcoal);
}

.legal-document__section--blue {
	background: var(--color-blue-overlay);
	color: var(--color-on-dark-muted);
}

.legal-document__updated {
	padding-block: 0 clamp(3rem, 6vw, 4rem);
	background: #fff;
	color: var(--color-grey-charcoal);
}

.legal-document__inner {
	width: min(calc(100% - 2rem), 54rem);
	margin-inline: auto;
}

.legal-document__section:first-of-type {
	padding-top: clamp(1.5rem, 3.5vw, 2.5rem);
}

.legal-document__section:last-of-type {
	padding-bottom: 0;
}

.legal-document__section + .legal-document__section {
	margin-top: 0;
}

.legal-document__section .legal-document__inner::before {
	content: "";
	display: block;
	width: 3rem;
	height: 0.1875rem;
	background: var(--color-brand-red);
	margin-bottom: 1.5rem;
}

.legal-document__section--no-eyebrow .legal-document__inner::before {
	display: none;
}

.legal-document__heading {
	margin: 0 0 0.75rem;
	padding-top: 0;
	font-family: var(--font-family-base);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-body);
}

.site-main .legal-document__section--white .legal-document__heading,
.editor-styles-wrapper .legal-document__section--white .legal-document__heading {
	color: var(--color-grey-charcoal);
}

.legal-document__section--subsection .legal-document__heading {
	font-weight: var(--font-weight-regular);
}

.site-main .legal-document__section--blue .legal-document__heading,
.editor-styles-wrapper .legal-document__section--blue .legal-document__heading {
	color: var(--color-white);
}

.legal-document__body {
	max-width: 48rem;
	color: var(--color-grey-charcoal);
	font-family: var(--font-family-base);
	font-size: 1rem;
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
}

.legal-document__body p,
.legal-document__body li,
.legal-document__updated p {
	color: var(--color-grey-charcoal);
	font-family: var(--font-family-base);
	font-size: 1rem;
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
}

.legal-document u {
	font-weight: var(--font-weight-regular);
	text-decoration: underline;
	text-underline-offset: 0.08em;
}

.legal-document__body > * {
	margin-top: 0;
}

.legal-document__body > *:last-child,
.legal-document__updated p {
	margin-bottom: 0;
}

.legal-document__body p {
	margin-bottom: 0;
}

.legal-document__body p + p,
.legal-document__body ul + p,
.legal-document__body ol + p {
	margin-top: 1rem;
}

.legal-document__body p + ul,
.legal-document__body p + ol {
	margin-top: 0.75rem;
}

.legal-document__body ul,
.legal-document__body ol {
	margin-bottom: 0;
	padding-left: 1.5rem;
}

.legal-document__body li + li {
	margin-top: 0.25rem;
}

.legal-document__body ul {
	list-style: disc;
}

.site-main .legal-document__body a:not(.btn),
.editor-styles-wrapper .legal-document__body a:not(.btn) {
	color: #0066cc;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.site-main .legal-document__body a:not(.btn):hover,
.site-main .legal-document__body a:not(.btn):focus,
.editor-styles-wrapper .legal-document__body a:not(.btn):hover,
.editor-styles-wrapper .legal-document__body a:not(.btn):focus {
	color: var(--color-blue-dark);
	text-decoration: underline;
}

.legal-document__updated p {
	letter-spacing: 0;
}

.legal-document__updated p::before {
	content: "-----";
	display: block;
	margin-top: 1.25em;
}

.page-shell--legal .page-banner {
	padding-block: clamp(3rem, 6vw, 4.7rem);
	border-bottom: 0;
	background: var(--color-blue-dark);
	color: var(--color-white);
}

.page-shell--legal .page-banner::after {
	content: none;
}

.page-shell--legal .page-banner__title {
	text-decoration: none;
}

@media (max-width: 47.9375rem) {
	.legal-document__section,
	.legal-document__updated {
		padding-block: 0.5rem;
	}

	.legal-document__section:first-of-type {
		padding-top: 1.25rem;
	}

	.legal-document__section:last-of-type,
	.legal-document__updated {
		padding-bottom: 3rem;
	}

	.page-shell--legal .page-banner {
		padding-block: 2.5rem;
	}
}
