/* Encorp Pacific (Canada) 2024 Site Design - Boilerplate (Primary) CSS */
/* Last Updated: 2025.11.13 ET */

/* Colours

#FFF1C1 rgb(255,241,193); RI-Yellow
#FFA300 rgb(255,163,0); RI-Orange
#0033A0	rgb(0,51,160); RI-Blue
#0E2C6D rgb(14,44,109); RI-Dark Blue
#B3C3E3 rgb(179,195,227); RI-Medium Blue
#2B4D98	rgb(43,77,152); RI-Faded Blue
#D5DFF0 rgb(213,223,240); RI-Light Blue
#242424 rgb(36,36,36); RI-Black
#6F6E78 rgb(111,110,120); RI-Grey
#F4F7FF rgb(244,247,255); RI-Plastic

#BEBEBE rgb(190,190,190); light grey
#6CABE7 rgb(108,171,231); milk blue
#E77800 rgb(231,120,0); dark orange
#50A147 rgb(80,161,71); EOLE green
#48484A rgb(72,72,74); secondary text
#7D77D1 rgb(125,119,209); MARR lavender
#444172 rgb(68,65,114); MARR dark lavender
#202E58 rgb(32,46,88); MARR dark
#BACEEC rgb(186,206,236); MARR light
#526EA3 rgb(82,110,163); MARR medium
#B1D639 rgb(177,214,57); Textiles lime

Material design shadows:
https://gist.github.com/serglo/f9f0be9a66fd6755a0bda85f9c64e85f

*/

@font-face {
	font-family: DIN;
	font-weight: 700; /* bold */
	src: url('/includes/DINWeb-Bold.woff') format('woff'),
		url('/includes/DIN-Bold.ttf');
	font-display: swap;
}

@font-face {
	font-family: DIN;
	font-weight: 500; /* medium */
	src: url('/includes/DINWeb-Medium.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: DIN;
	font-weight: 400; /* normal */
	src: url('/includes/DINWeb.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: DIN;
	font-weight: 300; /* light */
	src: url('/includes/DINWeb-Light.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'Material Symbols';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/material-symbols-outlined.woff2') format('woff2');
	font-display: swap;
}

.material-icons,
span.mat-icon,
label.mat-icon,
a.acss-addhelplink,
a.back::before,
a.prev::before,
a.next::after,
*[data-icon]::before,
a.cta.back::before,
a.cta.more::after,
a.cta.file::before,
p > a.filelink::after,
p > a[href$=".pdf"]::after,
p > a[href$=".xls"]::after,
p > a[href$=".xlsx"]::after,
p > a[href$=".doc"]::after,
p > a[href$=".docx"]::after,
p > a[href*="AA=Download"]:not(.cta)::after,
.alllink a::after,
dl.accordion dt::before,
summary::before,
#footermenu ul ul ul a::after,
div.submenu li a::before,
div.submenu ul ul a::after {
	display: inline-block;
	vertical-align: text-top;
	font-family: 'Material Symbols' !important;
	font-weight: normal !important;
	font-style: normal !important;
	/* font-size: 24px;  Preferred icon size */
	font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
	font-size: 1em;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	/* border: 1px dotted red; */

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}

span.mat-icon.big,
span.mat-icon.warning,
div.warning > span.mat-icon {
	font-size: 1.5em;
	vertical-align: middle;
}

span.mat-icon.big {
	color: rgb(0,51,160);
}

span.mat-icon.warning,
div.warning > span.mat-icon {
	color: rgb(255,163,0);
}

a.back::before {
	content: '\E166';
	vertical-align: text-top;
	margin-right: 0.5em;
}

*[data-icon]::before {
	position: relative;
	top: -0.07em;
	content: attr(data-icon) !important;
	/* vertical-align: text-top; */
	vertical-align: bottom;
	line-height: 1em;
	margin: 0;
	margin-right: 0.5em;
}

html {
	font-size: 18px;
	letter-spacing: -0.02em;
}

body,
td,
th,
input,
select,
textarea {
	font-family: DIN, sans-serif;
	font-size: 1rem;
	line-height: 1.4;
	color: rgb(36,36,36);
}

h1,
p.mainheading {
	color: rgb(0,51,160);
	font-weight: 700;
	font-size: 64px;
	line-height: 1.07;
	letter-spacing: -0.03em;
	margin-bottom: 2rem;
}

h2 {
	color: rgb(0,51,160);
	font-weight: 700;
	font-size: 48px;
	line-height: 1.07;
	letter-spacing: -0.03em;
	margin-bottom: 1.07rem;
}

h2.sectionhead,
section.featured h2:first-of-type,
section.overview h2:first-of-type {
	font-size: 64px;
}

h1:not(.sectionname) + h2 {
	margin-top: -0.5em !important;
}

h3,
/* h1 + h2, */
h2.subhead,
h1.sectionname,
p.sectionname {
	color: rgb(0,51,160);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.07;
	letter-spacing: -0.03%;
	margin-bottom: 1rem;
}

h3.special,
h1.sectionname,
p.sectionname {
	font-weight: 700;
}

h4,
h3.listheading,
h3.caption {
	color: rgb(0,51,160);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.07;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	margin-top: 3rem;
	margin-bottom: 1.07em;
}

h3.listheading {
	color: rgb(14,44,109);
}

h3.caption {
	color: rgb(36,36,36);
}

h5,
h6 {
	color: rgb(0,51,160);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.07;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 1.07rem;
}

h6 {
	color: black;
}

h1,
p.mainheading,
h2,
h3,
h4,
h5,
h6 {
	-webkit-column-break-after: avoid;
	page-break-after: avoid;
	break-after: avoid;
}

h1 + p,
p.mainheading + p,
h2 + p,
h3 + p,
h4 + p,
h5 + p,
h6 + p {
	-webkit-column-break-before: avoid;
	page-break-before: avoid;
	break-before: avoid;
}

p {
	line-height: 1.4;
	margin-bottom: 1.4em;
}

h1:first-of-type,
h2:first-of-type,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-of-type {
	margin-top: 0;
}

p + h2:first-of-type,
h2.sectionhead:not(:first-child),
article > h2,
article > h3,
article > h4 {
	margin-top: 3rem;
}

h1:not(.sectionname) + h2.subhead,
p.mainheading + h2.subhead {
	margin-top: -1.6rem;
}

ul + h2,
ul + h2:first-of-type,
ul + h3,
ul + h4,
ul + h5,
ul + h6,
table + h2:first-of-type {
	margin-top: 3.2rem;
}

article > ul,
article > ol {
	position: relative;
	/* overflow: hidden */;
}

hr + h2:first-of-type {
	margin-top: 2.1rem;
}

ins {
	color: rgb(0,153,0);
}

del {
	color: rgb(255,0,0);
	text-decoration: line-through;
}

a,
a:visited,
span.morelink,
span.returnlink {
	color: rgb(0,51,160);
	/* font-weight: 500;
	text-decoration: none; */
	text-underline-offset: 0.15em;
	transition: all 0.1s;
}

a:hover,
span.morelink:hover,
a:hover span.morelink,
span.returnlink:hover,
a:hover span.returnlink {
	color: rgb(179,195,227);
}

a:active,
span.morelink:active,
a:active span.morelink,
span.returnlink:active,
a:active span.returnlink {
	color: rgb(14,44,109);
}

a img {
	border: none;
}

a.morelink,
a.morelink:visited,
span.morelink,
a.returnlink,
a.returnlink:visited,
span.returnlink {
	display: inline-block;
	font-weight: bold !important;
	white-space: nowrap;
	margin-left: 0.5em;
}

a.morelink:hover,
a.returnlink:hover {
	text-decoration: underline;
}

a.helplink,
a.helplink:hover {
	padding-left: 24px !important;
	background-image: url('/images/encp_icon_help.gif');
	background-repeat: no-repeat;
}

p.alllink {
	text-align: center;
}

p.alllink a,
p.alllink a:visited {
	text-decoration: none;
}

p.alllink a::after {
	content: 'arrow_circle_right';
	display: inline-block;
	margin-left: 0.5em;
}

span.helplink {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url('/images/encp_icon_help.gif');
	background-repeat: no-repeat;
	cursor: pointer;
}

a.button.floatright {
	z-index: 10000;
}

a.cta.file::before {
	content: 'insert_drive_file';
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 32px;
}

main p > a.filelink::after,
main p > a[href$=".pdf"]:not(.noicon)::after,
main p > a[href$=".xls"]:not(.noicon)::after,
main p > a[href$=".xlsx"]:not(.noicon)::after,
main p > a[href$=".doc"]:not(.noicon)::after,
main p > a[href$=".docx"]:not(.noicon)::after,
main p > a[href*="AA=Download"]:not(.noicon):not(.cta)::after {
	content: 'insert_drive_file';
	display: inline-block;
	vertical-align: text-top;
	margin-left: 0.2em;
}

h3 + ul,
h3 + ol {
	margin-top: -0.25em;
}

ul,
ol {
	margin: 0 0 1.6em 0;
	padding: 0 0 0 32px;
}

ul > li,
ol > li {
	margin: 0 0 0.5em 0;
}

ul,
li > ul {
	list-style-type: disc;
}

li > ul {
	margin-top: 0.5em;
}

li > ol {
	list-style-type: lower-alpha;
}

li > ul > li,
li > ol > li {
	margin-bottom: 0;
}

dl.info {
	position: relative;
	overflow: hidden;
}

dl.info > dt {
	float: left;
	clear: left;
	width: 8em;
	padding-right: 2em;
}

dl.info > dt::after {
	content: ':';
}

dl.info > dd {
	float: left;
	width: calc(100% - 10em);
	font-weight: bold;
	margin-left: 0;
}

th,
td {
	line-height: 1.3em;
	text-align: left;
	vertical-align: top;
	padding: 0.25em 1em 0.25em 0;
}

th > *:first-child,
td > *:first-child {
	margin-top: 0;
}

th > *:last-child,
td > *:last-child {
	margin-bottom: 0;
}

blockquote {
	position: relative;
	color: rgb(14,44,109);
	font-weight: 700;
	font-size: 1.33rem;
	line-height: 1.4;
	padding: 0;
	margin: 2em 0;
}

blockquote + blockquote {
	margin-top: 4em;
}

blockquote > *:last-child {
	margin-bottom: 0;
}

mark {
	background-color: rgb(255,241,193);
}

kbd,
code {
	display: inline-block;
	background-color: rgba(0,0,0,0.07);
	color: black;
	font-family: monospace;
	font-size: 0.8em;
	letter-spacing: 0;
	padding: 0.1em 0.5em;
}

address {
	font-style: normal;
}

hr {
	border: 0;
	background: linear-gradient(to right, rgb(179,195,227) 9px, transparent 10px, transparent 12px) repeat-x left top / 12px 2px;
	height: 2px;
	clear: both;
	display: block;
	margin: 2rem auto;
}

sup {
	font-size: 0.7em;
}

h1 sup,
p.mainheading sup,
h2 sup,
h3 sup {
	vertical-align: text-top;
}

h1 sup,
p.mainheading sup {
	font-size: 0.4em;
}
h2 sup { font-size: 0.5em; }
h3 sup { font-size: 0.6em; }

::-webkit-input-placeholder,
::-moz-placeholder,
::-ms-placeholder {
	color: rgb(111,110,120);
	font-weight: 400 !important;
	letter-spacing: -0.03em;
	text-transform: none;
	opacity: 1;
}

::placeholder {
	/* Chrome quirk - selector needs to be separate to work */
	color: rgb(111,110,120);
	font-weight: 400 !important;
	letter-spacing: -0.03em;
	text-transform: none;
	opacity: 1;
}

input[type="radio"][id],
input[type="checkbox"][id] {
	display: none;
}

input[type="radio"][id] + label {
	display: inline-block;
	background: url('/images/encp_icon_unselected_blue_48px.png') no-repeat left center;
	background-size: 20px 20px;
	padding-left: 24px;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
}

input[type="radio"][id]:checked + label {
	background-image: url('/images/encp_icon_selected_blue_48px.png');
}

input[type="checkbox"][id] + label {
	display: inline-block;
	background: url('/images/encp_icon_unchecked_blue_48px.png') no-repeat left center;
	background-size: 20px 20px;
	padding-left: 24px;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
}

input[type="checkbox"][id]:checked + label {
	background-image: url('/images/encp_icon_checked_blue_48px.png');
}

input[type="checkbox"][id]:disabled + label,
input[type="radio"][id]:disabled + label {
	opacity: 0.5;
	cursor: not-allowed;
}

label + input[type="radio"][id] + label {
	margin-left: 1em;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	max-width: 100%;
	background-color: rgba(255,255,255,1);
	font-size: 1rem;
	line-height: 1.1;
	padding: 8px 12px;
	border: 1px solid rgb(111,110,120);
	border-radius: 0;
	margin-right: 1em;
}

input[type="text"].cta,
input[type="password"].cta,
input[type="email"].cta,
input[type="url"].cta {
	box-sizing: border-box;
	height: calc(1.1em + 32px);
	color: rgb(14,44,109);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.1;
	padding: 16px 24px;
	border: none !important;
	border-radius: 9999px;
	margin-bottom: 16px;
}

/* input[type="text"].cta::placeholder,
input[type="password"].cta::placeholder,
input[type="email"].cta::placeholder,
input[type="url"].cta::placeholder {
	/* Chrome is not picking up the default from boilerplate.css */
	font-weight: 400 !important;
} */

select::-ms-expand { display: none; }

input[type="text"]::-webkit-calendar-picker-indicator {
	/* Chrome issue -- hides the down-arrow on datalist boxes */
	display: none !important;
}

select {
	background-image: url('/images/encp_icon_expand-down_blue_48px.png');
	background-position: right 8px center;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	padding-right: 32px !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="file"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
select:focus,
textarea:focus {
	/* border: 2px solid rgb(80,161,71);
	padding: 7px 11px; */
	background-color: rgb(244,247,255) !important;
	outline: none;
}

a.cta,
a.cta:visited,
a.button,
a.button:visited,
a.prev,
a.prev:visited,
a.next,
a.next:visited,
span.button,
span.cta,
label.button {
	display: inline-block;
}

input[type="submit"],
input[type="button"],
button:not(.gm-svpc) { 
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	min-height: 32px;
	border: none;
}

input[type="submit"],
input[type="button"],
button:not(.gm-svpc), /* don't style Google Maps "Pegman" button */
a.cta,
a.cta:visited,
a.button,
a.button:visited,
a.prev,
a.prev:visited,
a.next,
a.next:visited,
span.button,
span.cta,
label.button {
	cursor: pointer;
	box-sizing: border-box;
	background-color: rgb(255,163,0);
	color: rgb(36,36,36) !important;
	font-family: 'DIN', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	padding: 12px 16px;
	border-radius: 8px !important;
	border: 1px solid rgb(36,36,36);
	margin-right: 12px;
	margin-bottom: 6px;
	transition: all 0.1s;
}

a.prev,
a.prev:visited {
	margin-right: 24px;
}

a.next,
a.next:visited {
	margin-right: 0;
	margin-left: 24px;
}

a.prev::before {
	content: 'keyboard_arrow_left';
	margin-right: 0.5em;
}

a.next::after {
	content: 'keyboard_arrow_right';
	margin-left: 0.5em;
}

a.button.midtext,
a.button.midtext:visited {
	padding-left: 16px;
	padding-right: 16px;
	margin-right: 6px;
	margin-left: 6px;
}

a.button.midtext[data-icon],
a.button.midtext[data-icon]:visited {
	padding-left: 10px;
}

input[type="submit"].cta,
input[type="button"].cta,
button.cta,
a.cta,
a.cta:visited,
span.cta {
	font-size: 1rem;
	line-height: 1;
	letter-spacing: -0.02em;
	padding: 16px 24px;
}

input[type="submit"].cancel,
input[type="button"].cancel,
input[type="submit"].secondary,
input[type="button"].secondary,
input[type="submit"].back,
input[type="button"].back,
button.cancel,
button.secondary,
button.back,
a.button.cancel,
a.cta.cancel,
a.cta.file,
a.secondary,
a.secondary:visited,
a.back,
a.back:visited,
a.prev,
a.prev:visited,
a.next,
a.next:visited,
span.button.cancel,
span.secondary,
label.button {
	background-color: rgb(213,223,240) !important;
	color: rgb(14,44,109) !important;
	border-color: transparent;
}

a.cta.file {
	position: relative;
	text-align: left;
	padding-left: 64px;
}

a.cta.file > small {
	display: block;
	font-weight: normal;
	margin-top: 0.5em;
}

input[type="submit"].ghost,
input[type="button"].ghost,
button.ghost,
a.ghost,
a.ghost:visited,
span.ghost {
	background-color: transparent;
	color: rgb(0,51,160) !important;
	border-color: transparent;
}

input[type="submit"].ghost:hover,
input[type="button"].ghost:hover,
button.ghost:hover,
a.ghost:hover,
span.ghost:hover {
	background-color: rgb(213,223,240) !important;
	color: rgb(14,44,109) !important;
}

a.cta.minor,
a.cta.minor:visited,
span.cta.minor {
	padding: 8px 16px;
	text-transform: none;
}

a.cta:hover,
span.cta:hover {
	box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
		0 1px 10px 0 rgba(0,0,0,0.12),
		0 2px 4px -1px rgba(0,0,0,0.20);
	outline: none;
}

input[type="submit"]:focus,
input[type="button"]:focus,
button:focus,
input[type="submit"]:hover,
input[type="button"]:hover,
button:hover,
a.cta:hover,
a.button:hover,
a.prev:hover,
a.next:hover,
span.button:hover,
span.cta:hover {
	background-color: rgb(255,163,0);
	box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
		0 1px 10px 0 rgba(0,0,0,0.12),
		0 2px 4px -1px rgba(0,0,0,0.20);
	outline: none;
}

input[type="submit"]:active,
input[type="button"]:active,
button:active,
a.cta:active,
a.button:active,
span.button:active
span.cta:active {
	background-color: rgb(231,120,0);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.07),
		0 3px 1px -2px rgba(0,0,0,0.06),
		0 1px 5px 0 rgba(0,0,0,0.10);
}

input[type="submit"]:disabled,
input[type="button"]:disabled,
button:disabled,
a.cta.disabled,
a.button.disabled,
span.button.disabled {
	background-color: rgb(240,240,240);
	color: rgb(180,180,180);
	cursor: not-allowed !important;
}

input[type="submit"].active,
input[type="button"].active,
button.active,
a.cta.active,
a.button.active,
span.button.active {
	background-color: rgb(0,51,160);
	color: white !important;
}

input[type="submit"].cancel:hover,
input[type="button"].cancel:hover,
button.cancel:hover,
a.cta.cancel:hover,
a.button.cancel:hover,
span.button.cancel:hover {
	background-color: rgb(179,195,227);
}

input[type="submit"].big,
input[type="button"].big,
button.big,
a.button.big,
a.button:visited.big,
span.button.big {
	font-size: 18px;
	line-height: 24px;
	padding: 12px 32px;
}

input[type="submit"].big > small,
input[type="button"].big > small,
button.big > small,
a.button.big > small,
a.button:visited.big > small,
span.button.big > small {
	display: block;
	font-size: 0.8em;
}

a.cta.back::before {
	content: 'keyboard_arrow_left';
	vertical-align: middle;
	font-size: 32px;
	line-height: 1rem;
	margin-left: -0.2em;
}

a.cta.more::after {
	content: 'add';
	/* vertical-align: middle; */
	margin-left: 0.2em;
	margin-right: -0.2em;
}

#map_canvas button {
	padding: default;
	border: default;
	box-shadow: none;
}

img {
	object-fit: cover;
}

img.bannerimage {
	display: block;
	margin-bottom: 1.0666rem;
}

video,
p img,
article > img,
aside img {
	max-width: 100% !important;
	height: auto;
}

iframe {
	border: none;
}

figure {
	display: table;
	margin: 1.5em auto 1em;
	border: 5px solid white;
	box-shadow: 0 0 6px rgba(0,0,0,0.4);
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

figure img {
	display: block;
}

p + figure {
	margin-top: 2.5em;
}

figcaption {
	display: table-caption;
	caption-side: bottom;
	font-weight: bold;
	font-style: italic;
	padding-top: 1px;
}

caption {
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.1em;
	text-transform: uppercase;
	text-align: left;
	padding-bottom: 8px;
}

caption > * {
	text-transform: none;
}

caption > a.adminlink,
caption > a.adminlink:visited {
	color: rgb(255,163,0) !important;
	font-size: 1rem !important;
}

p.intro,
p.announcement {
	font-weight: 400;
	font-size: 24px;
	line-height: 1.4em;
	letter-spacing: -0.02em;
}

h2 + p.intro,
h2 + p.announcement {
	margin-top: -0.5em;
}

p.description {
	font-size: 20px;
	line-height: 1.5;
}

p.announcement {
	font-style: italic;
	font-weight: 500;
}

p.legal {
	/* text-align: justify; */
}

span.bubble {
	display: inline-block;
	background-color: rgb(0,51,160);
	color: white;
	font-weight: 500;
	line-height: 1.2;
	padding: 0.5em 1em;
	border-radius: 9999px;
}

h3.legal > span:first-child {
	display: inline-block;
	width: 2.6rem;
}

ol.legal,
ol.legal-roman,
ol.legal ol {
	list-style: none;
	counter-reset: li;
	/* text-align: justify; */
	margin: 0;
	padding: 0;
}

ol.legal li,
ol.legal-roman li {
	font-weight: normal;
	margin-left: 3em;
}

ol.legal > li::before {
	content: counter(li) '.';
	counter-increment: li;
	float: left;
	margin-left: -3em;
}

ol.legal ol > li {
	margin-bottom: 1em;
}

ol.legal-roman > li::before,
ol.legal ol > li::before {
	content: '(' counter(li, lower-roman) ')';
	counter-increment: li;
	float: left;
	margin-left: -3em;
}

ol.legal a[href^='#'],
ol.legal a[href^='#']:visited {
	color: black;
}

ol.legal ul {
	padding-left: 0;
}

ol.steplist {
	counter-reset: li;
	list-style: none;
	line-height: 1.5;
	padding-left: 0;
}

ol.steplist > li {
	position: relative;
	overflow: hidden;
	padding: 0 0 1em 48px;
	margin: 0;
}

ol.steplist > li:not(:last-child) {
	background: linear-gradient(to bottom, rgb(111,110,120) 9px, transparent 10px, transparent 12px) repeat-y 12px top / 1px 12px;
}

ol.steplist > li::before {
	box-sizing: border-box;
	content: counter(li);
	counter-increment: li;
	float: left;
	min-width: 24px;
	background-color: rgb(255,241,193);
	color: rgb(36,36,36) !important;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.25;
	text-align: center;
	padding: 0.3em 0.2em 0.15em 0.2em;
	border: 1px solid rgb(111,110,120);
	margin-left: -48px;
}

@media (min-width: 961px) {

	ol.steplist > li {
		padding: 0 0 2em 120px;
	}

	ol.steplist > li:not(:last-child) {
		background-position: 30px top;
	}

	ol.steplist > li::before {
		min-width: 60px;
		font-size: 20px;
		padding: 0.25em 0.5em 0.05em 0.5em;
		margin-left: -120px;
	}

	ol.steplist.compact > li {
		padding: 0 0 1em 80px;
	}

	ol.steplist.compact > li::before {
		margin-left: -80px;
	}

}

ol.expresssteps {
	list-style: none;
	max-width: 44em;
	margin: 1em 0;
	padding: 0;
}

ol.expresssteps li {
	background-position: left top;
	background-repeat: no-repeat;
	padding: 0 0 0 60px;
	margin: 1em auto;
}

ol.expresssteps li:nth-child(1) { background-image: url('/images/encp_icon_express-step-1.png'); background-position: 0 0; min-height: 35px; }
ol.expresssteps li:nth-child(2) { background-image: url('/images/encp_icon_express-step-2.png'); background-position: 3px 0; min-height: 39px; }
ol.expresssteps li:nth-child(3) { background-image: url('/images/encp_icon_express-step-3.png'); background-position: 8px 0; min-height: 31px; }
ol.expresssteps li:nth-child(4) { background-image: url('/images/encp_icon_express-step-4.png'); background-position: 10px 0; min-height: 43px; }
ol.expresssteps li:nth-child(5) { background-image: url('/images/encp_icon_express-step-5.png'); background-position: 3px 0; min-height: 40px; }
ol.expresssteps li:nth-child(6) { background-image: url('/images/encp_icon_express-step-6.png'); background-position: 5px 0; min-height: 31px; }
ol.expresssteps li:nth-child(7) { background-image: url('/images/encp_icon_express-step-7.png'); background-position: 2px 0; min-height: 32px; }

ul.options {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 1em auto;
}

ul.options > li {
	display: inline-block;
	vertical-align: top;
	width: 30%;
	font-weight: normal;
	text-align: center;
	margin: 0.5em 1%;
}

@media (max-width: 960px) {
	ul.options > li {
		width: 100%;
		margin: 0.5em 0;
	}
}

ul.compact,
ol.compact {
	margin-left: 0;
	padding-left: 15px;
}

ul.minor li,
ol.minor li {
	margin-bottom: 0;
}

ul.tabbar {
	position: relative;
	overflow: hidden;
	list-style: none;
	background-color: rgb(14,44,109);
	padding: 0;
	margin: 1rem 0 2rem;
}

ul.tabbar > li {
	float: left;
	font-size: 1.2rem;
	padding: 0;
	margin: 0;
}

ul.tabbar > li > a,
ul.tabbar > li > a:visited {
	display: block;
	background-color: transparent;
	color: rgb(244,247,255);
	text-align: center;
	text-decoration: none;
	padding: 0.5em 1em;
	transition: all 0.1s;
}

ul.tabbar > li.active > a,
ul.tabbar > li.active > a:visited {
	background-color: rgb(255,163,0);
	color: rgb(36,36,36);
}

ul.tabbar > li > a:hover {
	background-color: rgb(43,77,152);
	color: white !important;
}

nav.pagination {
	position: relative;
	text-align: center;
	margin: 3rem 0 2rem;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

nav.pagination ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

nav.pagination ol > li {
	display: inline-block;
	padding: 0;
	margin: 0 0.25rem 0.5rem;
}

nav.pagination ol > li > a,
nav.pagination ol > li > a:visited {
	display: inline-block;
	color: rgb(36,36,36);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	padding: 0.5em 0.7em;
}

nav.pagination ol > li.active > a,
nav.pagination ol > li > a:hover {
	background-color: rgb(255,163,0);
}

nav.pagination ol > li.active > a:hover {
	background-color: rgb(255,163,0);
	box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
		0 1px 10px 0 rgba(0,0,0,0.12),
		0 2px 4px -1px rgba(0,0,0,0.20);
	outline: none;
}

nav.pagination a.prev,
nav.pagination a.next {
	flex: 0 0 auto;
}

ul.thumbnails {
	list-style: none;
	margin: 1em auto;
	padding: 0;
	margin: 1em -10px;
}

ul.thumbnails > li {
	display: inline-block;
	vertical-align: middle;
	width: 120px;
	margin: 10px;
}

ul.thumbnails > li img {
	display: block;
	max-width: 110px;
	max-height: 110px;
	margin: 0 auto;
	border: 5px solid white;
	box-shadow: 0 0 6px rgba(0,0,0,0.4);
}

ul.identitycards {
	list-style: none;
	padding: 0;
	margin: 1em -1em 1em 0;
}

ul.identitycards > li {
	display: inline-block;
	position: relative;
	overflow: hidden;
	vertical-align: top;
	width: 162px;
	min-height: 100px;
	padding: 0 0 0 110px;
	margin: 0 24px 16px 0;
}

ul.identitycards > li h4,
ul.identitycards > li h5 {
	color: black;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.3;
	margin: 0.5em 0;
}

ul.identitycards > li p {
	font-weight: normal;
	line-height: 1.3;
	margin: 0;
}

ul.identitycards > li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 9999px;
}

ul.identitycards > li h4 > img,
ul.identitycards > li h5 > img {
	margin-top: -0.5em;
}

ul.nametiles {
	list-style: none;
	padding: 0;
	margin: 1em auto;
}

ul.nametiles > li {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 20em;
	background-color: rgb(240,240,240);
	padding: 0.2em 0.5em;
	border-radius: 8px;
	margin: 0 2em 1em 0;
}

@media (max-width: 640px) {
	ul.nametiles > li {
		width: 100%;
	}
}

ul.infocards {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 1em -2em 1em 0;
	display: flex;
	flex-wrap: wrap;
}

ul.infocards > li {
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: calc(33% - 2em);
	vertical-align: top;
	background-color: rgb(240,240,240);
	padding: 0.2em 0.5em;
	border-radius: 8px;
	margin-bottom: 2em;
	margin: 0 2em 2em 0;
}

ul.infocards > li > p:first-child {
	margin-top: 0.3em;
}

ul.infocards > li > p:last-child {
	margin-bottom: 0.8em;
}

ul.infocards > li > img:first-child {
	display: block;
	width: calc(100% + 1em);
	height: auto;
	margin: -0.2em -0.5em 1em;
}

@media (min-width: 1200px) {
	section.hideadsmobile ul.infocards > li {
		width: calc(25% - 2em);
	}
}

@media (max-width: 1200px) {
	ul.infocards > li {
		width: calc(50% - 2em);
	}
	section.hideadsmobile ul.infocards > li {
		width: calc(33% - 2em);
	}
}

@media (max-width: 860px) {
	section.hideadsmobile ul.infocards > li {
		width: calc(50% - 2em);
	}
}

@media (min-width: 640px) and (max-width: 860px) {
	section.withsidebar ul.infocards {
		margin-right: 0 !important;
	}
	section.withsidebar ul.infocards > li {
		width: 100% !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 480px) {
	ul.infocards {
		margin-right: 0 !important;
	}
	ul.infocards > li {
		width: 100% !important;
		margin-right: 0 !important;
	}
}

ul.photolist {
	list-style: none;
	padding: 0;
	margin: 2em 0;
}

ul.photolist > li {
	display: block;
	position: relative;
	overflow: hidden;
	padding: 0;
	margin: 0 0 1em 0;
}

ul.photolist > li > * {
	position: relative;
	overflow: hidden;
	margin-top: 0;
	margin-bottom: 1rem !important;
}

ul.photolist > li img {
	max-width: 45vw;
	height: auto;
	float: left;
	margin-right: 2rem;
}

ul.photolist > li p {
	font-weight: normal;
}

@media (max-width: 640px) {
	
	ul.photolist > li img {
		max-width: none;
		float: none;
		display: block;
		margin-right: auto;
	}

}

ul.iconlist {
	list-style: none;
	padding: 0;
	margin: 1em 0;
}

ul.iconlist > li {
	display: block;
	font-weight: normal;
	line-height: 1.2;
	padding: 0.8em 0 0 64px;
	margin: 0 0 1em 0;
}

ul.iconlist > li > img:first-child {
	width: 48px;
	height: auto;
	height: auto;
	float: left;
	margin: -0.8em 0 0 -64px;
}

ul.iconlist.horizontal {
	text-align: center;
}

ul.iconlist.horizontal > li {
	display: inline-block;
	vertical-align: top;
	max-width: 20em;
	text-align: left;
	margin-left: 2em;
	margin-right: 2em;
}

dl.iconlist {
	line-height: 1.5;
}

dl.iconlist > dt {
	font-weight: 700;
	padding: 0 0 0.5em 48px;
	margin: 0;
}

dl.iconlist > dt::before {
	box-sizing: border-box;
	float: left;
	min-width: 24px;
	background-color: rgb(255,241,193);
	color: rgb(36,36,36) !important;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.25;
	text-align: center;
	padding: 0.3em 0.2em 0.3em 0.2em;
	border: 1px solid rgb(111,110,120);
	margin-left: -48px;
}

dl.iconlist > dd {
	padding: 0 0 1em 48px;
	margin: 0;
}

@media (min-width: 961px) {

	dl.iconlist > dt {
		padding: 0 0 0.5em 120px;
	}

	dl.iconlist > dt::before {
		min-width: 60px;
		font-size: 20px;
		padding: 0.25em 0.5em 0.25em 0.5em;
		margin-left: -120px;
	}

	dl.iconlist > dd {
		padding: 0 0 2em 120px;
	}

}

dl.accordion {
	position: relative;
	overflow: hidden;
	max-width: 58rem;
}

dl.accordion dt {
	position: relative;
	padding: 0 0 12px 48px;
	margin-bottom: 8px;
}

dl.accordion dd {
	padding: 0 0 2.1333rem 48px;
	margin: 0;
}

dl.accordion dt,
dl.accordion dt > h3,
dl.accordion dt > h4 {
	color: rgb(0,51,160);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
}

dl.accordion dt > h3,
dl.accordion dt > h4 {
	margin: 0;
}

dl.accordion dt::before {
	content: 'info';
	position: absolute;
	top: -2px;
	left: 16px;
	color: rgb(255,163,0);
	font-size: 24px;
}

dl.accordion.faqs dt::before {
	content: 'help' !important;
}

dl.accordion.compact dt {
	padding: 0 0 8px 36px;
	margin-bottom: 4px;
}

dl.accordion.compact dt::before {
	top: 0;
	font-size: 16px;
}

dl.accordion.compact dt,
dl.accordion.compact dt > h3,
dl.accordion.compact dt > h4 {
	font-size: 14px;
}

dl.accordion.compact dd {
	padding-left: 36px;
}

@media (min-width: 960px) {

	dl.accordion.twocol {
		columns: 2;
	}

	dl.accordion.twocol dt {
		/* break-after: avoid-column; */
	}

}

dl.accordion dt.ui-accordion-header {
	cursor: pointer;
}

dl.accordion dt.ui-accordion-header:hover,
dl.accordion dt.ui-accordion-header:hover > h3,
dl.accordion dt.ui-accordion-header:hover > h4 {
	color: rgb(179,195,227);
}

dl.accordion dt.ui-accordion-header::before {
	content: 'add_circle';
}

dl.accordion dt.ui-accordion-header.ui-accordion-header-active::before {
	content: 'remove_circle';
}

dl.accordion dt > p {
	color: rgb(36,36,36) !important;
	font-weight: normal !important;
	font-size: 1rem !important;
}

dl.accordion dt > p:last-child {
	margin-bottom: 0;
}

hr + dl {
	margin-top: 2em;
}

/* HTML details and summary elements for native accordions */

summary {
	position: relative;
	list-style: none;
	width: fit-content;
	color: rgb(0,51,160);
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.3;
	margin-bottom: 0.5em;
	cursor: s-resize;
}

summary::-webkit-details-marker {
	display: none;
}

summary:hover {
	color: rgb(179,195,227);
	font-weight: 500;
}

summary::before {
	content: 'add_circle';
	position: absolute;
	top: -2px;
	left: -40px;
	color: rgb(255,163,0);
	font-size: 24px;
}

summary > small {
	display: block;
	color: rgb(36,36,36);
	font-size: 1rem;
	font-weight: 400;
}

details {
	padding: 0.5em 1em 0 48px;
	transition: background-color 0.2s;
}

details[open] {
	background-color: rgb(244,247,255);
	padding-bottom: 0.25em;
	margin-bottom: 0.5em;
	border-radius: 8px;
}

details[open] > summary {
	margin-bottom: 1em;
	cursor: n-resize;
}

details[open] > summary::before {
	content: 'remove_circle';
}

details.faq > summary::before {
	content: 'help';
}

/* Tables */

table {
	box-sizing: border-box;
}

table[style*="border"] td,
table[style*="border"] th {
	padding: 0.25em 0.5em;
}

td > img {
	max-width: 100%;
	height: auto;
}

table.grid {
	border-collapse: collapse;
	border-radius: 4px;
	margin-bottom: 2em;
}

table.grid td + th {
	padding-left: 2em;
}

ul + table.grid,
ol + table.grid {
	margin-top: 2em;
}

table.grid thead th {
	background-color: rgb(213,223,240);
	vertical-align: middle;
	padding: 0.7em 1em;
}

table.grid td,
table.grid tbody th {
	padding: 0.5em 1em;
}

table.grid tbody tr {
	border-left: 1px solid rgb(217,220,227);
	border-right: 1px solid rgb(217,220,227);
	border-bottom: 1px solid rgb(217,220,227);
}

table.grid tbody:first-child tr,
table.grid caption + tbody tr {
	border-top: 1px solid rgb(217,220,227);
}

table.grid th p,
table.grid td p {
	margin-top: 0;
	margin-bottom: 0.5em;
}

table.grid th ul,
table.grid td ul {
	margin: 0 0 0.5em 0;
	padding-left: 0;
}

table.grid th ul li,
table.grid td ul li {
	padding-left: 0;
	margin-left: 1.5em;
}

table.grid th h2,
table.grid td ul li {
	margin-bottom: 0;
}

table.grid th h3 {
	margin-right: 2em;
	line-height: 120%;
}

table.grid td h3,
table.reporting td h3 {
	margin-bottom: 0.5em;
}

table.vcenter td {
	vertical-align: middle;
}

table.stats {
	border-bottom: 3px solid rgb(220,220,220);
	margin-top: 1em;
	margin-bottom: 1.5em;
}

table.stats td {
	font-size: 11px;
	line-height: 110%;
	padding: 1em 0.5em;
}

table.stats th {
	font-size: 11px;
	line-height: 110%;
	padding: 0.5em;
	text-align: left;
}

table.stats td.num {
	text-align: right
}

table.stats th.num {
	text-align: center;
}

table.stats tbody th {
	color: rgb(0,53,173);
}

table.stats tr + tr td,
table.stats tr + tr th {
	padding-top: 0;
}

table.stats tr.newsect td,
table.stats tr.newsect th {
	border-top: 3px solid rgb(220,220,220);
	padding-top: 1em;
}

table.reporting tr.newsect td,
table.reporting tr.newsect th {
	border-top: 1em solid white;
}

table.reporting td.datarowodd,
table.reporting td.dataroweven {
	padding-left: 0.5em;
}

table.reporting td.num input {
	text-align: right;
}

table.reporting th.total {
	border-top: 3px solid rgb(220,220,220);
}

table.regform {
}

table.regform th {
	line-height: 110%;
}

table.regform th h2,
table.regform th h3,
table.regform th h4 {
	margin-top: 0.75em;
	margin-bottom: 0.25em;
}

table.regform + h2,
table.regform + h3 {
	margin-top: 1em;
}

table.regform tr.alert td {
	color: red;
}

table.regform tr.required th::before {
	content: '\02666';
	float: right;
	margin-left: 1em;
}

@media (max-width: 960px) {

	table.regform,
	table.regform tr,
	table.regform th,
	table.regform td {
		display: block;
		max-width: calc(100vw - 64px);
	}

	table.regform th,
	table.regform td {
		padding-left: 0;
		padding-right: 0;
	}

	table.regform th:first-child {
		padding-top: 1em;
	}

}

@media (max-width: 360px) {

	table.regform,
	table.regform tr,
	table.regform th,
	table.regform td {
		display: block;
		max-width: calc(100vw - 48px);
	}

}

table.minical {
	display: inline-block;
	vertical-align: top;
	border-spacing: 1px;
	margin: 4px 4px 8px;
}

table.minical.minor,
table.minical.minor td {
	font-size: 0.8rem;
}

table.minical td {
	background-color: rgb(244,247,255);
	padding: 0.2em 0.5em;
}

table.minical td.weekend {
	background-color: rgb(213,223,240);
}

table.minical td.buffer {
	background-color: transparent;
}

table.minical td.active {
	background-color: rgba(255,163,0,0.3);
}

table.minical td.today {
	border: 2px solid rgb(0,170,0);
}

table.gallery thead th {
	text-align: center;
}

table.gallery td {
	background-color: white;
	vertical-align: middle;
	text-align: center;
	border: 3px solid rgb(220,220,220);
	padding: 0.5em 1em;
}

table.gallery div.caption {
	font-size: 120%;
	margin-top: 0.5em;
}

table.sectorlist td,
table.sectorlist th {
	text-align: center;
}

table.enclosed {
	border: 3px solid rgb(0,53,173);
	border-collapse: collapse;
}

table.enclosed th {
	background-color: rgb(255,159,0);
	color: white;
	border: 1px solid rgb(0,53,173);
	padding: 0.25em 0.5em;
}

table.enclosed td {
	border: 1px solid rgb(0,53,173);
	padding: 0.25em 0.5em;
}

table.dense td,
table.dense th  {
	font-size: 80% !important;
	line-height: 140% !important;
}

table.center td,
table.center th {
	text-align: center;
}

table.datalist {
	margin-bottom: 2em;
	border-spacing: 0;
}

table.datalist th {
	vertical-align: middle;
	background-color: rgb(213,223,240);
	color: black;
	font-weight: bold;
	line-height: 1.2;
	padding: 0.5em;
	border: 1px solid white;
}

table.datalist th > a,
table.datalist th > a:visited {
	font-weight: bold;
}

table.datalist td {
	line-height: 1.2;
	padding: 0.25em 0.5em;
	border: 1px solid white;
}

table.datalist tbody tr:nth-child(odd) td {
	background-color: rgba(255,255,255,0.5);
}

table.datalist tbody tr:nth-child(even) td {
	background-color: rgba(213,223,240,0.5);
}

table.datalist tbody tr.highlight:nth-child(odd) td {
	background-color: rgba(255,255,204,0.4);
}

table.datalist tbody tr.highlight:nth-child(even) td {
	background-color: rgba(255,255,204,0.6);
}

table.datalist tfoot td,
table.datalist tr.totals td,
table.datalist td.total {
	background-color: transparent !important;
	font-weight: bold;
	border-top: 1px solid rgb(153,153,153);
}

table.datalist td.sectionhead {
	padding-left: 0;
	padding-top: 1em;
	font-size: 13pt;
	font-weight: bold;
	color: rgb(255,140,0);
	background-color: transparent !important;
}

table.datalist tr.sect td {
	padding-top: 1em;
}

table.datalist tr.alert td {
	color: red;
}

table.datalist th.hzsep,
table.datalist td.hzsep {
	border-left: 6px solid white;
}

table.datalist td.note {
	font-size: 80%;
}

table.datalist + h3 {
	margin-top: 1.5em;
}

table.sortable th.header {
	cursor: pointer;
}

table.sortable th.headerSortDown.filtered::after {
	content: '\25BC\25C8';
	margin-left: 0.4em;
	margin-right: -0.2em;
}

table.sortable th.headerSortUp.filtered::after {
	content: '\25B2\25C8';
	margin-left: 0.4em;
	margin-right: -0.2em;
}

table.sortable th.headerSortDown::after {
	content: '\25BC';
	margin-left: 0.4em;
	margin-right: -0.2em;
}

table.sortable th.headerSortUp::after {
	content: '\25B2';
	margin-left: 0.4em;
	margin-right: -0.2em;
}

table.sortable th.filtered::after {
	content: '\25C8';
	margin-left: 0.4em;
	margin-right: -0.2em;
}

td.warning {
	color: rgb(175,93,0);
}

div.leftcolumn {
	position: relative;
	overflow: hidden;
	width: 340px;
	float: left;
}

div.rightcolumn {
	position: relative;
	overflow: hidden;
	width: 340px;
	float: right;
}

div.shortcut {
	font-size: 85%;
	text-align: center;
	width: 1.2em;
	float: left;
	margin: 0 2px;
	opacity: 0.6;
	border: 1px solid gray;
}

div.row {
	position: relative;
	overflow: hidden;
	clear: both;
}

div.notice {
	width: fit-content;
	position: relative;
	overflow: hidden;
	border: 6px solid rgb(213,223,240);
	padding: 1em;
	margin: 1em 0;
}

div.warning {
	width: fit-content;
	position: relative;
	overflow: hidden;
	border: 6px solid rgb(255,159,0);
	padding: 1em;
	margin: 1em 0;
}

div.warning.icon {
	background-image: url('/images/fcicons/exclamation.png');
	background-repeat: no-repeat;
	background-position: 1em 1em;
	padding-left: 60px;
}

div.notice p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

div.notice *:first-child,
div.warning *:first-child {
	margin-top: 0 !important;
}

div.notice *:last-child,
div.warning *:last-child {
	margin-bottom: 0;
}

div.warning p {
	line-height: 1.3;
	margin-bottom: 0.5em;
}

div.warning p + ul,
div.warning p + ol {
	margin-top: 0.5em;
}

div.warning + form {
	margin-top: 2em;
}

div.placeholder {
	border: 1px dashed rgb(213,223,240);
	padding: 0.5em 1em;
	margin: 1em auto;
}

a > svg.mat-icon path {
	fill: rgb(0,51,160);
}

a:hover > svg.mat-icon path {
	fill: rgb(255,163,0);
}

a:active > svg.mat-icon path {
	fill: rgb(231,120,0);
}

.nowrap {
	white-space: nowrap !important;
}

.note {
	font-size: 80%;
}

.alert {
	color: red;
}

.bold {
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.big {
	font-size: 120%;
}

.buttonbar {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.alertbox {
	background-color: rgb(255,255,200);
	padding: 0.5em 1em;
	margin: 1em auto;
	border: 3px solid red;
	border-radius: 8px;
}

.disabled {
	cursor: not-allowed;
	opacity: 0.6;
	pointer-events: none;
}

.highlight {
	color: black;
	background-color: rgb(255,241,193);
	padding: 0.5em 1em;
}

div.highlight {
	position: relative;
	overflow: hidden;
	margin-bottom: 1.5em;
}

p.highlight {
	position: relative;
	overflow: hidden;
}

p.highlight.announcement {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

p.highlight.announcement + h2,
p.highlight.announcement + h3 {
	margin-top: 3rem;
}

div.highlight h2.subhead {
	padding: 0.2em 0 0.2em 0;
	border-color: rgb(14,49,109);
}

.highlighter {
	background-color: rgb(255,241,193);
}

.infobox {
	position: relative;
	overflow: hidden;
	background-color: rgb(255,241,193);
	color: rgb(36,36,36);
	font-size: 1rem;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: -0.02em;
	padding: 12px 16px;
}

.infobox[data-icon] {
	padding: 12px 16px 12px 64px;
}

.infobox::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 16px;
	font-size: 32px;
}

h4.infobox {
	color: rgb(36,36,36);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: -0.02em;
}

.sect {
	margin-top: 1em !important;
}

.inline {
	display: inline-block;
}

.iframe-container-16x9 {
	position: relative;
	overflow: hidden;
	background: rgb(240,240,240);
	width: 100%;
	padding-top: 56.25%;
}

.iframe-container-16x9 iframe {
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
	border: 0;
}

th.sect,
td.sect {
	margin-top: 0;
	padding-top: 1em;
}

.num {
	text-align: right;
}

.newsect {
	margin-top: 2.16rem !important;
}

h2.newsect {
	margin-top: 3.2rem !important;
}

.lastsect {
	margin-bottom: 2em;
}

.center,
.textcenter {
	text-align: center;
}

.textright {
	text-align: right;
}

.blockcenter {
	margin-left: auto;
	margin-right: auto;
}

.flushtop {
	margin-top: 0;
}

.floatleft,
.float-left {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
	z-index: 300;
}

.floatright,
.float-right {
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
	z-index: 300;
}

.clearleft {
	clear: left;
}

.clearright {
	clear: right;
}

.clearboth {
	clear: both;
}

.verttop {
	display: inline-block;
	vertical-align: top;
}

.verttexttop {
	display: inline-block;
	vertical-align: text-top;
}

.vertmiddle {
	display: inline-block;
	vertical-align: middle;
}

.flexmiddle {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	margin: 2em 0;
}

.flexmiddle > img {
	max-width: 50%;
	height: auto;
}

.flexmiddle > * + * {
	margin-left: 2em;
}

.nowrap {
	white-space: nowrap;
}

.indented {
	margin-left: 2em;
}

.inactive {
	color: rgb(102,102,102) !important;
	font-style: italic !important;
}

.twocolumn {
	column-count: 2;
}

.threecolumn {
	column-count: 3;
}

.fourcolumn {
	column-count: 4;
}

.galleryitem {
	background-color: rgb(240,240,240);
	border: 1px solid rgb(0,53,173);
	padding: 10px;
	margin: 0 10px 10px 0;
	float: left;
}

.galleryitem .caption {
	text-align: center;
	font-weight: bold;
	margin-top: 0.5em;
}

.fancybox-nav {
	width: 60px !important;
}

.fancybox-nav span {
	visibility: visible !important;
	opacity: 0.5 !important;
}

.fancybox-nav:hover span {
	opacity: 1 !important;
}

.fancybox-next {
	right: -60px !important;
}

.fancybox-prev {
	left: -60px !important;
}

section.details {
	background-color: rgb(36,107,200);
	color: white;
	padding: 2rem 3rem;
	margin-left: -3rem;
	margin-right: -3rem;
	margin-bottom: 3rem;
}

section.details > *:last-child {
	margin-bottom: 0 !important;
}

/* Navigation lists */

ul.sectionnav {
	position: relative;
	list-style: none;
	margin: 1em 0;
	padding: 0;
}

ul.sectionnav + ul.sectionnav {
	margin-top: 32px;
}

ul.sectionnav li {
	position: relative;
	padding: 0;
	margin: 0;
}

ul.sectionnav li > a,
ul.sectionnav li > a:visited {
	display: block;
	padding: 12px;
}

ul.sectionnav li > a.inactive,
ul.sectionnav li > a.inactive:visited {
	opacity: 0.5;
}

ul.sectionnav li > a.inactive::before,
ul.sectionnav li > a.inactive:visited::before {
	content: '\20E0';
	display: inline-block;
	position: relative;
	top: -0.2em;
	font-style: normal;
	margin-right: 0.5em;
}

ul.sectionnav li.heading {
	color: black;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.1em;
}

ul.sectionnav li.subheading {
	color: rgb(36,36,36);
	font-size: 1rem;
	line-height: 1.1em;
	text-transform: uppercase;
}

ul.sectionnav + h2,
ul.sectionnav + h3 {
	margin-top: 1em;
}

ul.sectionnav > li ul {
	list-style: none;
	position: absolute;
	left: 320px;
	top: -16px;
	width: 320px;
	background: white;
	text-align: left;
	padding: 0;
	margin: 16px 0 0 0;
	z-index: 8005;
	border-radius: 6px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
	visibility: hidden;
	transform-origin: left top;
	transform: scale(0.1,1);
	transition: all 0.3s;
}

ul.sectionnav > li > ul li {
	position: relative;
	padding: 0;
	margin: 0;
}

ul.sectionnav > li > ul li:first-child {
	border-radius: 8px 8px 0 0;
}

ul.sectionnav > li > ul li:last-child {
	border-radius: 0 0 8px 8px;
}

ul.sectionnav > li:hover > ul,
ul.sectionnav > li > ul > li:hover ul {
	visibility: visible;
	transform: scale(1,1);
}

ul.sectionnav > li > ul a,
ul.sectionnav > li > ul a:visited {
	display: block;
	text-decoration: none;
	padding-top: 6px;
	padding-bottom: 6px;
}

ul.sectionnav span.more {
	position: absolute;
	top: 8px;
	right: 0;
	width: 32px;
	color: rgb(0,51,160);
	font-size: 18px;
	line-height: 32px;
	text-align: center;
	border-left: 1px solid rgb(217,217,217);
}

ul.sectionnav li:hover > span.more {
	color: rgb(179,195,227);
}

aside ul.sectionnav > li ul {
	left: auto;
	right: 100%;
	top: 8px;
	transform-origin: right top;
	transform: scale(0.1,1) translateY(-40%);
}

aside ul.sectionnav > li:hover > ul {
	transform: scale(1,1) translateY(-40%);
}

aside ul.sectionnav span.more {
	transform: scaleX(-1);
	border-right: 1px solid rgb(217,217,217);
	border-left: none;
}

/* Subnav (button links) */

ul.subnav {
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.subnav + ul.subnav {
	margin-top: 0.5em;
}

ul.subnav li {
	display: inline-block;
	padding: 0;
	margin: 0 28px 16px 0;
}

ul.subnav li a,
ul.subnav li a:visited {
	box-sizing: border-box;
	display: block;
	background: white;
	font-weight: 500;
	line-height: 1.0666;
	text-transform: uppercase;
	text-decoration: none;
	padding: 1.0666em 2.1333em 1.0666em;
	border-radius: 1.6em;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.07),
		0 3px 1px -2px rgba(0,0,0,0.06),
		0 1px 5px 0 rgba(0,0,0,0.10);
	transition: all 0.1s;
}

ul.subnav li a:hover {
	color: white;
	background-color: rgb(255,163,0);
	box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
		0 1px 10px 0 rgba(0,0,0,0.12),
		0 2px 4px -1px rgba(0,0,0,0.20);
}

ul.subnav li a:active {
	color: white;
	background-color: rgb(231,120,0);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.07),
		0 3px 1px -2px rgba(0,0,0,0.06),
		0 1px 5px 0 rgba(0,0,0,0.10);
}

ul.subnav li span.optremove {
	position: absolute;
	left: -0.5em;
	z-index: 3000;
	background-color: rgb(255,159,0);
	padding: 0.6em 0.3em 0.4em;
	opacity: 0;
	cursor: pointer;
	transition: opacity 0.3s;
}

ul.subnav li:hover span.optremove {
	opacity: 1;
}

/* Child page navigation */

ul.childnav {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 32px 0;
	display: grid;
	gap: 24px;
	/* background-color: rgba(0,0,0,0.1); */
	/* border: 1px dashed red; */
}

ul.childnav + ul.childnav {
	background: linear-gradient(to right, rgb(179,195,227) 9px, transparent 10px, transparent 12px) repeat-x left top / 12px 2px;
	padding-top: 60px;
	margin-top: 60px;
}

ul.childnav > li {
	position: relative;
	margin: 0;
}

a.iconbutton,
a.iconbutton:visited,
ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > a,
ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > a:visited,
ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > div.nolink {
	box-sizing: border-box;
	position: relative;
	background-color: rgb(43,77,152);
	color: white !important;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.25em;
	text-decoration: none;
	padding: 20px 24px;
	border-radius: 8px;
	display: flex;
	flex-direction: row;
	align-items: center;
}

a.iconbutton > span.mat-icon,
ul.childnav > li:not(.featured) span.mat-icon {
	position: relative;
	vertical-align: middle;
	display: inline-block;
	font-size: 40px;
	margin: 4px 20px 4px 0;
}

a.iconbutton,
a.iconbutton:visited {
	display: inline-flex;
	padding-right: 2em;
	margin: 0 0.5rem 1rem 0;
}

ul.childnav > li.featured > a,
ul.childnav > li.featured > a:visited,
ul.childnav > li.featured > div.nolink,
ul.childnav > li.thumbnail > a,
ul.childnav > li.thumbnail > a:visited {
	box-sizing: border-box;
	position: relative;
	display: block;
	height: 100%;
	background-color: rgb(244,247,255);
	color: rgb(36,36,36);
	text-decoration: none;
	padding: 32px;
	border: 1px solid rgb(179,195,227);
	border-radius: 8px;
	transition: all 0.2s;
}

ul.childnav > li.thumbnail > a,
ul.childnav > li.thumbnail > a:visited {
	min-width: 450px;
	padding: 24px;
}

ul.childnav > li.featured > a:hover,
ul.childnav > li.thumbnail > a:hover {
	box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
		0 1px 10px 0 rgba(0,0,0,0.12),
		0 2px 4px -1px rgba(0,0,0,0.20);
	outline: none;
}

ul.childnav > li.featured > a:active {
	color: rgb(36,36,36);
	background-color: rgb(213,223,240);
}

ul.childnav > li.featured > a::after {
	display: none;
}

ul.childnav h2,
ul.childnav h3,
ul.childnav div.headline {
	color: rgb(14,44,109);
	font-weight: 500;
	font-size: 32px;
}

ul.childnav > li .adminlink {
	position: absolute;
	right: 0;
	opacity: 0;
	transition: opacity 0.1s;
}

ul.childnav > li:hover .adminlink {
	opacity: 1;
}

ul.childnav a[href*="AA=Download"]::after {
	display: none!
}

li.featured span.mat-icon {
	display: block;
	color: rgb(14,44,109);
	font-size: 56px;
	line-height: 1;
	margin-bottom: 16px;
	/* z-index: 801; */
}

li.featured img.linkicon {
	display: block;
	max-height: 56px !important;
	/* max-width: 56px !important; */
	width: auto;
	object-fit: contain;
	object-position: left center;
	margin-bottom: 16px;
	/* border: 1px dashed red; */
}

li.featured div.thumbnail {
	position: absolute;
	top: 12px;
	left: 0;
	width: 96px;
	height: 96px;
	background-size: cover;
	background-position: center center;
	border-radius: 48px;
	margin-right: calc(100% - 80px);
}

li.thumbnail img.thumbnail,
li.thumbnail img.linkicon {
	width: 174px;
	height: 174px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 8px;
	margin-right: 40px;
	object-fit: cover;
}

li.thumbnail div.headline {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 174px - 46px);
	color: rgb(14,44,109);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.07;
	letter-spacing: -0.03em;
}

li.featured.no-teaser span.mat-icon {
	top: 28px;
}

li.featured h2,
li.featured h3 {
	margin-bottom: 0.3rem;
}

li.featured > a:hover h2,
li.featured > a:hover h3,
li.featured > a:hover div.teaser {
	color: rgb(0,51,160);
}

li.featured div.teaser {
	font-weight: normal;
}

li.featured small.linkstatus,
li.featured input {
	position: absolute;
	margin-top: 5px;
	margin-left: 5px;
	z-index: 300;
}

/* li.featured a.expiredlink {
	background-color: rgb(210,210,210);
	color: white;
	font-family: DIN, sans-serif;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.1em;
	text-transform: uppercase;
	text-decoration: none;
	float: left;
	padding: 0.8em 0.8em 0.6em;
	margin-bottom: 1em;
	cursor: not-allowed;
} */

li div.expiredreason {
	position: relative;
	font-size: 80%;
	font-style: italic;
	margin-bottom: 0.5em;
	z-index: 10000;
}

li.featured > a > *:last-child {
	margin-bottom: 0;
}

li.featured > a.filelink::after,
li.featured > a[href$=".pdf"]::after,
li.featured > a[href$=".xls"]::after,
li.featured > a[href$=".xlsx"]::after,
li.featured > a[href$=".doc"]::after,
li.featured > a[href$=".docx"]::after,
li.featured > a[href*="AA=Download"]::after {
	position: absolute !important;
	bottom: 16px;
	right: 16px;
}

@media (min-width: 1001px) {

	ul.childnav.thirds,
	ul.childnav.cards {
		grid-template-columns: repeat(auto-fill, minmax(calc(33% - 24px), 1fr));
	}	

}

@media (min-width: 721px) and (max-width: 1000px) {

	ul.childnav.thirds,
	ul.childnav.cards,
	ul.bloglist {
		grid-template-columns: repeat(auto-fill, minmax(calc(50% - 24px), 1fr));
	}	

}

@media (max-width: 1000px) {

	ul.childnav h2,
	ul.childnav h3,
	ul.childnav div.headline {
		font-size: 24px;
	}

	ul.childnav > li.thumbnail > a,
	ul.childnav > li.thumbnail > a:visited {
		min-width: 320px;
		padding: 20px;
	}

	li.featured span.mat-icon {
		font-size: 40px;
	}

	li.featured img.linkicon {
		max-height: 40px !important;
		/* max-width: 40px !important; */
	}

	li.thumbnail img.thumbnail,
	li.thumbnail img.linkicon {
		width: 100px;
		height: 100px;
		margin-right: 24px;
	}

	li.thumbnail div.headline {
		width: calc(100% - 100px - 28px);
		font-size: 24px;
	}

}

@media (max-width: 840px) {

	ul.childnav {
		gap: 20px;
	}

	ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > a,
	ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > a:visited,
	ul.childnav > li:not(.featured):not(.button):not(.cta):not(.thumbnail) > div.nolink {
		font-size: 20px;
	}

	ul.childnav > li:not(.featured) span.mat-icon {
		font-size: 32px;
	}

}

@media (min-width: 641px) {

	ul.childnav:not(.thirds):not(.cards) {
		grid-template-columns: repeat(auto-fill, minmax(calc(50% - 24px), 1fr));
	}
	
}

@media (max-width: 640px) {

	img.floatleft,
	img.float-left,
	img.floatright,
	img.float-right {
		max-width: 50%;
		height: auto;
	}

}

@media (max-width: 360px) {

	ul.childnav > li.featured > a,
	ul.childnav > li.featured > a:visited,
	ul.childnav > li.featured > div.nolink {
		padding: 24px 8px;
	}

	li.featured img.linkicon {
		top: 24px;
		max-width: 64px !important;
		height: auto;
	}

	li.featured span.mat-icon {
		top: 32px;
		left: 16px;
	}

	li.featured.no-teaser span.mat-icon {
		top: 16px;
	}

	img.floatleft,
	img.float-left,
	img.floatright,
	img.float-right {
		float: none;
		display: block;
		max-width: 100%;
		margin: 1em 0;
	}

}

/* Child nav card format */

ul.childnav > li.card {
	box-sizing: border-box;
	float: left;
	text-align: left;
	background-color: rgb(244,247,255);
	color: rgb(36,36,36);
	border: 1px solid rgb(179,195,227);
	border-radius: 8px;
	margin: 0;
	display: flex;
	flex-direction: column;
}

ul.childnav > li.card img.thumbnail {
	display: block;
	width: 100%;
	height: 208px;
	object-fit: cover;
	border-radius: 8px 8px 0 0;
}

ul.childnav > li.card div.info {
	margin: 24px;
	flex: 1 1 auto;
}

ul.childnav > li.card div.headline {
	color: rgb(14,44,109);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.07;
	letter-spacing: -0.03em;
	margin-bottom: 1rem;
}

ul.childnav > li.card div.morelink {
	margin: 24px;
	display: flex;
	align-items: center;
	gap: 12px;
}

ul.childnav > li.card div.morelink > a.button,
ul.childnav > li.card div.morelink > a.button:visited {
	width: 100%;
	font-size: 18px;
	padding: 16px;
	margin: 0;
}

li.card .adminlink {
	bottom: 0;
	margin-bottom: -2.5em;
}

/* Child nav CTA button format */

ul.childnav > li.cta {
	width: auto;
	margin: 16px 16px 16px 0;
}

/* Button nav (for all-button child links) */

ul.buttonnav {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 32px 0;
}

ul.buttonnav > li {
	position: relative;
	display: inline-block;
}

ul.buttonnav > li .adminlink {
	position: absolute;
	right: 1em;
	bottom: 0;
	margin-bottom: -2em;
	opacity: 0;
	transition: opacity 0.1s;
}

ul.buttonnav > li:hover .adminlink {
	opacity: 1;
}

/* Responsive Adjustments */

@media (max-width: 960px) {

	html {
		font-size: 16px;
	}

	h1,
	p.mainheading,
	h2.sectionhead,
	section.featured h2:first-of-type,
	section.overview h2:first-of-type {
		font-size: 48px;
	}
	
	h2 {
		font-size: 32px;
	}

	h3
	/* h1 + h2 */ {
		font-size: 24px;
	}

	h4,
	h3.listheading,
	h3.caption {
		font-size: 16px;
	}

	p.intro,
	p.announcement {
		font-size: 20px;
	}

}

/* TinyMCE assistance CSS */

body.mcecontent section {
	border: 1px dashed rgb(255,204,204);
}

body.mcecontent section[class] {
	position: relative;
	padding-top: 20px;
}

body.mcecontent section[class]::before {
	content: 'section.' attr(class);
	position: absolute;
	top: 0;
	background-color: rgba(255,0,0,0.2);
	color: white;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 1px 4px;
}

body.mcecontent .mce-pagebreak {
	height: 14px;
	border: none;
	border-top: 1px dashed red;
	background-image: url('/images/comm_icon_snip-top.png') !important;
	background-repeat: no-repeat;
	background-position: top !important;
}

body.mcecontent dl.accordion,
body.mcecontent ul.identitycards,
body.mcecontent ul.photolist,
body.mcecontent .flexmiddle {
	position: relative;
}

body.mcecontent dl.accordion,
body.mcecontent dl.accordion dt,
body.mcecontent dl.accordion dd,
body.mcecontent ul.infocards,
body.mcecontent .flexmiddle {
	overflow: visible;
	border: 1px dashed rgb(100,220,100);
}

body.mcecontent .flexmiddle > * {
	border: 1px dashed rgb(200,150,100);
	margin: 2px;
}

body.mcecontent dl.accordion dt,
body.mcecontent dl.accordion dd {
	margin: 5px !important;
}

body.mcecontent dl.accordion::before,
body.mcecontent ul.identitycards::before,
body.mcecontent ul.photolist::before,
body.mcecontent ul.infocards::before,
body.mcecontent .flexmiddle::before {
	content: 'ul.' attr(class);
	position: absolute;
	top: -14px;
	left: -1px;
	background-color: rgba(0,128,0,0.35);
	color: white;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 1px 4px;
}

body.mcecontent dl.accordion::before,
	content: 'dl.' attr(class);
}

body.mcecontent .flexmiddle::before,
	content: '.' attr(class);
}

body.mcecontent ul.identitycards > li,
body.mcecontent ul.photolist > li {
	border: 1px dashed rgb(100,220,100);
}

body.mcecontent ul.photolist > li > img ~ * {
	border-left: 1px dashed rgb(100,220,100);
}

body.mcecontent summary {
	cursor: text !important;
}
