@import url("classic.css");

:root
{
	--priint_teal:			rgb(35, 146, 153);

	--priint_teal_5:		rgb(244, 249, 250);
	--priint_teal_10:		rgb(233, 244, 245);
	--priint_teal_15:		rgb(222, 238, 239);
	--priint_teal_20:		rgb(211, 233, 235);
	--priint_teal_30:		rgb(189, 222, 224);
	--priint_teal_40:		rgb(167, 211, 214);
	--priint_teal_60:		rgb(135, 196, 199);
	--priint_teal_80:		rgb(79, 168, 173);

	--priint_teal_b80:		rgb(28,117,122);
	--priint_teal_b60:		rgb(21,88,92);
	--priint_teal_b40:		rgb(14,58,61);
	--priint_teal_b20:		rgb(7,29,31);
	
	--priint_teal_a5:		rgba(35, 146, 153, 5%);
	--priint_teal_a10:		rgba(35, 146, 153, 10%);
	--priint_teal_a20:		rgba(35, 146, 153, 20%);
	--priint_teal_a30:		rgba(35, 146, 153, 30%);
	--priint_teal_a40:		rgba(35, 146, 153, 40%);

	--priint_pink:			rgb(255, 68, 136);

	--priint_pink_20:		rgb(255, 218, 231);
	--priint_pink_40:		rgb(255, 180, 207);
	--priint_pink_60:		rgb(255, 143, 184);

	--priint_pink_a20:		rgba(255, 68, 136, 20%);
	--priint_pink_a40:		rgba(255, 68, 136, 40%);

	--grey_5:				rgb(0, 0, 0, 5%);
	--grey_10:				rgb(0, 0, 0, 10%);

	--priint_green:			rgb(0, 196, 114);
	--priint_green_20:		rgb(204, 243, 212);
	--priint_green_40:		rgb(153, 231, 170);
	--priint_green_60:		rgb(102, 220, 127);
	--priint_green_80:		rgb(51, 208, 85);

	--priint_red:			rgb(255, 68, 96);
	--priint_grey:			rgb(128, 128, 128);

	--priint_blue:			rgb(0, 160, 255);
	--priint_keyword:		rgb(0, 105, 217);

	--indesign-bg:			rgb(167, 0, 97);
	--indesign-fg:			rgb(239, 58, 165);

	--comet_pdf-bg:			rgb(0, 155, 167);
	--comet_pdf-fg:			rgb(58, 229, 239);

	--illustrator-bg:		rgb(175, 66, 0);
	--illustrator-fg:		rgb(255, 138, 41);

	--sidebar_width:		375px;
	--main_width:			90%;
	--main_margin:			calc((100% - var(--main_width)) / 2.0);

	--rounding_small:		8px;
	--rounding_big:			15px;

	--text-dark:			rgb(67, 76, 86);
	--text-h3:				rgb(198, 211, 231);
}

*
{
	font-family:			-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Helvetica, Arial, Geneva, sans-serif;
}

strong
{
	font-weight: 			600;
}

body
{
	font-size:				15px;
	color:					var(--text-default);
	padding:				0;
	border-right:			1px solid var(--priint_teal);
	border-left:			1px solid var(--priint_teal);
	min-width:				780px;
	max-width:				100%;
	background-color:		var(--background-default);
}

div.document
{
	max-width:				var(--main_width);
	margin-left:			var(--main_margin);
	margin-right:			var(--main_margin);
	background-color:		var(--background-default);
}

div.body
{
	max-width:				initial;
	/* We need an absolute height for the body to get a scroll bar:
	We take the viewport height minus bottom and top areas */
	height:					calc(100vh - 30px - 67px - 30px);
	/* Will introduce scroll bar when needed*/
	overflow:				auto; 
	color:					var(--text-default);
	background-color:		var(--background-secondary);
}

/* Reset the line height from classic.css to better fit our product icons into running text */
div.body p
{
	line-height:			normal;
}

div.document a
{
	color:					var(--text-link);
}

div.related
{
	background-color:		var(--background-header);
}

div.sphinxsidebar
{
	position:				fixed;
	/* top:					67px; */
	height:					calc(100vh - 30px - 67px);
	margin-left:			0;
	overflow:				auto;
	width:					var(--sidebar_width);
}

div.sphinxsidebarwrapper
{
	/* margin-top:				10px; */
	padding-bottom:			2em;
}

div.sphinxsidebar #searchbox
{
	margin-bottom:			1.5em;
}

div.sphinxsidebar #searchbox input,
input
{
	color:					var(--body-text);
	background-color:		var(--background-secondary);
	border-color:			var(--priint_teal);
	border-style:			solid;
	border-width:			0.1em;
	padding:				0.25em;
}

div.sphinxsidebar #searchbox input[type="text"],
input[type="text"]
{
	width:							70%;
	border-top-left-radius:			var(--rounding_small);
	border-bottom-left-radius:		var(--rounding_small);
}

div.sphinxsidebar #searchbox input[type="submit"],
input[type="submit"]
{
	border-top-right-radius:		var(--rounding_small);
	border-bottom-right-radius:		var(--rounding_small);
}


div.sphinxsidebar h3,
div.sphinxsidebar h3 a,
div.sphinxsidebar h4
{
	color:					var(--body-text);
}

div.footer
{
	background-color:		var(--background-header);
	color:					white;
	position:				fixed;
	top:					calc(100vh - 30px);
	min-width:				780px;
	max-width:				100%;
	z-index:				99;
}

div.warning
{
	color:					var(--text-dark);
	background-color:		var(--background-important);
}

/* 'See also' boxes */
div.seealso
{
	background-color:		var(--background-default);
	border:					1px solid var(--priint_teal);
}

/* Reset headline fonts from classic.css */
div.body h1,
div.body h2,
div.body h3,
div.body h4,
div.sphinxsidebar h1,
div.sphinxsidebar h2,
div.sphinxsidebar h3,
div.sphinxsidebar h4
{
	font-family:			inherit;
}

/* Section headlines in the body should be different from subsection headlines */
div.body h1,
div.body h2
{
	background-color:		var(--background-header);
	color:					var(--text-header);
	border-left-color:		var(--priint_blue);
	border-left-width:		.25em;
	border-left-style:		solid;
}

div.body h3
{
	background-color:		var(--background-header);
	color:					var(--text-h3);
	padding-left:			1em;
}

div.body h4
{
	background-color:		var(--background-secondary);
	color:					var(--text-default);
	padding-left:			1em;
}


/* Hide class names at functions */
span.sig-prename.descclassname
{
	display:				none;
}

section#inherited-methods span.sig-prename.descclassname
{
	display:				initial;
}


/* Function headlines container */
dl.function > dt,
dl.method > dt
{
	background-color:		var(--background-default);
	padding:				10px;
	margin-bottom:			15px;
	border-radius:			var(--rounding_small);

	/*Make the headers sticky so they stay on top as long as the block is in view*/
	position:				sticky;
	top:					0;
	z-index:				2;
	border-width:			0.1em;
	border-style:			solid;
}

/* Function headlines text*/
span.descclassname,
span.descname
{
	color:					#239299;
	font-weight:			600;
}

/* Background color for the function parameter lists */
th, dl.field-list > dt
{
	background-color:		rgb(228, 228, 228);
}


/* Function names */
dl.function span.descname,
dl.method span.descname
{
	background-color:		transparent;
	font-weight:			500;
	font-size:				1.5em;
}

/* Constant class and module attributes get a smaller font*/
dl.attribute > dt > code.descname
{
	font-size: 1em;
}

/* Headlines for code examples */
div.code-block-caption
{
	color:					white;
	background-color:		var(--background-header);
}

/*
	Block divs in function descriptions
*/
blockquote > div
{
	padding-top:			0.1em;
	padding-bottom:			0.1em;
}

/* Code examples */
pre {
	padding:				10px;
	background-color:		var(--background-default);
	color:					#333333;
	line-height:			120%;
	border:					1px solid var(--priint_teal);
	border-left:			none;
	border-right:			none;
}

div.highlight-text pre
{
	color:					var(--text-default);
}

/* Code examples should be monospace font */
table.highlighttable span,
td.linenos,
div.highlight-python span
{
	font-family:			monospace;
}

/* inline logo alignments */
img.inlinelogo
{
	margin-top:				0.3em;
	margin-bottom:			0.3em;
	margin-right:			0.2em;
	margin-left:			0.2em;
	vertical-align:			middle;
}

img.context_button_image
{
	cursor:					pointer;
}

/* Parameter description containers */

dl {
	margin-bottom: initial;
}

dl.field-list
{
	grid-template-columns: max-content 1fr;  /* or: auto 1fr */
}

/* Set all backgrounds to grey */
dl.field-list > dd
{
	background-color:		var(--background-secondary);
	min-width:				0; /* VERY important: allows shrinking */
	overflow:				hidden; /* hide or scroll overflowing children */
}

dl.field-list > dt
{
	background-color:		var(--background-default);
}

/* Add seperator lines between parameter description areas like Parameters, Return value, Return type */
dl.field-list > dd:not(:last-of-type),
dl.field-list > dt:not(:last-of-type)
{
	border-bottom-width:	0.1em;
	border-bottom-style:	solid;
	border-bottom-color:	var(--priint_teal);
}

/* Reset ul paddings from basic.css */
dl.field-list ul
{
	list-style-type:		disc;
	padding-left:			1.5em;
}

/* Remove padding from field containers so they fill up the entire box */
dl.field-list > dd,
dl.field-list > dt
{
	padding:				0.5em;
}

/* Remove bullet points from parameter lists */
dl.field-list > dd.parameters > ul:first-child
{
	list-style-type:		none;
	padding-left:			2em;
	margin-left:			-2.5em;
	margin-top:				-0.5em;
	margin-right:			-0.5em;
	margin-bottom:			-0.5em;
}

dl.field-list > dd ul
{
	padding-left:			2.5em;
}

dl.field-list li
{
	/* padding:				0.5em; */
	padding-right:			0.5em;
	padding-left:			0.5em;
	padding-top:			0.3em;
	padding-bottom:			0.3em;
}

/*parameter description left side right stroke*/
dl.field-list > dt
{
	border-right-color:		var(--priint_teal);
	border-right-style:		solid;
	border-right-width:		0.2em;
}

dt:target
{
	background-color:		initial;
	border-style:			dashed !important;
	border-width: 			.15em !important;
	border-color:			var(--background-target) !important;
	border-radius:			.35em !important;
}

/*Border rounding for the parameter table*/
dl.field-list > dt:first-of-type
{
	border-top-left-radius: var(--rounding_small);
}
dl.field-list > dt:last-of-type
{
	border-bottom-left-radius: var(--rounding_small);
}

dl.field-list > dd:first-of-type
{
	border-top-right-radius: var(--rounding_small);
}

dl.field-list > dd:last-of-type
{
	border-bottom-right-radius: var(--rounding_small);
}
/*When the parameter table contains a list we have to round that instead*/
dl.field-list > dd.parameters > ul:first-child > li
{
	border-top-right-radius: var(--rounding_small);
}

/*parameter description background alternating colors*/
dd.parameters > ul:first-child > li:nth-child(odd)
{
	background-color:		var(--background-default);
}
/* indent parameter descriptions */
/* For multi-line descriptions we get mutiple <p> nodes. The first one contains the parameter name. The other ones need to be indented */
dl.field-list > dd:not(.returns):not(.examples) > p:not(:first-child),
dl.field-list > dd:not(.returns):not(.examples) li > p:not(:first-child)
{
	padding-left:			1.5em;
}

/* For single line descriptions we have to indent everything after the line break if the text breaks due to browser width */
dl.field-list > dd > p:first-child,
dl.field-list > dd li > p:first-child
{
	padding-left:			1.5em;
	text-indent:			-1.5em;
}

/* Header tools */
div.priint_tools
{
	display:				flex;
	flex-direction:			row;
	justify-content:		flex-end;
	align-items:			flex-start;
	flex-wrap:				nowrap;

	background-color:		var(--background-header);
}

div.priint_context_filters, div.priint_theme_buttons
{
	display:				flex;
	flex-direction:			row;
	justify-content:		flex-end;
	align-items:			flex-start;
	align-self:				flex-end;
	background-color:		var(--background-secondary);
	border-radius:			var(--rounding_small);
	padding-left:			.5em;
	padding-right:			.5em;
	padding-top:			.5em;
	padding-bottom:			.5em;
	margin-top:				5px;
	margin-right:			10px;
	margin-bottom:			10px;
}

div.priint_theme_buttons > svg
{
	padding-top:	.1em;
	padding-bottom:	.1em;
	padding-left:	.2em;
	padding-right:	.2em;

}

div.container
{
	border-radius: var(--rounding_small);
}

div.admonition.seealso
{
	border-radius: var(--rounding_small);
}

/* Examples are tables when line numbers are enabled.
However they do not add scroll bars automatically but overlap the main container which looks wrong.
We fix that here */
div.highlight-python > table
{
	display:				block;
	overflow:				auto;
}

/* Example tables need a little nicer padding so the code doesn't look almost cut off */
div.highlight-python td.code > div > pre
{
	padding-left:			20px;
	padding-right:			20px;
	padding-top:			10px;
	padding-bottom:			10px;
}

/* Nicer color for bullet points */
li::marker
{
	color:					var(--priint_teal);
	/* content: 				'• ' */
}

/* Tables */
table
{
	overflow:				auto;
	border-radius:			var(--rounding_small);
}

/*Rounded corners - DOES NOT WORK ON TABLES WITH CAPTIONS*/
/* table th:first-of-type
{
	border-top-left-radius: var(--rounding_small);
}
table th:last-of-type
{
	border-top-right-radius: var(--rounding_small);
}

table tr:last-of-type td:first-of-type {
	border-bottom-left-radius: var(--rounding_small);
}

table tr:last-of-type td:last-of-type {
	border-bottom-right-radius: var(--rounding_small);
} */

table.comet
{
	border-collapse: collapse;
}

/* Any comet table */
/* Strokes */
table.comet td, thead, caption
{
	border-width:			1px;
	border-style:			solid;
	border-color:			var(--priint_teal_40);
	border-top-width:		0;
}

/*
	Make the table headers sticky, so they don't scroll out of view.
*/
table:not(table table) > thead th {
	position:				sticky;
	top:					0;
	background:				white;
	z-index:				2;
	border-bottom:			1px solid #aaa;
}

/* Add pseudo elements so the sticky table headers keep their borders */
thead th::before {
	content:				"";
	position:				absolute;
	top:					0;
	left:					0;
	height:					1px;
	width:					100%;
	background:				#aaa;
}

thead th::after {
	content:				"";
	position:				absolute;
	bottom:					0;
	left:					0;
	height:					1px;
	width:					100%;
	background: 			#aaa;
}


/* Headers */
table.comet th.head,
table.comet th.head a *,
table.comet th.head a:hover,
caption
{
	overflow:				hidden;
	height:					30px;
	white-space:			nowrap;
	background-color:		var(--background-header);
	color:					var(--text-header);
	font-weight:			700;
	font-size:				1em;
}

table.comet caption
{
	font-weight:			700;
	font-size:				110%;
	padding-top:			0.65em;
}

/* Constants tables */
table.comet td
{
	height:					1em;
	padding-top: 			0.35em;
	padding-bottom:			0.35em;
	padding-left:			0.35em;
	padding-right:			0.35em;
	vertical-align:			top;
}

table.comet code.descname
{
	font-size:				1em;
}

/* Tables with alternating row colors */
table.alternating-rows tr:nth-child(odd)
{
	background-color:		var(--priint_teal_a20)
}
table.alternating-rows tr:nth-child(even)
{
	background-color:		var(--priint_teal_a5)
}

div.bodywrapper
{
	margin-left:			var(--sidebar_width);
}

/* Make all hyperlinks in the body bold so they are consistent*/
a
{
	font-weight:			600;
}

/* Internal reference hyperlinks are in code tags - reset the font size so they are not smaller than the rest of the text */
code.xref
{
	font-size:				inherit;
}

/* Line numbers next to examples are offset - fix it */
table.highlighttable td.linenos
{
	padding-top:			7px;
}

/* Parameter names and default values in method signatures look a bit cramped - space the parantheses out a bit */
span.sig-paren
{
	padding-left:			0.2em;
	padding-right:			0.05em;
}

/* Margin for bullet points inside blocks */
div.body ul.priint-block li
{
	margin-left:			20px;
}

code.xref, a code
{
	font-weight:			600;
}

/* Compress list entry (with multiple paragraph) distances so they don't look so spaced out */
li > dl.simple
{
	margin-block-start:		0.25em;
	margin-block-end:		0.25em;
}

/* Priint block margins are too large at top and bottom*/
div.priint-block p,
div.priint-block-important p,
div.priint-block-green p
{
	margin-block-start:		0.25em;
	margin-block-end:		0.25em;
}

/* Remove strange top margin from priint containers */
div.priint-block.docutils.container > dl {
	margin-top:				0;
}

blockquote, figure {
	display:				block;
	margin-block-start:		0em;
	margin-block-end:		0em;
}

/* Deprecation hints */
span.versionmodified, span.deprecated {
	color:				var(--priint_pink);
	font-weight:		700;
}

/*
	Main toc tree margin reset.
	This is needed because we have multiple toc trees in the index so we can have different nesting depths.
	We want to make them look like a single toc tree so we remove the vertical margins.
*/
div.toctree-wrapper:not(:first-of-type) > ul {
	margin-bottom:	0;
	margin-top:		0;
}
div.toctree-wrapper:first-of-type > ul {
	margin-bottom:	0;
}


/* Badges */
span.inlinehostname {
	display:		inline-block;
	padding:		.35em .65em;
	font-size:		.75em;
	font-weight:	700;
	line-height:	1;
	text-align:		center;
	white-space:	nowrap;
	vertical-align:	baseline;
	border-radius:	.25rem;
	border-style:	solid !important;
	border-width:	.25em !important;
	color:			white;
	text-indent:	0;
}

span.inlinehostname.context_button_image {
	cursor:			pointer;
	margin-left:	.25em;
	margin-right:	.25em;
}

span.inlinehostname.illu {
	border-color:		var(--illustrator-fg) !important;
	background-color:	var(--illustrator-bg) !important;
}

span.inlinehostname.indd {
	border-color:		var(--indesign-fg) !important;
	background-color:	var(--indesign-bg) !important;
}

span.inlinehostname.comet-pdf {
	border-color:		var(--comet_pdf-fg) !important;
	background-color:	var(--comet_pdf-bg) !important;
}

details {
	padding-left: 1.5em;
}

details summary {
	cursor: pointer;
	font-weight: 600;
}

details summary::marker {
	color:		var(--priint_teal);
	font-size:	1.5em;
}

svg.themebutton:hover
{
	cursor: pointer;
}

svg.themebutton.disabled
{
	opacity: 50%;
}

/* Remove the background color for code in warnings from classic.css -> interferes with dark mode */
.warning code
{
	background-color: initial;
}

/* Style function example headers */
dd.examples > p
{
	color: white;
	background-color: var(--background-header);

	margin-top: 1em;
	padding: 2px 5px !important;
	font-size: small;
	text-indent: initial !important;
	border-bottom-color: var(--);
}

/* Remove the top margin from the first function example header*/
dd.examples > p:first-child
{
	margin-top: 0;
}

/* Remove top margin from function examples */
dd.examples > div
{
	margin-top: 0;
}