/* PIB Site Notice — amber service-disruption band. Typeface is inherited from the site. */
:root {
	--pib-notice-h: 48px;       /* measured by notice.js; 48px is the no-JS fallback */
	--pib-notice-top: 0px;      /* admin bar height when logged in, set by notice.js */
	--pib-notice-bg: #ffc83d;
	--pib-notice-fg: #1a1a1a;
}
.pib-site-notice {
	position: relative;
	z-index: 100000;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	background: var(--pib-notice-bg);
	color: var(--pib-notice-fg);
	font-size: 16px;
	line-height: 1.45;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
}
.pib-site-notice__inner {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 11px 56px;
}
.pib-site-notice .pib-site-notice__icon {
	display: block;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	color: var(--pib-notice-fg);
	fill: none;
	stroke: currentColor;
}
.pib-site-notice .pib-site-notice__text {
	flex: 0 1 auto;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--pib-notice-fg) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
}
.pib-site-notice .pib-site-notice__text strong,
.pib-site-notice .pib-site-notice__text b { font-weight: 700 !important; color: inherit; }
.pib-site-notice .pib-site-notice__text a { color: inherit !important; text-decoration: underline; }
.pib-site-notice .pib-site-notice__text a:hover { text-decoration: none; }
.pib-site-notice .pib-site-notice__close {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 40px;
	height: 40px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	box-shadow: none;
	color: var(--pib-notice-fg);
	font-size: 26px;
	font-weight: 400;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
	transform: translateY(-50%);
}
.pib-site-notice .pib-site-notice__close:hover,
.pib-site-notice .pib-site-notice__close:focus { background: rgba(0, 0, 0, 0.1); color: var(--pib-notice-fg); outline: none; }
.pib-site-notice .pib-site-notice__close:focus-visible { outline: 2px solid var(--pib-notice-fg); outline-offset: -3px; }
html.pib-notice-dismissed .pib-site-notice,
.pib-site-notice[hidden] { display: none !important; }

@media (max-width: 640px) {
	.pib-site-notice__inner { align-items: flex-start; justify-content: flex-start; padding: 12px 48px 12px 12px; }
	.pib-site-notice .pib-site-notice__icon { margin-top: 1px; }
	.pib-site-notice .pib-site-notice__close { top: 4px; right: 4px; transform: none; }
}

/* Divi with a fixed header: pin the notice on desktop and seat the header below it.
   Only once notice.js has confirmed a banner is on the page (html.pib-notice-on), so a page
   without the banner can never be left with a gap above its header. */
@media (min-width: 981px) {
	html.pib-notice-on .et_fixed_nav .pib-site-notice { position: -webkit-sticky; position: sticky; top: var(--pib-notice-top); }
}
html.pib-notice-on:not(.pib-notice-dismissed) .et_fixed_nav #main-header,
html.pib-notice-on:not(.pib-notice-dismissed) .et_fixed_nav #top-header {
	top: calc(var(--pib-notice-top) + var(--pib-notice-h)) !important;
}
