@import url(theme.css);
@import url(https://cdn.geocat.net/css/geocat.base.min.css);
@import url(https://cdn.geocat.net/css/geocat.logo.min.css);

:root {
	--gc-logo-height-gc: 30px; /* can't be a percentage */
}

/* override logo height for training */
.gc-training {
	--gc-logo-height: 25px;
}

.rst-content .toctree-wrapper p.caption, .btn {
	font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	color: var(--gc-color);
}

/* background color */
.wy-body-for-nav, .wy-nav-content-wrap, .wy-nav-content {
	background: var(--gc-background-color-body) !important;
}


/* index page */
.genindex-jumpbox {
	margin-bottom: var(--gc-spacing-default);
}

/* search page */
#search-results .search li {
	border-top: 1px solid var(--gc-border-color);
	border-bottom: 0;
	margin-bottom: 0;
}

/* layout */
.wy-grid-for-nav {
	height: auto;
}

.wy-side-nav-search {
	position: fixed;
	top: 0;
}
@media screen and (max-width: 768px) {
	.wy-nav-side {
		padding-top: 0;
	}
	.wy-side-nav-search {
		position: relative;
	}
}
.wy-nav-content-wrap {
	height: 100vh;
	overflow: auto;
}
@media print {
	.wy-nav-content-wrap {
		height: 100%;
	}
}

/* sidebar */
.wy-nav-side {
	position: fixed;
	padding-top: var(--gc-logo-height);
	color: var(--gc-color-sidebar);
	background: var(--gc-background-color-sidebar);
	text-shadow: none;
	border-right: 1px solid var(--gc-border-color);
	width: var(--gc-sidebar-width);
}
/* version */
.wy-side-nav-search > div.version {
	position: absolute;
	top: 75px;
	left: 0;
	font-weight: bold;
	/* default color - neutral color based on the GeoCat name */
	color: #1d1934; /*var(--gc-white);*/
	padding: 0;
	border-radius: var(--gc-border-radius);
	display: inline-block;
	margin: 15px 0 0 20px;
	width: 70px;
	text-align: center;
}
/* another text color for Live docs - based on the the logo name containing '_live' in the src name */
.wy-side-nav-search:has(img[src*="_live"]) > div.version {
	color: #2c9ad7;
}
/* another text color for Map docs - based on the the logo name containing '_map' in the src name */
.wy-side-nav-search:has(img[src*="_map"]) > div.version {
	color: #24ad9f;
}

/* version */
.wy-side-nav-search > div.version {
	font-weight: bold;
	display: inline-block;
	margin-left: 60px;
	margin-top: 0px;
}

/* search */
.wy-side-nav-search {
	background-color: var(--gc-white);
	border-right: 1px solid var(--gc-border-color);
	padding: 0;
	text-align: left;
}
@media screen and (max-width: 768px) {
	.wy-side-nav-search {
		border-right: 0;
	}
}
.wy-side-nav-search>a {
	margin-bottom: 0;
	width: var(--gc-sidebar-width);
	/* height: 125px; */
	height: 100px;
}
.wy-side-nav-search>a img.logo {
	padding: var(--gc-spacing-default);
	max-height: 80px;
	/* width: 230px; */
	/* margin: 0; */
}

/* another padding for Live docs - based on the the logo name containing '_live' in the src name */
.wy-side-nav-search:has(img[src*="_live"]) > a img.logo {
	padding: 15px 145px 15px 5px;
}

#rtd-search-form {
	padding: 15px;
	border-top: 1px solid var(--gc-border-color);
	border-bottom: 1px solid var(--gc-border-color);
	background-color: var(--gc-background-color-default);
}
.wy-side-nav-search input[type=text] {
	border-color: var(--gc-border-color);
	font-size: 16px;
	box-shadow: none;
	border-radius: var(--gc-border-radius);
	padding: 8px 12px;
}
.wy-side-nav-search input[type=text]:focus {
	border-color: var(--gc-border-color);
}
/* search terms */
.rst-content .highlighted {
	background: var(--gc-warning);
	color: var(--gc-gray-900);
	box-shadow: 0 0 0 0.25em var(--gc-warning);
	display: inline;
	font-weight: 700;
}
/* navigation */
.wy-menu-vertical a {
	color: var(--gc-link-color-sidebar);
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 16px;
	line-height: 1.4em;
	text-decoration: none;
}
.wy-menu-vertical a:hover {
	background: none !important;
	cursor: pointer;
	text-decoration: underline;
}
.wy-menu-vertical li.current>a span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand {
	text-decoration: none;
	color: var(--gc-link-color);
}
.wy-menu-vertical a:hover .toctree-expand:before {
	text-decoration: none;
}
.wy-menu-vertical li.current>a, .wy-menu-vertical li.on a {
	color: var(--gc-link-color);
	font-weight: 600;
}
.wy-menu-vertical li.current {
	background: none;
}
.wy-menu-vertical li.current a {
	border-right: 0;
	padding-right: 1em;
}
.wy-menu-vertical li.on a, .wy-menu-vertical li.current>a {
	background: none;
}
.wy-menu-vertical li.toctree-l1>a {
	border-left: 4px solid transparent;
	padding-left: 1.6em;
}
.wy-menu-vertical li.toctree-l1.current>a {
	border-left: 4px solid var(--gc-link-color) !important;
}
.wy-menu-vertical li.toctree-l1.current>a {
	border: 0;
	padding-top: var(--gc-spacing-small);
	padding-bottom: 10px;
}
.wy-menu-vertical li.toctree-l2.current>a {
	background: none;
	text-shadow: none;
	padding-top: var(--gc-spacing-small);
	padding-bottom: var(--gc-spacing-small);
	font-weight: 600;
}
.wy-menu-vertical li.toctree-l2 a, .wy-menu-vertical li.toctree-l2.current>a{
	padding-left: 3.4em;
	padding-right: 1em;
	color: var(--gc-color-sidebar);
}
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a {
	background: none;
	padding-left: 4.5em;
	padding-right: 1em;
}
.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a {
	background: none;
	padding-left: 5.5em;
	padding-right: 1em;
}
.wy-menu-vertical header, .wy-menu-vertical p.caption {
	color: var(--gc-link-color);
	font-size: 16px;
	margin-bottom: 5px;
	padding-left: var(--gc-spacing-default);
}
.wy-menu-vertical li.toctree-l2.current>a, .wy-menu-vertical li.toctree-l3.current>a,
.wy-menu-vertical li.toctree-l4.current>a{
	color: var(--gc-link-color);
}

/* top */
.wy-nav-top {
	background-color: var(--gc-white);
	color: var(--gc-gray-600);
	padding: .4045em 1em;
	border-bottom: 1px solid var(--gc-border-color);
}
.wy-nav-top a {
	color: var(--gc-gray-600);
}
/* header */
.header hr {
	clear: both;
}
/* hide pre-release */
#gc_prerelease {
	display: none;
}
/* breadcrumbs */
.wy-breadcrumbs {
	float: left;
	margin-top: -2px;
	margin-bottom: var(--gc-spacing-default) !important;
	width: calc(100% - 130px);
	padding-left: 0 !important;
}
.wy-breadcrumbs .project-name {
	line-height: 25px;
	margin-left: 5px;
}
.wy-breadcrumbs .source-code {
	text-decoration: none;
	color: var(--gc-gray-400);
	margin-left: 8px;
	margin-top: -2px;
	display: inline-block;
}
.wy-breadcrumbs li {
	margin-left: 0 !important;
	display: inline;
}
.wy-breadcrumbs li a {
	padding-right: 0;
	text-decoration: none;
}
.wy-breadcrumbs li:before {
	content: "/";
	margin-right: 5px;
}
.wy-breadcrumbs .wy-breadcrumb-first:before, .wy-breadcrumbs .wy-breadcrumbs-aside:before {
	content: "";
}

/* logo */
.gc-menu {
	float: right;
	padding-left: 0 !important;
	margin-bottom: var(--gc-spacing-default) !important;
}
.gc-menu li {
	list-style: none !important;
	margin-left: 0 !important;
}
.gc-menu .gc-logo {
	height: var(--gc-logo-height-gc);
	width: calc(var(--gc-logo-height-gc) * (25 / 6));
}
.gc-logo-base64 {
	background-image: var(--gc-logo-base64-full);
	background-size: 100%;
	background-repeat: no-repeat;
}
@media screen and (prefers-color-scheme: dark) {
	.gc-logo-base64 {
		background-image: var(--gc-logo-base64-full-bw);
	}
}
@media (max-width: 425px) {
	.gc-menu .gc-logo {
		height: var(--gc-logo-height-gc);
		width: var(--gc-logo-height-gc);
		background-size: cover;
	}
	.gc-logo-base64 {
		background-image: var(--gc-logo-base64-notext);
	}
	@media screen and (prefers-color-scheme: dark) {
		.gc-logo-base64 {
			background-image: var(--gc-logo-base64-notext-bg);
		}
	}
}

/* footer */
footer {
	color: var(--gc-gray-600);
}
footer p {
	padding-bottom: var(--gc-spacing-default);
}
footer hr {
	margin: var(--gc-spacing-default) 0px;
}

/* content */
.wy-nav-content {
	margin: 0 auto;
}
/* sidebar in content */
.rst-content .sidebar .sidebar-title {
	display: block;
	font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 700;
	background: var(--gc-background-color-default);
	padding: 12px 24px 0 24px;
	margin: -24px -24px 24px;
	font-size: 100%;
}
.rst-content .sidebar {
	float: right;
	width: 40%;
	display: block;
	margin: 0 0 24px 24px;
	padding: 24px;
	background: var(--gc-background-color-default);
	border: 0;
	border-radius: var(--gc-border-radius);
}
/* lists */
.rst-content .section ul li p:last-child, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li p:last-child,
.rst-content .toctree-wrapper ul li ul, .wy-plain-list-disc li p:last-child, .wy-plain-list-disc li ul, article ul li p:last-child,article ul li ul {
	margin-bottom: 5px;
	margin-top: 5px;
}
.rst-content dl ol, .rst-content dl p, .rst-content dl table, .rst-content dl ul {
	margin-bottom: 5px;
}
.rst-content .section ol, .rst-content ol.arabic, .wy-plain-list-decimal, article ol {
	margin-bottom: 5px;
}
.rst-content ul {
	margin-bottom: var(--gc-spacing-default);
	padding-left: 1em;
}
.rst-content ul li {
	border: none !important;
	padding: 0 !important;
}
.rst-content ul li a {
	font-size: 100% !important;
	margin: 0;
}
.rst-content li, .rst-content .toctree-wrapper ul li {
	list-style: disc;
	margin-left: 1rem;
}
.rst-content li p {
	margin-bottom: 0;
	padding: 5px 0;
}

/* ui & menu */
.rst-content .guilabel {
	border: 0;
	background: none;
	font-size: 100%;
	padding: 0;
	color: var(--gc-color);
	font-weight: bold;
	border-radius: 0;
}
.rst-content .menuselection {
	background-color: var(--gc-menuselection-background);
	color: var(--gc-color);
	font-size: 85%;
	padding: 4px 5px;
	border-radius: var(--gc-border-radius);
}

/* buttons */
.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
	box-shadow: none;
}
.btn-neutral {
	color: var(--gc-gray-700);
	background-color: var(--gc-white);
	border-color: var(--gc-white);
}
.btn:hover {
	text-decoration: none;
}
.btn:active {
	box-shadow: none;
}
.btn .fa {
	display: none;
}
.btn .fa-arrow-circle-left {
	display: inline;
}
.btn .fa-arrow-circle-left:before {
	content: "\f104";
	content: "\f177";
}
.btn .fa-arrow-circle-right {
	display: inline;
}
.btn .fa-arrow-circle-right:before {
	content: "\f105";
	content: "\f178";
}
.rst-breadcrumbs-buttons {
	margin-top: -15px;
	margin-bottom: 20px;
}
.rst-footer-buttons .btn, .rst-breadcrumbs-buttons .btn {
	font-size: 16px;
	border: 0;
	background: none !important;
	padding: 6px 0;
	color: var(--gc-link-color) !important;
}

/* tables */
.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th,
.rst-content table.docutils th, .rst-content table.field-list th {
	text-align: left;
	font-size: 100%;
	white-space: normal;
	vertical-align: text-top;
}
.wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p, .wy-table th p,
.rst-content table.docutils th p, .rst-content table.field-list th p {
	margin: 0;
	line-height: 24px;
}
.rst-content table.docutils td>p, .rst-content table.docutils th>p {
	line-height: 1.2rem !important;
	margin-bottom: 0;
	font-size: 1rem !important;
}
.rst-content table.docutils {
	border: 1px solid var(--gc-border-color) !important;
	background-color: var(--gc-table-background) !important;
}
.rst-content .admonition table.docutils {
	background-color: var(--gc-demo-table-background) !important;
}
.rst-content table.docutils caption, .rst-content table.field-list caption, .wy-table caption {
	color: var(--gc-color);
	font: inherit;
	padding: 1em 0;
	text-align: left;
}
.rst-content table.docutils thead th, .rst-content table.field-list thead th, .wy-table thead th {
	color: var(--gc-color) !important;
	border-bottom: 1px solid var(--gc-border-color) !important;
}
.rst-content table.docutils th, .wy-table-bordered-all th, .rst-content table.docutils td, .wy-table-bordered-all td {
	border-color: var(--gc-border-color) !important;
	background-color: transparent !important;
}
.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td, .wy-table-backed, .wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td {
	background-color: transparent !important;
}

html.writer-html5 .rst-content table.docutils th {
	border-color: var(--gc-border-color) !important;
}

/* messages */
.admonition {
	padding: 1rem !important;
	margin: 1rem 0;
	/* left border trick: semi transparent black left border so it turns out a bit darker without setting an actual color */
	box-shadow: inset 5px 0px 0px 0px #00000061;
	background-color: var(--gc-info) !important;
	color: var(--gc-message-note-color);
}
.admonition .admonition {
	box-shadow: none;
	padding: 0 !important;
}
@media screen and (prefers-color-scheme: dark) {
	.admonition .admonition {
		padding: var(--gc-spacing-default) !important;
	}
}
.admonition a {
	font-weight: bold;
	color: var(--gc-message-note-link-color);
}
.admonition a.reference.external:after {
	color: var(--gc-message-note-link-color) !important;
}
.rst-content .admonition-title {
	font-weight: 600;
	padding: 0 0 5px 0 !important;
	background: transparent !important;
	margin: 0 !important;
	color: var(--gc-black);
	line-height: 1.7em;
	text-transform: uppercase;
}
.rst-content .admonition-title:before {
	margin: 0;
	content: "";
}
.admonition.hint, .admonition.important, .admonition.tip {
	background-color: var(--gc-success);
}
.admonition.attention, .admonition.caution, .admonition.warning {
	background-color: var(--gc-warning);
}
.admonition.danger, .admonition.error {
	background-color: var(--gc-danger);
}
.admonition.note, .admonition-note {
	background-color: var(--gc-info) !important;
	color: var(--gc-message-note-color);
}
.admonition.note .admonition-title, .admonition-note .admonition-title {
	color: var(--gc-message-note-color);
}
.admonition.note a, .admonition.note a.reference.external:after, .admonition-note a, .admonition-note a.reference.external:after {
	color: var(--gc-message-note-link-color) !important;
}
.admonition .note {
	border-left: 0;
	background: var(--gc-light);
}
/* training blocks */
.admonition-exercise, .admonition-demo, .admonition-explore, .admonition-challenge, .admonition-example {
	background-color: var(--gc-demo-background) !important;
	color: var(--gc-demo-color) !important;
}
.admonition-exercise .admonition-title, .admonition-demo .admonition-title, .admonition-explore .admonition-title,
.admonition-challenge .admonition-title, .admonition-example .admonition-title {
	color: var(--gc-demo-color) !important;
}
@media screen and (prefers-color-scheme: dark) {
	.admonition-exercise a, .admonition-demo a, .admonition-explore a,
	.admonition-challenge a, .admonition-example a {
		color: var(--gc-link-color) !important;
	}
	.admonition-exercise a.reference.external:after, .admonition-demo a.reference.external:after, .admonition-explore a.reference.external:after,
	.admonition-challenge a.reference.external:after, .admonition-example a.reference.external:after {
		color: var(--gc-link-color) !important;
	}
}
.admonition-exercise .guilabel {
	color: var(--gc-dark);
	background: var(--gc-info);
}

.admonition-instructor-notes {
	background-color: var(--gc-yellow) !important;
	color: var(--gc-dark);
	padding: var(--gc-spacing-default);
}
.admonition-instructor-notes .admonition-title  {
	 color: var(--gc-dark);
 }
.admonition-instructor-notes .note {
	background-color: var(--gc-yellow) !important;
	border-top: 1px solid var(--gc-dark);
	border-bottom: 1px solid var(--gc-dark);
	padding: var(--gc-spacing-small) 0 !important;
}

/* blocks */
.rst-content blockquote {
	margin: 0;
	margin-bottom: var(--gc-spacing-default);
}
.rst-content pre.literal-block, .rst-content div[class^='highlight'] {
	background-color: var(--gc-code-background);
	border: 0;
	border-radius: var(--gc-border-radius);
	line-height: 1.45;
}
.rst-content pre.literal-block, .rst-content div[class^='highlight'] pre, .rst-content .linenodiv pre {
	font-size: 14px;
	line-height: 1.45;
}
.rst-content .code-block-caption {
	text-align: left;
}
.rst-content code.literal, .rst-content tt.literal, .rst-content dl.footnote code {
	color: var(--gc-pink);
}
code, .rst-content tt, .rst-content code {
	border: 0;
	padding: .2em .4em;
	margin: 0;
	font-size: 85%;
	background-color: var(--gc-block-background);
	border-radius: var(--gc-border-radius);
}
.rst-content code.download {
	color: var(--gc-link-color);
}
table code, .rst-content table tt, .rst-content table code {
	background-color: var(--gc-block-in-table-background);
}
/* copy button */

/* different styling for button in a table cell - needed for html_codeblock_linenos_style = 'table' setting */
button.copybtn {
	font-size: 1em;
	padding: .2em .5em;
}
td.code button.copybtn {
	right: auto;
	left: 0.3em;
}
td.code .o-tooltip--left:after {
	left: 5em;
}

/* glossary */
.glossary {
	padding: 12px;
	background-color: var(--gc-background-color-default);
	border: 0;
	border-radius: var(--gc-border-radius);
	line-height: 1.45;
}
/* footnote */
.footnote {
	font-size: 16px !important;
	line-height: 1.5;
}
.rst-content .footnote-reference, .rst-content .citation-reference {
	top: auto;
}
.rst-content .footnote-reference, .rst-content .citation-reference, .footnote .brackets .fn-backref {
	color: var(--gc-pink);
	text-decoration: underline;
}
/* images and figures */
.rst-content img {
	margin-bottom: var(--gc-spacing-default);
}
.rst-content figure {
	margin-bottom: 25px;
}
.rst-content div.figure p.caption, .rst-content figure .caption-text {
	font-style: normal;
	font-size: 14px;
	margin-top: -5px;
}
.rst-content figcaption .headerlink {
	visibility: hidden;
	font-size: 14px;
}
.rst-content figcaption .headerlink:after {
	content: "\f0c1";
	font-family: FontAwesome;
}
.rst-content figcaption:hover .headerlink:after {
	visibility: visible;
}

/* codeblock colors */
.rst-content div[class^='highlight'] {
	color: var(--gc-gray-400);
}
.rst-content table.docutils.footnote, html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content dl.footnote {
	color: var(--gc-gray-500);
}
.rst-content .highlight .go {
	color: var(--gc-gray-400);
}
.rst-content .highlight .c, .rst-content .highlight .c1 {
	color: var(--gc-orange);
}
.rst-content .highlight .gh {
	color: #009688;
}
.rst-content .highlight .o {
	color: var(--gc-pink);
}
.rst-content .highlight .s2 {
	color: #5b98bf;
}
.rst-content .highlight .ow, .rst-content .highlight .m, .rst-content .highlight .kc,
.rst-content .highlight .nb, .rst-content .highlight .nt, .rst-content .highlight .nf {
	color: var(--gc-link-color);
}
.rst-content .highlight .k, .rst-content .highlight .nd {
	color: var(--gc-purple);
}
.rst-content .highlight .mf, .rst-content .highlight .mi, .rst-content .highlight .kn {
	color: var(--gc-teal);
}
.rst-content .highlight .cp, .rst-content .highlight .ne, .rst-content .highlight .kt {
	color: var(--gc-red);
}
.rst-content .highlight .ge, .rst-content .highlight .cm {
	color: var(--gc-gray-600);
}
.rst-content .highlight .p, .rst-content .highlight .nn, .rst-content .highlight .l,
.rst-content .highlight .nv, .rst-content .highlight .nc, .rst-content .highlight .n {
	color: var(--gc-gray-400);
}
.rst-content div.figure img {
	background-color: var(--gc-white);
}
.rst-content .footnote-reference, .rst-content .citation-reference, .footnote .brackets .fn-backref {
	color: var(--gc-pink);
}
.highlight .hll {
	background-color: #314733;
}

/* helper */
.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

/* custom geocat classes */
.rst-content .section .gc-list-blocks .caption {
	border-bottom: 1px solid var(--gc-border-color);
	padding-bottom: .3rem;
}
.rst-content .section .gc-list-blocks ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(200px, 33%));
	grid-gap: 20px;
}
.rst-content .section .gc-list-blocks ul li {
	list-style: none;
	margin-left: 0;
	padding: 18px;
	border: 1px solid var(--gc-border-color);
	border-radius: var(--gc-border-radius);
	background-color: var(--gc-background-color-default);
	transition: box-shadow 0.2s ease-in-out;
}
.rst-content .section .gc-list-blocks ul li:hover {
	box-shadow: var(--gc-card-hover-shadow);
}
.rst-content .section .gc-list-blocks ul li a:hover {
	text-decoration: none;
}

/* print styles */
@media print {
	@page {
		size: auto;
		margin: 10mm;
	}
	html, body {
		font-size: 12px;
		background: #FFF;
		overflow: visible;
	}
	body {
		padding-top:15mm;
	}
	h1 {
		page-break-before: always;
	}
	h1:first-child {
		page-break-before: unset;
	}
	img {
		page-break-inside: avoid;
	}
	table { page-break-inside:auto }
	tr    { page-break-inside:avoid; page-break-after:auto }
	thead { display:table-header-group; }
	tfoot { display:table-footer-group; }
}
