/* Highpoint Foundry policy site */

/* Libre Caslon Text, SIL Open Font License. See /fonts/LICENSE-LibreCaslonText.txt */
@font-face {
	font-family: "Libre Caslon Text";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/fonts/LibreCaslonText-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Libre Caslon Text";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("/fonts/LibreCaslonText-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Libre Caslon Text";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/fonts/LibreCaslonText-700-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--paper: #f3f4f1;
	--ink: #1f262d;
	--ink-2: #5b6670;
	--bronze: #7a5a1e;
	--line: rgb(31 38 45 / 0.18);

	--serif: "Libre Caslon Text", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--measure: 66ch;
	--contents-w: 13rem;
	--col-gap: 3rem;
}

@media (prefers-color-scheme: dark) {
	:root {
		--paper: #15191d;
		--ink: #e3e6e0;
		--ink-2: #9aa4ac;
		--bronze: #c9a55a;
		--line: rgb(227 230 224 / 0.2);
	}
}

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

html {
	font-size: 106.25%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--serif);
	line-height: 1.6;
}

.frame {
	max-width: 72rem;
	margin-inline: auto;
	padding-inline: 1.25rem;
}

a {
	color: inherit;
	text-decoration-color: var(--bronze);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

a:hover {
	color: var(--bronze);
}

:focus-visible {
	outline: 2px solid var(--bronze);
	outline-offset: 3px;
}

.skip {
	position: absolute;
	left: 1rem;
	top: -4rem;
	z-index: 10;
	padding: 0.5rem 0.75rem;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--sans);
	font-size: 0.9rem;
	text-decoration: none;
}

.skip:focus {
	top: 1rem;
}

/* Masthead */

.masthead {
	border-bottom: 3px solid var(--ink);
	font-family: var(--sans);
}

.masthead-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	padding-block: 1.1rem 0.9rem;
}

.wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
}

.wordmark:hover {
	color: inherit;
}

.mark {
	flex: none;
	position: relative;
	top: -1px;
	color: var(--bronze);
}

.wordmark-name {
	font-weight: 700;
}

.wordmark-site {
	color: var(--ink-2);
}

.masthead nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
}

.masthead nav a {
	display: inline-block;
	padding-block: 0.2rem;
	border-bottom: 2px solid transparent;
	text-decoration: none;
}

.masthead nav a:hover {
	color: inherit;
	border-bottom-color: var(--line);
}

.masthead nav a[aria-current] {
	border-bottom-color: var(--bronze);
}

/* Page layout. The title block, contents list, and body are grid siblings: on wide
   screens the contents sits in a left column beside the text, on narrow screens it
   falls between the title block and the first section. */

.doc-layout {
	padding-block: 2.25rem 4rem;
}

.doc-layout > * {
	max-width: var(--measure);
}

.contents {
	max-width: var(--measure);
	margin-bottom: 2.5rem;
	font-family: var(--sans);
	font-size: 0.85rem;
}

.contents h2 {
	margin: 0 0 0.6rem;
	font: inherit;
	font-weight: 600;
}

.contents ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Section numbers are part of the heading text, so the list hangs them in the margin. */
.contents li {
	margin-bottom: 0.4rem;
	padding-left: 1.9rem;
	text-indent: -1.9rem;
	font-variant-numeric: tabular-nums;
}

.contents a {
	text-decoration: none;
}

.contents a:hover {
	text-decoration: underline;
}

@media (min-width: 62em) {
	.doc-layout {
		display: grid;
		grid-template-columns: var(--contents-w) minmax(0, var(--measure));
		column-gap: var(--col-gap);
	}

	.doc-layout > * {
		grid-column: 2;
		max-width: none;
	}

	.doc-layout > .contents {
		grid-column: 1;
		grid-row: 1 / span 3;
		position: sticky;
		top: 1.5rem;
		align-self: start;
		max-height: calc(100vh - 3rem);
		overflow-y: auto;
		margin-bottom: 0;
	}
}

/* Document head */

.doc-head {
	margin-bottom: 2.5rem;
}

h1 {
	margin: 0 0 0.75rem;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.doc-lede {
	margin: 0;
	font-size: 1.12rem;
	font-style: italic;
	line-height: 1.5;
}

.doc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 2.25rem;
	margin: 1.4rem 0 0;
	font-family: var(--sans);
	font-size: 0.85rem;
}

.doc-meta div {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.doc-meta dt {
	color: var(--ink-2);
}

.doc-meta dd {
	margin: 0;
}

.notice {
	margin: 1.5rem 0 0;
	padding: 0.3rem 0 0.3rem 0.9rem;
	border-left: 3px solid var(--bronze);
	font-family: var(--sans);
	font-size: 0.9rem;
	line-height: 1.5;
}

/* Document body */

.doc-body > :first-child {
	margin-top: 0;
}

.doc-body p,
.doc-body ul,
.doc-body ol,
.doc-body table,
.doc-body blockquote {
	margin: 0 0 1rem;
}

.doc-body ul,
.doc-body ol {
	padding-left: 1.3rem;
}

.doc-body li + li {
	margin-top: 0.3rem;
}

.doc-body h2 {
	margin: 2.75rem 0 0.8rem;
	font-size: 1.44rem;
	font-weight: 700;
	line-height: 1.85rem;
	letter-spacing: -0.005em;
}

.doc-body h3 {
	margin: 2rem 0 0.5rem;
	font-size: 1.15rem;
	font-weight: 400;
	font-style: italic;
	line-height: 1.6rem;
}

.home .doc-body h2 {
	margin-top: 2.5rem;
}

.doc-body code {
	font-size: 0.92em;
}

.doc-body table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--sans);
	font-size: 0.88rem;
	line-height: 1.45;
}

.doc-body th,
.doc-body td {
	padding: 0.55rem 0.9rem 0.55rem 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}

.doc-body thead th {
	border-bottom: 2px solid var(--ink);
	font-weight: 600;
}

.doc-body tbody th {
	min-width: 10rem;
	font-weight: 600;
}

/* Home page register of documents */

.doc-body .register {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.doc-body .register li {
	margin: 0 0 1.4rem;
}

.register-title {
	font-size: 1.3rem;
	line-height: 1.3;
}

.register li p {
	margin: 0.2rem 0 0;
}

.register-meta {
	color: var(--ink-2);
	font-family: var(--sans);
	font-size: 0.85rem;
}

.doc-body .register-sub {
	margin: 0.75rem 0 0;
	padding-left: 1.25rem;
	list-style: none;
}

.doc-body .register-sub li {
	margin: 0 0 0.75rem;
}

.register-sub a {
	font-size: 1.1rem;
}

/* Product privacy policies listed after the General Privacy Policy */

.related {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 2px solid var(--ink);
	font-family: var(--sans);
	font-size: 0.9rem;
}

.related h2 {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.related ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.related li {
	margin-bottom: 0.9rem;
}

.related li a {
	font-family: var(--serif);
	font-size: 1.15rem;
}

/* Footer */

.colophon {
	border-top: 3px solid var(--ink);
	color: var(--ink-2);
	font-family: var(--sans);
	font-size: 0.85rem;
}

.colophon-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem 3rem;
	padding-block: 1.5rem 3rem;
}

.colophon address {
	font-style: normal;
	line-height: 1.5;
}

.colophon address strong {
	color: var(--ink);
	font-weight: 600;
}

.colophon p {
	margin: 0;
}

.colophon p + p {
	margin-top: 0.4rem;
}

.colophon a {
	color: var(--ink);
}

/* Print: these documents get printed and filed */

@media print {
	@page {
		margin: 2cm;
	}

	html {
		font-size: 11pt;
	}

	body {
		background: #fff;
		color: #000;
	}

	.skip,
	.masthead nav,
	.contents,
	.colophon-notes {
		display: none;
	}

	.frame {
		max-width: none;
		padding-inline: 0;
	}

	.masthead {
		border-bottom: 1.5pt solid #000;
	}

	.doc-layout {
		display: block;
		padding-block: 1.5rem 0;
	}

	.doc-layout > * {
		max-width: none;
	}

	.doc-body h2,
	.doc-body h3 {
		break-after: avoid;
	}

	a {
		color: inherit;
		text-decoration: none;
	}

	.doc-body a[href^="http"]::after {
		content: " (" attr(href) ")";
		color: #333;
		font-size: 0.85em;
	}

	.colophon {
		border-top: 1pt solid #000;
		color: #000;
	}
}
