/*

*****************************************************
-----------------------------------------------------

Theme Name: sg-portal
Description:
Version: 2.0
Author:
Author URI:

-----------------------------------------------------
*****************************************************

*/

@font-face { font-display:swap; font-family:'Inclusive Sans'; font-style:normal; font-weight:400; src:url('../sg-portal/fonts/inclusive-sans-v4-latin-regular.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inclusive Sans'; font-style:italic; font-weight:400; src:url('../sg-portal/fonts/inclusive-sans-v4-latin-italic.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inclusive Sans'; font-style:normal; font-weight:500; src:url('../sg-portal/fonts/inclusive-sans-v4-latin-500.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inclusive Sans'; font-style:italic; font-weight:500; src:url('../sg-portal/fonts/inclusive-sans-v4-latin-500italic.woff2') format('woff2'); }

@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation:auto;
  }
}

@layer reset {
  *, *::before, *::after { box-sizing:border-box; }
  * { margin:0; padding:0; }
  body { line-height:1.5; }
  img, picture, video, canvas, svg { display:block; max-inline-size:100%; }
  img { height:auto; }
  input, button, textarea, select { font:inherit; letter-spacing:inherit; word-spacing:inherit; color:currentColor; }
  p, h1, h2, h3, h4, h5, h6 { overflow-wrap:break-word; }
  ol, ul { list-style:none; }
	table {	border-collapse:collapse;	border-spacing:0;	width:100%; }
	audio { width:100%; }
	article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
}

a { color:currentColor; }
a:focus-visible { outline-offset:0.25em; outline-width:0.25em; outline-color:currentColor; }
a[target="_blank"]::after { content:'↗'; }

@media (width <= 766px) {
html { hyphens:auto; }
}
body { background:var(--color-bg-light); color:var(--color-text); line-height:var(--line-height); min-height:100vh; }
html, html button, html input, html select, html textarea { font:normal 400 17px var(--font-family); }

.visuallyhidden:not(:focus):not(:active) { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }

h1, h2, h3, h4, h5, h6 { font-size:1rem; font-weight:500; color:var(--color-text) !important; text-wrap:balance; }
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span { color:var(--color-text) !important; }
b, strong { font-weight:500; }

body { display:flex; flex-wrap:wrap; min-height:100vh; }
body.admin-bar { padding-top:1.9rem; }
	header { flex-basis:33%; flex-grow:1; min-width:260px; padding:2rem; background:var(--color-bg-dark); color:var(--color-text-light); }
		#brand, nav, #container > * { max-width:1000px; margin-left:auto; margin-right:auto; }
		#brand { font-weight:normal; margin:2rem 0; color:var(--color-text-light-dimmed); text-wrap:balance; }
		@media (width <= 766px) {
		#brand { margin-top:0; margin-bottom:1rem; }
		}
			#brand a { text-decoration:none; display:block; }
				#brand a span { font-weight:500; display:block; color:var(--color-text-light); }
				#brand a:hover span { text-decoration:underline; }
		nav { }
			nav li { }
			nav li:not(.meta) + li.meta { margin-top:2rem; }
			.page-sitemap nav li:not(.meta) + li.meta { margin-top:1rem; }
				nav a { display:block; padding:.25rem 0; text-decoration-color:var(--color-lightest-on-bg-dark); }
				nav li.meta a { color:var(--color-text-light-dimmed); }
				nav a:hover { text-decoration-color:currentColor; }
			nav li.current_page_parent { }
				nav li.current_page_parent > a { font-weight:500; }
			nav li.current_page_item { }
				nav li.current_page_item > a { text-decoration:none; font-weight:500; }
				nav li.current_page_item > a::after { content:'→'; padding-left:.2rem; }
			nav li ul { margin-left:1.5rem; }
		@media (width <= 766px) {
		header nav { display:none; }
		}
		#menubutton, #backbutton { text-align:right; display:block; text-decoration-color:var(--color-lightest-on-bg-dark); }
		html.no-js #backbutton { display:none; }
		#backbutton { margin-bottom:1rem; }
		@media (width > 766px) {
		#menubutton { display:none; }
		}
	#container { flex-basis:66%; flex-grow:1; background:var(--color-bg-light); padding:1rem 2rem 2rem; min-height:calc(100vh - 2rem); }
	.page-sitemap #container { background:var(--color-bg-dark); color:var(--color-text-light); }
		.breadcrumb { color:var(--color-text-dimmed); }
			.breadcrumb a { text-decoration-color:#707070; }
			.breadcrumb a::before { content:'↖ '; }
		article { margin-top:2rem; }
		.breadcrumb + article { margin-top:.6rem; }
		#text { color:var(--color-text); }
			#text > * { max-width:500px; }
			#text * + * { margin-top:1rem; }
			#text h2 + * { margin-top:1rem; }
			#text h1 { text-transform:uppercase; margin-bottom:2rem; font-weight:normal; font-size:2.2rem; max-width:unset; line-height:1.2; }
			#text h1::before { content:'____ '; }
			body.home #text h1 { font-weight:500; }
			body.home #text h1::before { content:''; }
			#text h2 { text-transform:uppercase; font-size:1.3rem; font-weight:500; margin-top:2.5rem; }
			#text h2::before { content:'__ '; }
			#text h3 { font-size:1.2rem; font-weight:500; }
			#text p + h3, #text ul + h3, #text ol + h3 { margin-top:2rem; }
			#text ol { list-style-type:decimal; list-style-position:outside; padding-inline-start:1rem; }
			#text ul { list-style-type:square; list-style-position:outside; padding-inline-start:1rem; }
			.lead { font-size:1.2rem; }
			#text > p.more { text-align:right; max-width:unset; }
			p.date { color:var(--color-text-dimmed); }
			span.date { color:var(--color-lightest-on-bg-light); }
			#text .box { border:1px solid #707070; padding:1rem; margin-top:2rem; max-width:unset; }
				#text .box *:first-child { margin-top:0; }
			#text a[href$=".pdf"]::after { content:'🮉'; }
	footer { width:100%; flex-shrink:0; background:var(--color-bg-dark); color:var(--color-text-light-dimmed); text-align:right; padding:.2rem 1rem; }
		footer a { text-decoration-color:var(--color-lightest-on-bg-dark); }
		footer a::before { content:'—'; padding-right:.3rem; display:inline-block; }
		footer span:first-child a::before { display:none; }
		@media (width <= 766px) {
		footer span { display:block; text-align:center; }
		footer span a:not(:last-child)::before { display:none; }
		}
