/**
 * Root styles
 */
:root {
	--polaris__border-color: #edecf0;
	--polaris__border-color__input: black;
	--polaris__border-radius: 0.5rem;
	--polaris__border-style: solid;
	--polaris__border-width: 1px;
	--polaris__spacing-h: 30px;
	--polaris__spacing-h__half: calc( var( --polaris__spacing-h ) / 2 );
	--polaris__spacing-v: 1rem;
	--polaris__spacing-v__line: calc( var( --polaris__spacing-v ) * 0.5 );
	--polaris__spacing-v__para: calc( var( --polaris__spacing-v ) * 1.0 );
	--polaris__spacing-v__block: calc( var( --polaris__spacing-v ) * 1.25 );
	--polaris__spacing-v__header: calc( var( --polaris__spacing-v ) * 1.5 );
	--polaris__spacing-v__section: calc( var( --polaris__spacing-v ) * 2.25 );
	--polaris__background-color: white;
	--polaris__color: black;
	--polaris__color__failing: #db2e30;
	--polaris__color__in-progress: #ffdc2f;
	--polaris__color__on-track: #58a14d;
	--polaris__color__red: #860a0a;
	--polaris__color__red__contrast: white;
	--polaris__color__red-alt: #933;
	--polaris__color__red-alt__contrast: white;
	--polaris__color__purple: #352c66;
	--polaris__color__purple__contrast: white;
	--polaris__color__purple-alt: #493d68;
	--polaris__color__purple-alt__contrast: white;
	--polaris__color__series-agnostic: #666;
	--polaris__color__series-agnostic__alt: #ccc;
	--polaris__color__series-hbv: var( --polaris__color__red );
	--polaris__color__series-hbv-alt: #f5bb00;
	--polaris__color__series-hcv: var( --polaris__color__purple );
	--polaris__color__series-hcv-alt: #0693e3;
}

body {
	overflow-y: scroll;
}
/*
.polaris-content {
	overflow: hidden;
}
*/
.polaris-header-accessory-items {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.polaris-header-accessory-items {
	margin: -0.5rem -15px !important;
}

.polaris-header-accessory-items {
	list-style: none;
	padding: 0 !important;
}

.polaris-header-accessory-items > * {
	flex: 0 0 auto;
	overflow: hidden;
	margin: 0 !important;
	padding: 0.5rem 15px;
	inline-size: 100%;
}

@media( min-width: 772px ) {
	.polaris-header-accessory-items > * {
		inline-size: 50%;
	}
}

#page,
#site-content,
#site-content > .customify-container,
#site-content > .customify-container > .customify-grid,
#main,
#main > .content-inner,
#main > .content-inner > article,
#main > .content-inner > article > .entry-content {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
}

#page {
	min-block-size: 100vh;
}

body.admin-bar #page {
	min-block-size: calc( 100vh - var( --wp-admin--admin-bar--height, 32px ) );
}

:root.polaris-showing-modal body {
	overflow: hidden;
	max-block-size: 100vh;
	max-inline-size: 100vw;
}

#masthead,
#site-footer {
	flex: 0 0 auto;
}

.dnc-site-content .polaris-root {
	margin-block: calc( var( --fluffle-site-content__spacing-v ) * -1 ) !important;
}

.dnc-site-content .wp-block-cover + .polaris-root {
	margin-block-start: calc( var( --fluffle-site-content__spacing-v ) * -1 ) !important;
}

#site-content,
#site-content > .customify-container,
#site-content > .customify-container > .customify-grid,
#main,
#main > .content-inner,
#main > .content-inner > article,
#main > .content-inner > article > .entry-content,
.polaris-root {
	flex: 1 0 auto;
	inline-size: 100%;
}

#site-content > .customify-container > .customify-grid {
	margin: 0;
}

#site-content > .customify-container {
	margin: 0;
	padding: 0;
	max-inline-size: none;
}

#main {
	padding: 0;
}

input:disabled,
select:disabled,
textarea:disabled {
	cursor: default !important;
}

dt,
dd {
	margin: 5px auto;
}

dd + dt {
	margin-block-start: 15px;
}

dt ~ dd {
	padding-inline-start: 15px;
}

details {
	border: 1px solid #686868;
	border-radius: 8px;
	padding: 8px;
}

details > summary {
	margin: 0 -8px 0;
	padding: 0 8px;
}

details[open] > summary {
	margin-block-end: 10px;
	border-block-end: 1px solid #686868;
	padding-block-end: 8px;
}

.polaris-toc,
.polaris-toc ul {
	list-style: none;
}

.polaris-toc,
.polaris-toc > li {
	margin-inline-start: 0;
}

.polaris-toc.polaris-toc ul {
	margin-block-start: 6px;
}

.polaris-root h2 + h3 {
	border-block-start: none;
	padding-block-start: 0;
}

/**
 * "Root" element
 */

.polaris-root {
	position: relative;
	inset-inline-start: 50%;
	margin: 0;
	margin-inline-start: calc( var( --fluffle__full-width, 100% ) * -0.5 );
	inline-size: var( --fluffle__full-width, 100% );
}

.polaris-root :first-child:first-child,
.polaris-root :where( summary ):first-child:first-child + * { /* specificity 0-3-0 */
	margin-block-start: 0;
}

.polaris-root :last-child:last-child { /* specificity 0-3-0 */
	margin-block-end: 0;
}

/**
 * Sidebar styles
 */

.polaris-sidebar {
	padding-block: 10px;
	padding-inline: 20px;
	background-color: whitesmoke;
}

.polaris-sidebar__toggle {
	display: none !important;
}

.polaris-sidebar__toggle-button {
	font-size: 1.4rem;
}

.polaris-sidebar-elements {
	margin-inline-start: -20px;
}

.polaris-sidebar-element {
	/*
	 * Want nested levels to move in on the left, but not lose ground on the right
	 */
	padding-block: 10px;
	padding-inline-start: 20px;
}

.polaris-sidebar-element img {
	inline-size: 25px;
}

.polaris-sidebar-element-top {
	margin: 0;
}

.polaris-sidebar-element-top:last-child {
	margin-block-end: 0;
}

.polaris-sidebar-element {
	--polaris-sidebar__icon-active: none;
	--polaris-sidebar__icon-inactive: block;
}

.polaris-sidebar-element-active,
.sidebar-element-link:is( :active, :hover ) {
	--polaris-sidebar__icon-active: block;
	--polaris-sidebar__icon-inactive: none;
}

.polaris-sidebar-element-icon-active {
	display: var( --polaris-sidebar__icon-active );
}

.polaris-sidebar-element-icon {
	display: var( --polaris-sidebar__icon-inactive );
}

.polaris-sidebar-element-icon,
.polaris-sidebar-element-icon-active {
	flex: 0 0 auto;
	padding-inline-end: 8px;
}

.sidebar-element-link {
	color: inherit;
	text-decoration: inherit;
}

.polaris-sidebar-element-label {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
}

.polaris-sidebar-element-title {
	display: flex;
	flex: 1 1 0%;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
}

.polaris-sidebar-element-label:after {
	content: '\f067';
	display: inline-block;
	padding-inline-start: 15px;
	inline-size: calc( 1.2em + 15px );
	font-family: FontAwesome;
	text-align: center;
}
/*
.polaris-sidebar-element-text:first-child {
	text-transform: uppercase;
}
*/
.polaris-sidebar-element-children {
	margin: 10px 0 0;
}

.polaris-sidebar-element-toggle:not( :checked ) ~ .polaris-sidebar-element-children {
	display: none !important;
}

.polaris-sidebar-element-toggle:checked ~ .polaris-sidebar-element-top > .polaris-sidebar-element-label:after {
	content: '\f068';
}

:is( .polaris-sidebar-element-icon, .polaris-sidebar-element-icon-active ) + .polaris-sidebar-element-text {
	padding-inline-start: 8px;
}

.polaris-sidebar-element-text {
	flex: 1 1 0%;
}

.polaris-sidebar-element-toggle {
	display: none !important;
}

@media( max-width: 991px ){
	:where( .polaris-sidebar__toggle:not( :checked ) ) ~ .polaris-sidebar-elements {
		display: none !important;
	}
	
	.polaris-sidebar-elements {
		margin-block-start: 10px;
	}
}

@media( min-width: 992px ) {
	.polaris-root {
		display: flex;
		align-items: stretch;
		flex-wrap: nowrap;
	}
	
	.polaris-sidebar {
		flex: 0 0 auto;
		max-inline-size: 350px;
		inline-size: 25%;
	}
	
	.polaris-sidebar__toggle-button {
		display: none !important;
	}
	
	.polaris-sidebar-elements {
		margin-block-start: 0;
	}
	
	.polaris-content {
		flex: 1 1 0%;
		inline-size: 0;
	}
}

@media( min-width: 1200px ){
	.polaris-sidebar {
		inline-size: 20%;
	}
}

/**
 * Content styles
 */

:root {
	--polaris-highchart__border-color: gainsboro;
	--polaris-highchart__padding: max( var( --polaris__spacing-v__line ), var( --polaris__spacing-h__half ) );
}

.polaris-highchart__holder {
	margin-block: var( --polaris__spacing-v__block );
	margin-inline: 0;
	border: var( --polaris__border-width ) var( --polaris__border-style ) var( --polaris-highchart__border-color );
	border-radius: var( --polaris-highchart__padding );
	padding: var( --polaris-highchart__padding );
}

.highcharts-title,
.highcharts-subtitle {
	font-size: 0.75rem;
}

.highcharts-caption {
	font-size: 0.65rem;
}

.polaris-highchart__hide-watermark .polaris-highchart__watermark {
	display: none;
}

.polaris-chart {
	aspect-ratio: 5 / 3;
	max-block-size: 65vh;
}

.polaris-chart-hide-logo .polaris-chart-logo {
	display: none !important;
}

.polaris-content {
	padding: 20px;
	background-color: #493D68;
	color: white;
}

.polaris-header-title,
.polaris-infopane__header {
	font-size: 2.25rem;
}

/* iOS doesn't support :is() until v14 */
:where( .polaris-content ) :is( h1, h2, h3, h4, h5, h6, label ) {
	color: inherit;
}

.polaris-content-header,
.polaris-content-header-nav,
.polaris-radios {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
}

.polaris-content-header > *,
.polaris-content-header-nav > *,
.polaris-radios > * {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 10px 15px;
}

.polaris-content-header > *,
.polaris-content-header-nav > * {
	inline-size: 100%;
}

.polaris-radios {
	justify-content: center;
}

.polaris-radios > * {
	inline-size: auto;
}

.polaris-content-header {
	margin: -10px -15px 20px !important;
}

.polaris-content-h1 {
	font-size: 18px;
	text-align: center;
}

.polaris-content-header-nav,
.polaris-radios {
	padding: 0 !important;
}

@media( min-width: 768px ) {	
	.polaris-content-header-nav > * {
		inline-size: 50%;
	}
}

@media( min-width: 992px ) {
	.polaris-content-header {
		flex-wrap: nowrap;
	}
	
	.polaris-content-h1:not( :last-child ) {
		inline-size: 33.333333%;
		text-align: left;
	}
	
	.polaris-content-h1 ~ * {
		flex: 1 1 0%;
	}
}

.polaris-boxed {
	margin: 0;
	border: none;
	border-radius: 10px;
	padding: 20px;
	background-color: white;
	color: #686868;
}

.polaris-unhydrated-message {
	margin: 1.5rem auto;
	font-style: italic;
}

.polaris-boxed:not( .polaris-unhydrated ) .polaris-unhydrated-message,
.polaris-boxed.polaris-unhydrated .polaris-needs-hydration {
	display: none !important;
}

.screen-reader-text {
	inline-size: 1px !important;
}

.polaris-datapoints {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: -10px -20px;
	padding: 0 10px;
}

.polaris-datapoint {
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 10px;
	text-align: center;
	min-inline-size: 160px;
	max-inline-size: 100%;
	inline-size: 170px;
}

.polaris-datapoint-icon > img {
	display: block;
	margin: 0 auto;
	max-inline-size: 72px;
	inline-size: 100%;
}

.polaris-datapoint-label {
	margin-block-end: 0;
	font-size: inherit;
}

.polaris-datapoint-value {
	margin-block-end: 0;
	font-size: 1.3rem;
}

.highcharts-container {
	inline-size: 100% !important;
}

.highcharts-root {
	inline-size: 100% !important;
}

:where( .highcharts-menu ) > hr {
	margin-block: var( --polaris__spacing-v__line );
}

:where( .highcharts-menu ) > li {
	margin-block: 0;
}

table.dataTable {
	margin: 0 !important;
}

.polaris-header,
.polaris-disease-section {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.polaris-disease-section,
.polaris-toggle-list {
	margin: -0.5rem -15px !important;
}

.polaris-header > *,
.polaris-disease-section > *,
.polaris-toggle-list > * {
	flex: 0 0 auto;
	overflow: hidden;
	margin: 0 !important;
	padding: 0.5rem 15px;
	inline-size: 100%;
}

.polaris-header {
	margin: calc( 20px - 0.5rem ) -15px;
}

.polaris-header:first-child {
	margin-block-start: -0.5rem !important;
}

.polaris-header:last-child {
	margin-block-end: -0.5rem !important;
}

.polaris-flag-holder,
.polaris-polaris-holder {
	max-inline-size: calc( calc( 15px * 2 ) + 100px );
}

.polaris-locations-holder {
	font-size: 1.2rem;
}

.polaris-disease-section + .polaris-disease-section {
	margin-block-start: 7.5px !important;
}

.polaris-disease-section[data-has-data="false"] > .polaris-toggle-accordion,
.polaris-disease-section[data-has-data="false"] > .polaris-chart-holder,
.polaris-disease-section[data-has-data="true"] > .polaris-no-data,
.polaris-chart-holder-hidden {
	display: none !important;
}

.polaris-no-data {
	font-style: italic;
	text-align: center;
}

.polaris-toggle-list {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.polaris-toggle-label {
	user-select: none;
}

polaris-chart-tooltip :where( td, th ) {
	padding: 3px 5px;
	background-color: transparent !important;
}

.polaris-tooltip__heading,
.polaris-tooltip__table {
	margin-block: var( --polaris__spacing-v__line );
}

.polaris-tooltip__heading {
	font-size: inherit;
}

.polaris-tooltip__table :where( td, th ) {
	padding-block: 0.25em;
	padding-inline: 0.5em;
	background-color: transparent !important;
	font-weight: bold;
}

.polaris-tooltip__table :where( th ) {
	text-align: start;
}

.polaris-tooltip__table :where( td ) {
	text-align: end;
}

@media( min-width: 768px ) {
	.polaris-toggle-list > * {
		inline-size: 50%;
	}
}

@media( min-width: 992px ) {
	.polaris-header {
		flex-wrap: nowrap;
	}
	
	.polaris-locations-holder {
		flex: 1 1 auto;
	}
	
	.polaris-disease-section[data-columns="2"] > .polaris-chart-holder {
		inline-size: 50%;
	}
	
	.polaris-toggle-list > * {
		inline-size: calc( 100% / 3 );
	}
}

/** In case this is needed
.polaris-infopane__header,
.polaris-header-title {
	
}
*/

.polaris-infopane:not( [data-active-disease*="hcv"] ) [data-disease="hcv"],
.polaris-infopane:not( [data-active-disease*="hbv"] ) [data-disease="hbv"] {
	display: none !important;
}

/**
 * Content footer
 * 
 * @since 1.1.0
 */
.polaris-footer {
	margin: 20px 0;
	border: none;
	border-radius: 10px;
	padding: 20px;
	background-color: white;
	color: #686868;
}

.polaris-footer-widget {
	margin: 15px auto;
}

/**
 * Possible override
 * 
 * @since 2023-05-04
 */

.polaris-chart .highcharts-contextmenu {
	inset-block-start: 10px !important;
	inset-inline-end: 0 !important;
	padding: 28px 8px 28px 28px !important;
	max-block-size: calc( 100% - 10px ) !important;
	max-inline-size: 100% !important;
	overflow-y: auto !important;
}

/*.polaris-member-chart-holder,
.polaris-chart,
.highcharts-container {
	overflow: initial !important;
}

.highcharts-container {
	z-index: auto !important;
	block-size: 100% !important;
}
*/

[data-has-data="false"] {
	display: none !important;
}
