:root {
	--libdoc-container-width: var(--ita-widths-content);
	--libdoc-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
		Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--libdoc-damier: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAHElEQVR4AWP4jwOcwQFoo2FUAy4JXAbRRMOoBgCE0rCfubvZNQAAAABJRU5ErkJggg==");
	--libdoc-soft-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	--libdoc-med-shadow: 0px 4px 16px rgba(0, 0, 0, 0.3);
	--libdoc-long-shadow: 1px 1px 2px rgba(49, 49, 49, 0.08),
		5px 6px 9px rgba(49, 49, 49, 0.26), 12px 13px 21px rgba(49, 49, 49, 0.34),
		22px 24px 38px rgba(49, 49, 49, 0.42), 34px 37px 59px rgba(49, 49, 49, 0.5);
	--libdoc-long-shadow-alt: 1px 1px 2px rgba(15, 49, 86, 0.08),
		5px 6px 9px rgba(15, 49, 86, 0.26), 12px 13px 21px rgba(15, 49, 86, 0.34),
		22px 24px 38px rgba(15, 49, 86, 0.42), 34px 37px 59px rgba(15, 49, 86, 0.5);
}

/* BROWSERS DEFAULTS */
/* <details> défaut style on iOS */
details > summary::-webkit-details-marker {
	display: none;
}
details:not([open]) > summary .icons span[class*="icon-"]:nth-child(2) {
	display: none;
}
details[open] > summary .icons span[class*="icon-"]:nth-child(1) {
	display: none;
}
/* <button> and <select> default style on iOS */
select,
button {
	color: black;
}
/* Opacity disabled input on iOS */
input:disabled {
	opacity: 1;
}
input::placeholder {
	/* letter-spacing: -0.04em; */
}
/* input type search reset */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

/* MENU TOGGLE */
#nav_small_devices:has(#nav_primary_checkbox:checked) ~ #nav_primary_container {
	display: flex !important;
}
#nav_primary_checkbox:checked ~ label [class*="icon-"]::before {
	content: "\e910";
}

/* SMOOTH PAGE TRANSITION (CHROME AND SAFARI ONLY) */
@view-transition {
	navigation: auto;
}

* {
	box-sizing: border-box;
}
body,
input,
code,
button {
	font-family: var(--libdoc-font-family);
}
body {
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: var(--ita-fontSizes-5);
	/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 0, "wght" 360;
	letter-spacing: -0.01em; */
}
html,
.o-auto {
	scrollbar-width: 10px;
}
button:disabled {
	opacity: 0.5;
	cursor: default;
}
input:focus {
	outline-width: 3px;
	outline-style: solid;
	outline-offset: -1px;
	box-shadow: var(--libdoc-soft-shadow);
}
code {
	font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 1, "wght" 300;
	line-height: 1.6em;
	font-size: var(--ita-fontSizes-4);
}
/* MAIN CONTENT */
main *::selection {
	background-color: var(--ita-colors-primary-500);
	color: var(--ita-colors-primary-100);
}
main > * {
	display: block;
	width: 100%;
	/* max-width: calc(var(--libdoc-container-width) + 2 * var(--ita-spacings-9)); */
	max-width: clamp(
		calc(var(--ita-widths-content) - 200px),
		calc(100% - 3 * var(--ita-spacings-5)),
		calc(var(--ita-widths-content) + 2 * var(--ita-spacings-9))
	);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ita-spacings-9);
	padding-right: var(--ita-spacings-9);
}
/* main > header p,
main > header summary {
    text-shadow: var(--libdoc-text-shadow-legibility);
} */
main p {
	/* text-shadow: var(--libdoc-text-shadow-legibility); */
	line-height: 1.6em;
}
/* HEADINGS */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
	position: relative;
	scroll-margin-top: var(--ita-spacings-6);
	text-wrap-style: balance;
}
main h1 {
	font-size: var(--ita-fontSizes-9);
	font-weight: 800;
}
main h2 {
	font-size: var(--ita-fontSizes-9);
	font-weight: 700;
}
main h3 {
	font-size: var(--ita-fontSizes-8);
	font-weight: 800;
}
main h4 {
	font-size: var(--ita-fontSizes-6);
	font-weight: 700;
}
main h5 {
	font-size: var(--ita-fontSizes-5);
	font-weight: 800;
}
main h6 {
	font-size: var(--ita-fontSizes-5);
	font-weight: 700;
}

main > *:not(header) h1,
main > *:not(header) h1,
main > *:not(header) h2,
main > *:not(header) h2,
main > *:not(header) h3,
main > *:not(header) h3,
main > *:not(header) h4,
main > *:not(header) h4,
main > *:not(header) h5,
main > *:not(header) h5,
main > *:not(header) h6,
main > *:not(header) h6 {
	margin: 0;
	padding-left: 0 !important;
	line-height: 1.2em;
	display: inline-flex;
}
main > *:not(header) h1,
main > *:not(header) h1 {
	font-size: var(--ita-fontSizes-7);
}
main > *:not(header) h2,
main > *:not(header) h2 {
	font-size: var(--ita-fontSizes-6);
}
main > *:not(header) h3,
main > *:not(header) h3,
main > *:not(header) h4,
main > *:not(header) h4,
main > *:not(header) h5,
main > *:not(header) h5,
main > *:not(header) h6,
main > *:not(header) h6 {
	font-size: var(--ita-fontSizes-5);
}
main > *:not(header) h1 a,
main > *:not(header) h1 a,
main > *:not(header) h2 a,
main > *:not(header) h2 a,
main > *:not(header) h3 a,
main > *:not(header) h3 a,
main > *:not(header) h4 a,
main > *:not(header) h4 a,
main > *:not(header) h5 a,
main > *:not(header) h5 a,
main > *:not(header) h6 a,
main > *:not(header) h6 a {
	display: none;
}
/* LINKS */
main a {
	transition: all 300ms;
}
main a:link,
main a:visited {
	color: var(--ita-colors-primary-600);
	/* font-variation-settings: "wght" 500, "MONO" 0;
  letter-spacing: -0.03em; */
	/* text-shadow: none; */
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.1em;
}
main a:hover {
	/* font-variation-settings: "wght" 700, "MONO" 0; */
	color: var(--ita-colors-primary-300);
}
main a[aria-current="page"] {
	opacity: 0.5;
	pointer-events: none;
}
main a[href^="https://"]:not([href^="https://eleventy-libdoc"])::after,
main a.__external-link::after {
	content: "\e900";
	font-family: icomoon;
	text-decoration: none;
	display: inline-flex;
	float: none;
	transition: color 300ms;
}
/* EMPHASIS */
main em {
	/* font-variation-settings: "slnt" -8, "wght" 400; */
	font-weight: 400;
	/* letter-spacing: -0.02em; */
}
main strong,
main b {
	/* font-variation-settings: "wght" 700, "MONO" 0; */
	font-weight: 700;
	/* letter-spacing: -0.03em; */
}
/* main i {
    font-variation-settings: "slnt" -15, "MONO" 0;
} */
/* MARKING AND SPECIALS */
main s,
main strike {
	text-decoration-thickness: 0.05em;
	text-decoration-style: wavy;
}
/* main del {
    text-shadow: none;
} */
main del * {
	/* text-shadow: none; */
	background-color: var(--ita-colors-danger-100);
	color: var(--ita-colors-danger-900);
	max-width: var(--libdoc-container-width);
}
/* main ins {
    text-shadow: none;
} */
main ins * {
	/* text-shadow: none; */
	background-color: var(--ita-colors-success-100);
	color: var(--ita-colors-success-900);
	max-width: var(--libdoc-container-width);
}
main samp {
	font-family: var(--libdoc-font-family);
	/* font-variation-settings: "MONO" 1, "CASL" 0, "wght" 400; */
	/* letter-spacing: -0.04em; */
	font-weight: 400;
	color: var(--ita-colors-neutral-100);
	background: var(--ita-colors-neutral-800);
	border-radius: 3px;
	padding: 0em 0.3em;
}
main q {
	/* font-variation-settings: "slnt" -15, "CRSV" 1, "CASL" 1, "wght" 400; */
	font-style: italic;
	font-weight: 400;
	/* text-shadow: none; */
	background-color: var(--ita-colors-primary-100);
}
main kbd {
	/* font-variation-settings: "MONO" 1, "wght" 500; */
	font-weight: 500;
	font-family: var(--libdoc-font-family);
	background-color: var(--ita-colors-primary-200);
	padding: 0 0.4em;
	border-radius: 4px;
	/* letter-spacing: -0.03em; */
}
/* LISTS */
main ul,
main ol {
	line-height: 1.6em;
}
main > ol:not(:has(ul)) ol {
	padding-left: var(--ita-spacings-3);
}
main > ul,
main > ul ul {
	list-style: none;
	margin-top: 0;
}
main > ol:not(:has(ul)),
main > ol:not(:has(ul)) li > ol {
	counter-reset: listItem;
	list-style: none;
	margin-top: 1em;
}
main > ol > li + li,
main > ol li > ol > li + li {
	padding-top: 1em;
}
main > ol:not(:has(ul)) > li,
main > ol:not(:has(ul)) li > ol > li {
	counter-increment: listItem;
	padding-left: var(--ita-spacings-7);
	border-left-width: 1px;
	border-left-style: solid;
}
/*
https://www.joshwcomeau.com/css/styling-ordered-lists-with-css-counters/
*/
main > ol:not(:has(ul)) > li::before,
main > ol:not(:has(ul)) li > ol > li::before {
	content: counters(listItem, ".") ".";
	position: absolute;
	transform: translateX(calc(-100% - var(--ita-spacings-4)));
	display: inline-block;
	line-height: 2em;
	/* letter-spacing: -0.1em; */
	margin-top: 0.1em;
	font-size: var(--ita-fontSizes-2);

	/* font-variation-settings: "wght" 500, "MONO" 1, "CASL" 1; */
	font-weight: 500;
	padding: 0em 0em 0em 0.5em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
main > ol:not(:has(ul)) > li {
	border-left-width: 1px;
	border-left-style: solid;
}
main > ol:not(:has(ul)) > li::before {
	margin-top: 0;
	padding: 0.2em 1em;
	border-radius: 100px;
	border: none;
}
main > ul {
	padding-left: var(--ita-spacings-9);
}
main > ul ul {
	padding-left: 0;
}
main > ul > li,
main > ul ul > li,
main > ol ul > li {
	border-left-width: 1px;
	border-left-style: solid;
	position: relative;
	padding-left: var(--ita-spacings-8);
	padding-top: 0.5em;
}
main > ul > li::before,
main > ul ul > li::before,
main > ol ul > li::before {
	content: "";
	position: absolute;
	top: 1.3em;
	left: 0;
	width: var(--ita-spacings-5);
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
main > ul > li::after,
main > ul ul > li::after,
main > ol ul > li::after {
	content: "";
	position: absolute;
	top: calc(1.3em - var(--ita-spacings-2) / 2);
	left: var(--ita-spacings-4);
	width: var(--ita-spacings-2);
	height: var(--ita-spacings-2);
	border-radius: 100%;
}
/* Mixed list type */
main > ol:has(ul) ul {
	list-style: none;
	padding-left: 0;
	margin-top: 0.5em;
}
main > ol:has(ul) ol {
	padding-left: var(--ita-spacings-7);
}
main > ol:has(ul) li > ol,
main > ol:has(ul) li > ol > li + li,
main > ul:has(ol) li > ol,
main > ul:has(ol) li > ol > li + li {
	margin-top: 0.5em;
	padding-top: 0;
}
main > ul:has(ol) ol {
	padding-left: var(--ita-spacings-5);
	margin-top: 0.5em;
}
main > ol:has(ul) {
	list-style: none;
	counter-reset: mixedItem;
}
main > ol:has(ul) > li {
	counter-increment: mixedItem;
	padding-left: var(--ita-spacings-6);
	border-left-width: 1px;
	border-left-style: solid;
}
main > ol:has(ul) > li:before {
	content: counter(mixedItem) ".";
	position: absolute;
	transform: translateY(-3px) translateX(calc(-100% - var(--ita-spacings-2)));
	display: inline-block;
	/* font-variation-settings: "wght" 700, "MONO" 1, "CASL" 1; */
	font-weight: 700;
	font-size: var(--ita-fontSizes-2);
	padding: 0.2em 1em;
	border-radius: 100px;
}
main > *:not(header) li::marker {
	/* font-variation-settings: "wght" 500, "MONO" 1, "CASL" 1; */
	font-weight: 500;
	color: var(--ita-colors-primary-500);
	font-size: var(--ita-fontSizes-3);
}

/* CODE AND SYNTAX HIGHLIGHTING */
main > *:not(pre) code {
	display: inline-block;
	padding-left: 0.3em;
	padding-right: 0.3em;
	border-radius: 0.3em;
	/* font-variation-settings: "wght" 400, "MONO" 1, "CASL" 0, "CRSV" 0; */
	background-color: var(--ita-colors-primary-200);
	color: var(--ita-colors-primary-800);
}
/* language not supported in highlight js */
main pre:not(:has(.hljs)) {
	overflow: auto;
}
main > pre {
	padding: var(--ita-spacings-9);
	border-radius: 12px;
	border-width: 1px;
	border-style: solid;
	overflow: hidden;
}
main > pre > code {
	border-radius: 6px;
	box-shadow: var(--libdoc-long-shadow-alt);
}
main > pre > code::before {
	content: attr(data-language-name);
	display: block;
	padding-bottom: var(--ita-spacings-2);
	margin-bottom: var(--ita-spacings-2);
	border-bottom-width: 1px;
	border-bottom-style: solid;
	font-size: var(--ita-fontSizes-3);
	font-variation-settings: "wght" 500;
}
/* TABLES */
main > .table-wrapper + .table-wrapper {
	margin-top: 2em;
}
main table {
	display: table;
	min-width: 30rem;
	width: 100%;
	border-collapse: collapse;
	max-width: var(--libdoc-container-width);
}

main table thead th {
	text-align: left;
	/* font-variation-settings: "wght" 700, "MONO" 0; */
	font-weight: 700;
	font-size: var(--ita-fontSizes-5);
	padding: var(--ita-spacings-3);
	border-width: 1px;
	border-style: solid;
}
main table tbody tr td {
	padding: var(--ita-spacings-3);
	font-size: var(--ita-fontSizes-4);
	border-width: 1px;
	border-style: solid;
	/* font-variation-settings: "wght" 400, "MONO" 0; */
	font-weight: 400;
	line-height: 1.5em;
}
main table td code {
	font-size: var(--ita-fontSizes-4);
}
/* QUOTES */
main blockquote {
	position: relative;
	background: var(--ita-colors-neutral-100);
	color: var(--ita-colors-primary-900);
	margin-top: var(--ita-spacings-10);
	margin-bottom: var(--ita-spacings-10);
	padding: var(--ita-spacings-5) var(--ita-spacings-9);
	max-width: var(--libdoc-container-width);
	/* border: 2px solid var(--ita-colors-primary-700); */
	font-family: var(--libdoc-font-family);
	font-size: var(--ita-fontSizes-7);
	box-shadow: var(--libdoc-soft-shadow);

	@media (max-width: 747px) {
		width: calc(100% - (var(--ita-spacings-5) * 2));
	}
}
main blockquote::before {
	content: "❝";
	position: absolute;
	left: 0;
	font-size: 4em;
	color: var(--ita-colors-primary-700);
	transform: translateY(-60%);
}
main blockquote::after {
	content: "";
	display: block;
	height: 0.5rem;
	background-color: var(--ita-colors-primary-500);
	background-image: var(--deco-gradient);
	position: absolute;
	/* bottom: -2px;
	left: -2px;
	width: calc(100% + 4px); */
	bottom: 0;
	left: 0;
	width: 100%;
}
main blockquote * {
	/* font-variation-settings: "slnt" -15, "CASL" 1, "CRSV" 1; */
	font-style: italic;
	/* letter-spacing: -0.01em; */
}
main blockquote em {
	/* font-variation-settings: "slnt" -15, "CASL" 1, "CRSV" 1, "wght" 500; */
	font-weight: 500;
	font-style: italic;
}
main blockquote strong {
	/* font-variation-settings: "slnt" -15, "CASL" 1, "CRSV" 1, "wght" 700; */
	font-weight: 700;
	font-style: italic;
}
/* DEFINITION LISTS */
main dl dt {
	/* font-variation-settings: "wght" 500, "MONO" 0; */
	font-weight: 500;
	margin-bottom: 0.2em;
	/* letter-spacing: -0.04em; */
	color: var(--ita-colors-primary-500);
}
main dl dd {
	margin-left: var(--ita-spacings-2);
	margin-bottom: 1em;
	line-height: 1.6em;
	padding-left: var(--ita-spacings-5);
	border-left-width: 1px;
	border-left-style: solid;
}
/* DETAILS */
main > details summary,
main > *:not(header) details summary {
	/* font-variation-settings: "wght" 400, "MONO" 0; */
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: var(--ita-spacings-2);
	padding: var(--ita-spacings-2) 0;
	/* letter-spacing: -0.03em; */
	cursor: pointer;
}
main > details summary::before,
main > *:not(header) details summary::before {
	content: "\e914";
	font-family: icomoon;
	font-size: var(--ita-fontSizes-6);
}
main > details[open] summary::before,
main > *:not(header) details[open] summary::before {
	content: "\e913";
}
main > details:has(+ details) summary,
main > details + details summary,
main > *:not(header) details:has(+ details) summary,
main > *:not(header) details + details summary {
	padding: 1em 0;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
main > details[open]:has(+ details) summary,
main > details + details[open] summary,
main > *:not(header) details[open]:has(+ details) summary,
main > *:not(header) details + details[open] summary {
	border-bottom: none;
}
/* HORIZONTAL RULE */
main hr {
	border: none;
	margin-top: 3em;
	margin-bottom: 3em;
}
main hr::before {
	content: "";
	display: block;
	width: 100%;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
/* IMAGES */
main img {
	max-width: 100%;
	height: auto;
	position: relative;
}
main figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 1em;
	padding-top: var(--ita-spacings-9);
	padding-bottom: var(--ita-spacings-9);
	border-radius: 12px;
	border-width: 1px;
	border-style: solid;
	overflow: hidden;
}
main figure.long-shadow {
	row-gap: 2em;
}
main figure.long-shadow img,
main picture:has(.long-shadow) img {
	box-shadow: var(--libdoc-long-shadow);
}
main figure figcaption {
	font-size: var(--ita-fontSizes-4);
	/* font-variation-settings: "slnt" -5, "CASL" 0, "CRSV" 1.0, "MONO" 0, "wght" 300; */
	font-weight: 300;
	line-height: 1.5em;
}
main figure.wide,
main picture:has(.wide) {
	max-width: calc(100% - 2 * var(--ita-spacings-8));
}
/* VIDEO */
main video {
	padding: 0;
	max-width: var(--libdoc-container-width);
}
/* INLINE HTML */
main time {
	/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 0, "wght" 400; */
	/* letter-spacing: -0.02em; */
	font-weight: 400;
}
main var {
	/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 1, "wght" 400; */
	/* letter-spacing: -0.04em; */
	font-weight: 400;
}
main p:has(small) {
	line-height: 1em;
}
main small {
	font-size: var(--ita-fontSizes-3);
	color: var(--ita-colors-neutral-700);
	/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 0; */
}
main u {
	text-decoration-style: wavy;
	text-decoration-color: var(--ita-colors-danger-500);
}
main img.long-shadow {
	margin-bottom: 2em;
}
main abbr[title] {
	cursor: pointer;
	/* Safari hack */
	text-decoration-style: dotted;
	text-decoration: underline;
	text-decoration: underline dotted;
}
main abbr[title].expanded::after {
	content: " (" attr(title) ")";
}
main abbr[data-title].expanded::after {
	content: " (" attr(data-title) ")";
}
a.btn,
button[type="button"].btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--ita-spacings-3);
	padding: 1.5em;
	border-radius: 100px;
	border-width: 1px;
	border-style: solid;
	height: 3em;
	text-transform: uppercase;
	text-decoration: none;
	/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 0, "wght" 600; */
	font-weight: 600;
	font-size: var(--ita-fontSizes-3);
	cursor: pointer;
	transition: all 300ms;
	white-space: nowrap;
}
a.btn:hover,
button[type="button"].btn:hover {
	border-style: dotted;
}
a.btn:active,
button[type="button"].btn:active {
	border-style: solid;
	scale: 0.95;
}
/* EMBEDS */
main > iframe {
	aspect-ratio: 2.06;
	width: 100%;
	height: auto;
	border: none;
}
main > aside > iframe {
	width: 100%;
	aspect-ratio: 16/9;
	border-radius: 9px;
	overflow: hidden;
	box-shadow: var(--libdoc-long-shadow);
}
/* ALERTS */
main .alert {
	/* font-variation-settings: "wght" 400, "slnt" 0, "CASL" 0, "CRSV" 0; */
	font-weight: 400;
	padding: var(--ita-spacings-3) var(--ita-spacings-5);
	border-left-style: solid;
	border-left-width: 3px;
	border-color: var(--ita-colors-neutral-500);
	color: var(--ita-colors-neutral-700);
	background-color: var(--ita-colors-primary-100);
	font-size: var(--ita-fontSizes-4);
	/* letter-spacing: -0.01em; */
	line-height: 1.6em;
}
main .alert[data-title]::before {
	content: attr(data-title);
	display: block;
	margin-bottom: var(--ita-spacings-3);
	/* font-variation-settings: "wght" 700, "slnt" 0, "CASL" 0, "CRSV" 0; */
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--ita-fontSizes-3);
	padding-bottom: var(--ita-spacings-1);
	color: var(--ita-colors-neutral-700);
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-color: var(--ita-colors-neutral-500);
}
/* SEARCH OCCURRENCES */
@keyframes flash {
	50% {
		background-color: var(--ita-colors-primary-300);
	}
	100% {
		background-color: inherit;
	}
}

main .__search-occurrence {
	outline-width: 2px;
	outline-style: solid;
	outline-offset: 2px;
	border-radius: 3px;
	animation: flash 1s 0s 1 linear;
}

#nav_primary .nav_primary__anchor::before,
.nav_primary .nav_primary__anchor::before,
#nav_primary_blog_link::before {
	content: "";
	display: flex;
	border-top-width: 1px;
	border-top-style: solid;
	width: var(--ita-spacings-5);
	min-width: var(--ita-spacings-5);
	order: -2;
}
#nav_primary .nav_primary__anchor::after,
.nav_primary .nav_primary__anchor::after,
#nav_primary_blog_link::after {
	content: "";
	display: flex;
	width: var(--ita-spacings-2);
	min-width: var(--ita-spacings-2);
	aspect-ratio: 1;
	order: -1;
	margin-right: var(--ita-spacings-2);
	border-radius: 100%;
	transform: translateX(calc(-50% + 1px));
}
#nav_primary > ol > li ol li,
.nav_primary > ol > li ol li {
	border-left-width: 1px;
	border-left-style: solid;
}
#nav_primary > ol > li > a.nav_primary__anchor,
.nav_primary > ol > li > a.nav_primary__anchor {
	font-size: var(--ita-fontSizes-4);
	/* letter-spacing: -0.04em; */
}
#nav_primary > ol > li > ol > li a.nav_primary__anchor,
.nav_primary > ol > li > ol > li a.nav_primary__anchor {
	font-variation-settings: "wght" 400, "MONO" 0, "CASL" 0, "CRSV" 0, "slnt" 0;
}
#nav_primary > ol > li > ol > li a.nav_primary__anchor::after,
.nav_primary > ol > li > ol > li a.nav_primary__anchor::after {
	width: var(--ita-spacings-1);
	min-width: var(--ita-spacings-1);
}

/* MAIN TABLE OF CONTENT */
#toc_main {
	text-wrap-style: balance;
}
#toc_main[open] > summary {
	border-bottom: none;
}
#toc_main[open] > summary .icon-plus-circle,
#toc_main:not([open]) > summary .icon-minus-circle {
	display: none;
}
#toc_main li {
	break-inside: avoid;
}
#toc_main li a {
	text-decoration-color: var(--ita-colors-primary-300);
}

/* SANDBOX */
.sandbox {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.sandbox .sandbox__code {
	min-height: 500px;
}
.sandbox .sandbox__resizer {
	width: 20px;
}
.sandbox .sandbox__resizer:active,
.sandbox .sandbox__resizer:hover {
	cursor: col-resize;
}
.sandbox .sandbox__enable_wrapper {
	opacity: 0;
	transition: opacity 300ms;
}
.sandbox .sandbox__enable_wrapper:hover {
	opacity: 1;
}
.sandbox:has(.sandbox__enable_switch:checked) .sandbox__enable_wrapper {
	display: none;
}
.sandbox + .sandbox {
	margin-top: 2em;
}

/* FLOATING TABLE OF CONTENT */
#floating_toc[open] summary [class*="icon-"]::before {
	content: "\e910";
}
#floating_toc a {
	transition: all 300ms;
	max-width: 80vw;
}
#floating_toc a:hover {
	/* font-variation-settings: "wght" 700, "MONO" 0; */
	font-weight: 700;
}
#floating_toc__list_parent::before {
	content: "";
	display: flex;
	width: 50%;
	height: 35px;
	position: absolute;
	top: 45px;
	left: 50%;
	border-left: 1px solid var(--ita-colors-neutral-500);
	z-index: 12;
	border-top: 1px solid var(--ita-colors-neutral-500);
	border-radius: 8px;
	z-index: -10;
}

/* GTT / Go to top button */
#gtt_btn {
	right: clamp(
		var(--ita-spacings-5),
		100%,
		calc(50% - var(--ita-widths-content) - var(--ita-widths-content) / 2)
	);
}

/* WIDGETS */
main .widget + .widget {
	margin-top: var(--ita-spacings-5);
}

/* INPUT RADIOS */
input[type="radio"] ~ label::before {
	content: "";
	min-width: 1em;
	max-width: 1em;
	min-height: 1em;
	max-height: 1em;
	border-radius: 100%;
	border-width: 1px;
	border-style: solid;
}

/* USER PREFERENCES */
#user_preferences[open] > summary::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	height: var(--ita-spacings-3);
	border-left: 1px solid var(--ita-colors-neutral-500);
}

/* RESPONSIVE MD */
@media (min-width: 960px) {
	#floating_toc_container {
		/* Limit floating TOC left position */
		right: clamp(
			var(--ita-spacings-5),
			100%,
			calc(50% - var(--ita-widths-content) - var(--ita-widths-content) / 2)
		);
	}
	#floating_toc__list {
		width: 200px;
		max-height: calc(100vh - 160px);
	}
}
/* RESPONSIVE XS + SM */
@media (max-width: 959px) {
	body {
		font-size: var(--ita-fontSizes-4);
	}
	code,
	main > pre > code::before {
		font-size: var(--ita-fontSizes-2);
	}
	main > * {
		max-width: calc(var(--libdoc-container-width) + 2 * var(--ita-spacings-5));
		padding-left: var(--ita-spacings-5);
		padding-right: var(--ita-spacings-5);
	}
	main h1,
	main h2 {
		font-size: var(--ita-fontSizes-8);
	}
	main h3,
	main h4 {
		font-size: var(--ita-fontSizes-7);
		/* letter-spacing: -0.05em; */
	}
	main h5,
	main h6 {
		font-size: var(--ita-fontSizes-6);
	}
	main > ul {
		padding-left: var(--ita-spacings-5);
	}
	main > ol {
		padding-left: var(--ita-spacings-6);
	}
	main > ul > li,
	main > ul ul > li {
		padding-left: var(--ita-spacings-7);
	}
	main > ul > li::before,
	main > ul ul > li::before {
		width: var(--ita-spacings-3);
	}
	main > ul > li::after,
	main > ul ul > li::after {
		left: var(--ita-spacings-3);
	}
	main > ol:not(:has(ul)) > li,
	main > ol:not(:has(ul)) li > ol > li {
		padding-left: var(--ita-spacings-5);
	}
	main > ol:not(:has(ul)) > li::before,
	main > ol:not(:has(ul)) li > ol > li::before {
		font-size: var(--ita-fontSizes-1);
		transform: translateX(calc(-100% - var(--ita-spacings-2)));
	}
	main > ul:has(ol) ol {
		padding-left: var(--ita-spacings-3);
	}
	main > ol:has(ul) ol {
		padding-left: var(--ita-spacings-5);
	}
	main > ol:has(ul) > li:before {
		font-size: var(--ita-fontSizes-1);
		transform: translateX(calc(-100% - var(--ita-spacings-3)));
	}
	main > *:not(header) li::marker {
		font-size: var(--ita-fontSizes-2);
	}
	main > pre {
		padding: var(--ita-spacings-5);
	}
	main > picture,
	main > figure,
	main figure.wide,
	main picture:has(.wide) {
		padding: var(--ita-spacings-5);
		max-width: calc(
			calc(var(--ita-widths-content) + 2 * var(--ita-spacings-5))
		);
	}
	main blockquote {
		font-size: var(--ita-fontSizes-6);
		padding: var(--ita-spacings-5) var(--ita-spacings-7);
	}
	/* main blockquote::before {
		left: var(--ita-spacings-5);
		max-width: calc(100% - 2 * var(--ita-spacings-5));
	} */
	#floating_toc_container {
		box-shadow: var(--libdoc-soft-shadow);
	}
	main .alert {
		font-size: var(--ita-fontSizes-3);
	}
}

@media (min-width: 960px) and (max-width: 1440px) {
	body:not(.touch-device) #floating_toc__list {
		transition: opacity 300ms;
		opacity: 0.3;
	}
	body:not(.touch-device) #floating_toc:hover #floating_toc__list {
		opacity: 1;
	}
}

/* HOVERS */
.__hover-1 {
	transition: all 300ms;
}
.__hover-2 {
	transition: all 300ms;
}

/* SHADOWS */
.__soft-shadow {
	box-shadow: var(--libdoc-soft-shadow);
}

/* ANIMATIONS */
@keyframes blink {
	100% {
		opacity: 0.5;
	}
}
.__anim-blink {
	animation: blink 0.5s linear 0s infinite alternate;
}

/* PRINT */
@media print {
	main {
		width: 100% !important;
		padding: 0px 30px;
	}
	main * {
		box-shadow: none !important;
		text-wrap-style: auto !important;
	}
	main > * {
		padding: 0 !important;
	}
	#nav_small_devices,
	#floating_toc_container,
	#toc_main,
	#sidebar,
	#user_preferences,
	main h1 a,
	main h2 a,
	main h3 a,
	main h4 a,
	main h5 a,
	main h6 a,
	main > pre > div:first-child {
		display: none;
	}
	main > pre {
		border: none;
		box-shadow: none;
	}
	main > pre > code {
		box-shadow: none;
		white-space: pre-wrap;
		/* font-variation-settings: "slnt" 0, "CASL" 0, "CRSV" 0, "MONO" 1, "wght" 500; */
		font-weight: 500;
	}
	main > pre > code::before {
		margin-top: 1em;
	}
	main h1,
	main h2,
	main h3,
	main h4,
	main h5,
	main h6 {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
	footer {
		min-height: 0 !important;
	}
}
