@charset "UTF-8";

@font-face { font-display:swap; font-family:'PT Sans'; font-style:normal; font-weight:400; src:url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.woff2') format('woff2'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.woff') format('woff'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.ttf') format('truetype'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.svg#PTSans') format('svg'); }
@font-face { font-display:swap; font-family:'PT Sans'; font-style:normal; font-weight:700; src:url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.woff2') format('woff2'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.woff') format('woff'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.ttf') format('truetype'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.svg#PTSans') format('svg'); }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 400; src: local(''), url('/assets/immutable/fonts/courier-prime-v2-latin-ext_latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 700; src: local(''), url('/assets/immutable/fonts/courier-prime-v2-latin-ext_latin-700.woff2') format('woff2'); }

/* a very limited css reset */
sgnet-card *, sgnet-card *::before, sgnet-card *::after { box-sizing:border-box; font-size:unset; }
sgnet-card * { margin:0; padding:0; }

/* style the "encapsulated" card */
sgnet-card { display:block; font-size:.8rem; margin-bottom:2rem; font-family:'PT Sans'; }
	sgnet-card .card { display:block; border:1px solid #d9d9d9; border-radius:.25rem; }
	sgnet-card .card.actual.access-listed { border-right:3px solid var(--color-status-listed); }
	sgnet-card .card.actual.access-unlisted { border-right:3px solid var(--color-status-unlisted); }
	sgnet-card .card.actual.access-custom { border-right:3px solid var(--color-status-draft); }
	sgnet-card .card.precursor, sgnet-card .card.successor { opacity:.5; mask-image:linear-gradient(to bottom, black 50%, transparent 100%); height:150px; max-height:150px; }
	sgnet-card .card.precursor:hover, sgnet-card .card.successor:hover { opacity:1; }
	sgnet-card .card.precursor { margin:0 2rem 1rem -2rem; }
	sgnet-card .card.successor { margin:1rem -2rem 0 2rem; }
		sgnet-card .object { background:white; display:flex; flex-direction:row-reverse; border-top-left-radius:.25rem; border-top-right-radius:.25rem; }
			sgnet-card .object .thumb { border-top-right-radius:.25rem; }
			sgnet-card .card-bookmark .object .thumb { width:33%; max-width:150px; height:auto; }
			sgnet-card .card-book .object .thumb { height:140px; width:auto; }
			sgnet-card .objectmeta { flex-grow:1; padding:1rem; color:#7f7f7f; line-height:1.2; }
				sgnet-card .objectmeta > * { display:block; }
				sgnet-card .objectmeta blockquote { color:#333; padding-left:1.8rem; margin-left:0; padding-right:0; position:relative; margin-bottom:.8rem; }
				sgnet-card .objectmeta blockquote::before { font-family:'Courier Prime'; content:open-quote; font-size:2rem; line-height:1; float:left; margin-left:-1.8rem; }
				sgnet-card .objectmeta blockquote::after { content:close-quote; right:0; bottom:0; font-size:1%; display:block; }
					sgnet-card .card:not(.card-quote) .objectmeta .author, sgnet-card .objectmeta .title { color:#333; padding-bottom:.2rem; }
					sgnet-card .objectmeta .title { font-size:1rem; font-weight:bold; }
						sgnet-card .icon { width:1em; height:1em; display:inline-block; margin-right:.2rem; }
						sgnet-card .objectmeta .links a + a::before { content:'|'; margin:0 .35rem 0 .25rem; color:#aaa; }
		sgnet-card .featured { width:100%; height:auto; }
		sgnet-card .content, sgnet-card .private { padding:1rem 1rem 0; font-family:'Courier Prime'; }
		sgnet-card .card-article .content, sgnet-card .card-article .private { font-family:'Pt Sans'; }
		sgnet-card .private { color:#7f7f7f; }
		sgnet-card .cardmeta { flex-basis:100%; display:flex; gap:1rem; align-items:flex-end; justify-content:space-between; font-size:.66rem; color:#7f7f7f; padding:.2rem .2rem .2rem .5rem; background:#f0f0f0; margin-top:1rem; }
		sgnet-card .object + .cardmeta { margin-top:0; }
			sgnet-card .tags { display:flex; gap:.3rem .5rem; flex-wrap:wrap; }
				sgnet-card .tags a { line-height:1.1; text-decoration:none; padding:.1rem .4rem; background-color:#e3e3e3; border-radius:.25rem; }
			sgnet-card .etc { flex-shrink:0; }
				sgnet-card .id { color:#7f7f7f; padding:0 .5rem; opacity:.4; }
					sgnet-card:hover .id { opacity:1; }
				sgnet-card .editlink { color:#7f7f7f; margin-left:.25rem; }
					sgnet-card svg { fill:currentColor; }

/* TODO: move this to a more top-level CSS file! */
.renderedmarkdown { padding:0; margin-left:auto; margin-right:auto; }
	.renderedmarkdown > * { margin-left:auto; margin-right:auto; }
	.template-bookchapter .renderedmarkdown > * { margin-left:0; }
	.renderedmarkdown > .lead, .frontmatter > .lead, body:not(.template-resources, .template-home) .renderedmarkdown > h2:not(.h3) { width:auto; max-width:var(--maxwidth-textcolumnplusmargin); margin-left:0; }
	.renderedmarkdown blockquote { padding-left:1.2rem; margin-left:0; padding-right:0; position:relative; }
	.renderedmarkdown blockquote::before { content:open-quote; font-size:200%; line-height:1; float:left; margin-left:-1.2rem; }
	.renderedmarkdown blockquote::after { content:close-quote; right:0; bottom:0; font-size:1%; display:block; }
		.renderedmarkdown blockquote p, .renderedmarkdown blockquote ul, .renderedmarkdown blockquote li { margin-right:1rem; padding-left:.5rem; }
	.renderedmarkdown code, .renderedmarkdown pre { font-size:.75rem; overflow-x:scroll; }
	.renderedmarkdown > figure.wide,
	.renderedmarkdown > table { max-width:100%; width:764px; }
	.template-resource .renderedmarkdown hr, .template-resources .renderedmarkdown hr { display:none; max-width:100%; margin:4rem 0 3rem; }
		.template-resource .renderedmarkdown hr:first-of-type, .template-resources .renderedmarkdown hr:first-of-type { display:block; }
	.renderedmarkdown > pre[class*="language-"],
	.renderedmarkdown > figure.medium { max-width:100%; margin-right:0; margin-left:auto; }
	.renderedmarkdown > figure.medium.left { margin-left:0; margin-right:auto; }
	@media only screen and (min-width: 1101px) {
		.renderedmarkdown > figure.small { margin-top:0; float:right; max-width:100%; }
		.renderedmarkdown > figure.small.left { float:left; }
	}
	.renderedmarkdown ul { list-style:disc; }
		.renderedmarkdown li { padding-left:.5rem; margin-left:1.5rem; }
	.renderedmarkdown * + * { margin-top:1rem; }
	.renderedmarkdown * + br,
	.renderedmarkdown .card *,
	.renderedmarkdown * + .statusicon,
	.renderedmarkdown * + code { margin-top:0; }
	.renderedmarkdown.f-image > * { max-width:100%; }

	/* feature: publication */
	.renderedmarkdown > .publication { display:flex; padding:1rem; margin-top:1rem; margin-bottom:1rem; align-items:flex-start; background:var(--color-bg-light); font-size:var(--font-size-caption); }
	.renderedmarkdown > .publication > * { flex-basis:40%; flex-grow:1; }
	.renderedmarkdown > .publication > img { flex-grow:0; margin-right:5%; max-width:50%; }
			.renderedmarkdown > .publication p { margin-top:0; margin-right:0; }
			.renderedmarkdown > .publication .feature { font-weight:bold; margin-top:1rem; }
			.renderedmarkdown > .publication .download { font-weight:bold; text-align:right; margin-top:1rem; }
