/*  font definitions  */
@font-face {
	font-family: 'Inter';
	src: url('type/inter-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('type/inter-v20-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
	font-weight: 400;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Inter';
	src: url('type/inter-v20-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('type/inter-v20-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
	font-weight: 500;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Inter';
	src: url('type/inter-v20-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('type/inter-v20-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
	font-weight: 600;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Inter';
	src: url('type/inter-v20-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('type/inter-v20-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
	font-weight: 700;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Inter';
	src: url('type/inter-v20-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('type/inter-v20-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
	font-weight: 900;
	font-style: normal;
	font-display: fallback;
}


/*  root  */
:root {
	--color-translucent-locust: rgba(161, 171, 134, 0.4);

	--color-orange: #eb7812;
	--color-beige: #eadfc8;
	--color-red: #bb0807;
	--color-green: #5cb85c;

	--color-beige-90: hsl(from var(--color-beige) h s 92%);

	--color-white: #FFFFFF;
	--color-light-grey: #E9E9EE;
	--color-grey: #B1B1BA;
	--color-border-grey: #DDDDDF;
	--color-dark-grey: #666668;
	--color-very-dark-grey: #404041;
	--color-black: #000000;

	--color-primary: var(--color-orange);

	--color-text: var(--color-very-dark-grey);
	--color-link: var(--color-black);
	--color-link-hover: var(--color-red);
	--color-link-focus: var(--color-green);

	--color-input-border: var(--color-dark-grey);

	--color-selection: #0077D5;

	--font-family: 'Inter', Arial, Helvetica, sans-serif;
	--font-size: 1.25rem;

	--max-width: 76rem;
	--gutter-x: 3rem;
	--gutter-y: 5rem;
	--columns-gutter-x: 3rem;
	--columns-gutter-y: 3rem;
	--logo-height: 6rem;
}



/*  attributes for all  */
body, h1, h2, h3, h4, h5, h6, p, div, img, a, address, b, i, u, sup, div, span, ul, ol, li, figure, figcaption, header, main, footer, section {
	margin: 0;
	padding: 0;
	border: 0;
}



/*  tags  */
html {
	font-size: 16px;
	-webkit-text-size-adjust: none;
	scroll-behavior: smooth;
	scroll-padding-top: 3rem;
}
body {
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: 400;
	background: var(--color-white);
	color: var(--color-text);
	text-align: center;
}


a {
	color: var(--color-link);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .1em;
	text-decoration-color: var(--color-beige);
	transition: color .2s ease, background .2s ease, text-decoration .2s ease;

}
a:hover {
	text-decoration-color: var(--color-beige);
	color: var(--color-link-hover);
}

b, strong { font-weight: 600; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
	outline: 2px solid var(--color-link-focus);
	outline-offset: 2px;
}

input[type=submit],
input[type=reset]
{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

input[type=button],
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=file],
input[type=month],
input[type=number],
input[type=password],
input[type=phone],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: .25rem;
	border: 0;
	border-bottom: 1px solid var(--color-input-border);
	color: inherit;
	background: rgba(0, 0, 0, .05);
	outline-color: var(--color-link-focus);
	font-family: inherit;
	transition: color .2s ease, background .2s ease, border .2s ease, box-shadow .2s ease;
}

input[type=button]:focus-visible,
input[type=color]:focus-visible,
input[type=date]:focus-visible,
input[type=datetime-local]:focus-visible,
input[type=email]:focus-visible,
input[type=file]:focus-visible,
input[type=month]:focus-visible,
input[type=number]:focus-visible,
input[type=password]:focus-visible,
input[type=phone]:focus-visible,
input[type=search]:focus-visible,
input[type=tel]:focus-visible,
input[type=text]:focus-visible,
input[type=time]:focus-visible,
input[type=url]:focus-visible,
input[type=week]:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline-color: var(--color-link-focus);
}

select { padding-right: 32px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 8.467 4.233'%3E%3Cpath d='M2.381 1.32l1.852 1.852L6.085 1.32' fill='none' stroke='%23142C6C' stroke-width='.529'/%3E%3C/svg%3E"); background-position: right center; background-repeat: no-repeat; }

p { font-size: var(--font-size); line-height: 1.45; }
p:not(:last-child) { margin-bottom: 1em; }
/*p + ul, ul + p { margin-top: -.75em; }*/

li { margin-left: 1.7rem; }
li::marker { color: var(--color-orange); }
ol:not(:last-child), ul:not(:last-child) { margin-bottom: 1rem; }

ul { list-style-type: square; line-height: 1.45; }

.blockquote:not(:last-child) { margin-bottom: 1em; }

h1, h2, h3, h4, h5, h6 { color: var(--color-red); line-height: 1.25; word-wrap: break-word; overflow-wrap: break-word; /*-webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto;*/ }

h1 { font-size: 2.25em; font-weight: 600; color: var(--color-red); }
h1:not(:last-child) { padding-bottom: 1rem; }

h2 { font-size: 1.625em; font-weight: 600; }
h1 + h2 { margin-top: -1rem; font-weight: 400; color: var(--color-orange); }
h2:not(:first-child) { padding-top: 1rem; }
h2:not(:last-child) { padding-bottom: 1rem; }

h3 { font-size: 1.25em; font-weight: 700; }
h3:not(:first-child) { padding-top: 1rem; }
h3:not(:last-child) { padding-bottom: 1rem; }

h4 { font-size: 1em; font-weight: 700; }
h4:not(:first-child) { padding-top: 1rem; }
h4:not(:last-child) { padding-bottom: 1rem; }

.image + h1, .image + h2, .image + h3, .image + h4 { padding-top: .25em; }
h1 + h2:not(:first-child), h2 + h3:not(:first-child), h3 + h4:not(:first-child) { padding-top: 0; }

picture, img { max-width: 100%; height: auto; }
picture > img { display: block; }
svg { overflow: hidden; }
main, section { text-align: left; }



/*  header  */
header { position: fixed; top: 0; left: 0; width: 100%; display: block; background: var(--color-white); z-index: 2; }
header.sticky { box-shadow: 0 0 1rem rgba(0, 0, 0, .25); }
header + * { margin-top: calc(var(--logo-height, 6rem) + 2 * calc(var(--gutter-y) * .25)); }
header .center { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; padding: calc(var(--gutter-y) * .25) var(--gutter-x); }

#logo { flex: 1 1 auto; max-width: calc(100vw - 2 * var(--gutter-x, 2rem) - 5rem); }
#logo a { float: left; }
#logo a:hover { background: none; }
#logo img { display: block; width: auto; height: var(--logo-height, 6rem); transition: height .2s ease; }
header.sticky #logo img { height: max(3rem, calc(var(--logo-height, 6rem) / 2)); }



/*  footer  */
#contact { list-style-type: none; }
#contact li { margin: 0 0 .125em 0; }

footer { font-size: 1rem; }
footer a { color: inherit; text-decoration: none; }
footer a:hover { color: inherit; text-decoration: underline; }
footer .center { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; padding: calc(var(--gutter-y) * .125) var(--gutter-x); }

#footermenu { flex: 1 0 auto; display: flex; flex-flow: row wrap; list-style-type: none; margin: 0 2rem 0 0; padding: .125rem 0; }
#footermenu li { margin: 0; padding: .125rem 0; }
#footermenu li:not(:last-child):after { content: '|'; display: inline-block; margin: 0 .75rem; opacity: .5; }



/*  classes  */
.hidden-accessibility-links, .hidden-accessibility-links:focus-visible { position: fixed; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; top: 0; left: 0; width: 100%; padding: 2rem 2rem; gap: 1rem 2rem; box-sizing: border-box; z-index: 9999; transform: translate(0, -100%); transition: transform .3s ease, box-shadow .3s ease; background: var(--color-primary); }
.hidden-accessibility-links:focus-within { transform: translate(0, 0); box-shadow: 0 0 .5rem rgba(0, 0, 0, .5); }
.hidden-accessibility-links a { padding: .5rem 1rem; text-decoration: none; border: 2px solid var(--color-white); border-radius: 2em; background: var(--color-primary); color: var(--color-white); }
.hidden-accessibility-links a:hover { background: var(--color-white); color: var(--color-primary); }

.center { position: relative; max-width: calc(var(--max-width, none) + (var(--gutter-x, 1rem) * 2)); margin: 0 auto; padding: 0 var(--gutter-x); box-sizing: border-box; text-align: left; }
.center:after { content: ''; display: block; clear: both; height: 0; }

.uppercase { text-transform: uppercase; }
.nowrap { white-space: nowrap }
.lightbox { z-index: 100; }



/*  selection  */
::selection { text-shadow: none; background: var(--color-selection); color: var(--color-white); -webkit-background-clip: unset; -webkit-text-fill-color: var(--color-white); }