@font-face {
	font-family: "TitleFontRegular";
	src: url("/css/fonts/CACLogoAlternative/CACLogoAlternative-Regular.eot");
	src: url("/css/fonts/CACLogoAlternative/CACLogoAlternative-Regular.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/CACLogoAlternative/CACLogoAlternative-Regular.woff") format("woff"),
			 url("/css/fonts/CACLogoAlternative/CACLogoAlternative-Regular.ttf") format("truetype"),
			 url("/css/fonts/CACLogoAlternative/CACLogoAlternative-Regular.svg#CACLogoAlternativeRegular") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontRegular";
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.svg#OpenSansRegular") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontRegular";
	src: url("/css/fonts/OpenSans/OpenSans-SemiBold.eot");
	src: url("/css/fonts/OpenSans/OpenSans-SemiBold.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.svg#OpenSansSemiBold") format("svg");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontLight";
	src: url("/css/fonts/OpenSans/OpenSans-Light.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Light.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Light.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Light.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Light.svg#OpenSansLight") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontLight";
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.svg#OpenSansRegular") format("svg");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontBold";
	src: url("/css/fonts/OpenSans/OpenSans-SemiBold.eot");
	src: url("/css/fonts/OpenSans/OpenSans-SemiBold.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-SemiBold.svg#OpenSansSemiBold") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontBold";
	src: url("/css/fonts/OpenSans/OpenSans-Bold.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Bold.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.svg#OpenSansBold") format("svg");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "StandardFontExtraBold";
	src: url("/css/fonts/OpenSans/OpenSans-Bold.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Bold.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Bold.svg#OpenSansBold") format("svg");
	font-weight: bold;
	font-style: normal;
}



/*** APPLE SYSTEM FONT - MIMIC ***/
@font-face {
	font-family: "AppleSystemRegular";
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Regular.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Regular.svg#OpenSansRegular") format("svg");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "AppleSystemBold";
	src: url("/css/fonts/OpenSans/OpenSans-Semibold.eot");
	src: url("/css/fonts/OpenSans/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"),
			 url("/css/fonts/OpenSans/OpenSans-Semibold.woff") format("woff"),
			 url("/css/fonts/OpenSans/OpenSans-Semibold.ttf") format("truetype"),
			 url("/css/fonts/OpenSans/OpenSans-Semibold.svg#OpenSansBold") format("svg");
	font-weight: bold;
	font-style: normal;
}
html {
	height: 100%;
	margin: 0px;
	padding: 0px;
}

body {
	height: 100%;
	/*overflow-y: auto;*/
	
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: -moz-none;
	-ms-user-select: none;
	-khtml-user-select: none;
	user-select: none;
	
	pointer-events: none;
	
	background-color: #005999; /*hsl(205, 100%, 30%);*/

	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	
	overscroll-behavior: none;
}

body, p, div, table, tr, td, ul, li, textarea, input {
	font-family: "StandardFontRegular", "Arial", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: hsl(0, 0%, 100%);
	font-size: 16px;
	letter-spacing: 0px;
	font-style: normal;
	font-weight: normal;
	line-height: 100%;
	margin: 0px;
	padding: 0px;
	pointer-events: none;
}

select {
	pointer-events: auto;
}

p, div, table, tr, td, ul {
	position: relative;
}

div, td {
	font-size: 0px;
}

div, p, img {
	box-sizing: border-box;
}

img {
	border-none;
}

a, .standardView a:hover {
	color: hsl(195, 100%, 65%);
	text-decoration: none;
	pointer-events: auto;
}

table {
	border-collapse: collapse;
}

td {
	vertical-align: top;
}

svg {
	pointer-events: none;
}

.text {
	font-size: 16px;
}

div.debugPanel {
	position: fixed;
	z-index: 999;
	right: 0px;
	top: 0px;
	background-color: hsla(0, 0%, 0%, 0.85);
	padding: 10px;
}

div.debugPanel p {
	font-size: 12pt;
	line-height: 135%;
	color: hsl(135, 100%, 65%);
}

::-webkit-scrollbar { /* hide scrollbar in windows chrome */
	width: 0px;  /* remove scrollbar space */
	background: transparent;  /* optional: just make scrollbar invisible */
}

div { /* try to hide scrollbar in IE */
	-ms-overflow-style: none; /*-ms-autohiding-scrollbar;*/
}
div.content, div.contentPhoneEmulation, div.contentTabletEmulation {
	position: absolute;
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

div.contentPhoneEmulation, div.contentTabletEmulation {
	background-color: hsl(0, 0%, 0%);
}



/*** CONTENT PANEL ***/
div.contentWrapper {
	position: absolute;
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: #005999; /*hsl(205, 100%, 30%);*/
	overflow: hidden;
}

div.contentPhoneEmulation div.contentWrapper {
	width: 400px;
	height: 712px; /* 1.78*width */
	left: 50%;
	margin-left: -200px;
	top: 50%;
	margin-top: -356px;
	border-radius: 15px;
	overflow: hidden;
}

div.contentTabletEmulation div.contentWrapper {
	width: 1180px;
	height: 820px; /* 1.78*width */
	left: 50%;
	margin-left: -590px;
	top: 50%;
	margin-top: -410px;
	border-radius: 15px;
	overflow: hidden;
}

/*
div.contentTitle {
	position: absolute;
	z-index: 3;
	width: auto;
	height: 30px;
	left: 0px;
	right: 0px;
	top: 0px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-variant: small-caps;
	font-size: 18px;
	letter-spacing: 1px;
	color: hsl(205, 100%, 80%);
	line-height: 30px;
	text-align: center;
	overflow: hidden;	
}
*/

div.contentPanel /*, div.contentPanelWithTitle*/ {
	position: absolute;
	z-index: 2;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	overflow: hidden;
}

/*
div.contentPanelWithTitle {
	top: 30px;
}
*/



/*** PRELOAD IMAGES ***/
div.preloadImages {
	position: fixed;
	left: 0px;
	top: -1000px;
	visibility: hidden;
	pointer-events: none;
}



/*** SPLASH PANEL ***/
div.splashPanel, div.splashPanelHidden {
	position: absolute;
	z-index: 9;
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto; /*100%;*/
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	background-color: hsl(205, 100%, 20%);
	cursor: pointer;
	pointer-events: auto;
	opacity: 1;
}

div.splashPanelHidden {
	opacity: 0;
	transition: opacity 1s;
}

div.splashPanelBgImage {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
  opacity: 0.75;
}

div.splashTitleBlock {
	position: absolute;
	z-index: 5;
	top: 10%;
	width: 100%;
	left: 0px;
	font-size: 0px;
}

div.splashTitle {
	font-family: "TitleFontRegular", "Arial", sans-serif;
	font-size: 75px;
	letter-spacing: 15px;
	color: hsl(0, 0%, 100%);
	text-align: center;
}

div.splashSubtitle {
	font-size: 22px;
	color: hsl(205, 80%, 65%);
	text-align: center;
	margin-top: 5px;
}

img.splashAppLogo {
	/*
	position: absolute;
	z-index: 5;
	left: 50%;
	margin-left: -125px;
	top: 50%;
	margin-top: -125px;
	width: 250px;
	*/
	z-index: 5;
	width: 35vmin;
	/*transform: scale(1);*/
	/*filter: brightness(0.85);*/
	border-radius: 50%;
	/*box-shadow: 0px 0px 10px 5px hsl(205, 100%, 65%);*/
	/*animation: splashLoadingImgZoom 15s linear;*/
	/*animation: splashLoadingShadowPulse 2s infinite;*/
	/*animation: splashLoadingShadowPulse 1s linear;*/
	/*animation: splashLoadingImgZoom 15s ease-out, splashLoadingShadowPulse 2s infinite;*/
}

.phoneView img.splashAppLogo {
	width: 60vmin;
}

img.splashAppLogoLoaded {
	/*filter: brightness(1);*/
	/*transform: scale(1.1);*/
	animation: splashLoadingShadowPulse 2.5s ease-out, splashLoadingImgBright 2.5s ease-out;
}

/*
@keyframes splashLoadingImgZoom {
	from {transform: scale(1)}
	to {transform: scale(1.5)}
}
*/

@keyframes splashLoadingShadowPulse {
  0% {box-shadow: 0px 0px 100px 0px hsla(205, 100%, 75%, 0.35)}
  100% {box-shadow: 0px 0px 0px 0px hsla(205, 100%, 75%, 0)}
}

@keyframes splashLoadingImgBright {
  0% {filter: brightness(1.25)}
  100% {filter: brightness(1)}
}

div.splashAppLabel {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 20px;
	right: 20px;
	bottom: 18%;
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 40px;
	letter-spacing: 2px;
	color: hsl(0, 0%, 100%);
	white-space: nowrap;
	text-align: center;
}

div.splashLoadingAnimBlock {
	position: absolute;
	z-index: 5;
	bottom: 5%;
	width: 100%;
	left: 0px;
	font-size: 0px;
}

div.splashLoadingAnim, div.splashLoadingAnimHidden {
	margin-top: 100px;
	font-size: 0px;
	text-align: center;
}

div.splashLoadingAnimHidden {
	opacity: 0;
	transition: opacity 0.5s linear;
}

div.splashLoadingSpinnerAnim, div.splashLoadingSpinnerStopped {
	display: inline-block;
	vertical-align: top;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border-top: solid 3px hsl(205, 100%, 75%);
	border-bottom: solid 3px hsl(205, 100%, 75%);
	border-left: solid 3px hsla(205, 100%, 75%, 0.25);
	border-right: solid 3px hsla(205, 100%, 75%, 0.25);
	background-color: hsla(205, 100%, 75%, 0);
	animation: splashLoadingSpinnerAction 1.25s linear infinite;
}

div.splashLoadingSpinnerStopped {
	border: none;
	border: solid 3px hsl(205, 100%, 75%);
	background-color: hsla(205, 100%, 75%, 1);
	transition: background-color 0.35s linear;
	animation: none;
}

@keyframes splashLoadingSpinnerAction {
	100% {transform: rotate(360deg);}
}

div.splashLoadingAnimText {
	display: inline-block;
	vertical-align: top;
	line-height: 30px;
	font-size: 22px;
	color: hsl(205, 100%, 75%);
	margin-left: 10px;
}



/*** ACCOUNTS ***/
div.accountErrorMsg {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	color: hsl(0, 0%, 100%);
	background-color: hsl(0, 100%, 25%);
	border-radius: 10px;
	padding: 15px;
}

div.accountSuccessMsg {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	color: hsl(0, 0%, 100%);
	background-color: hsl(160, 100%, 35%);
	border-radius: 10px;
	padding: 20px;
}

div.accountSignOutContainer {
	position: absolute;
	z-index: 9;
	right: 15px;
	top: 15px;
}



/*** LOADING ANIMATIONS ***/
div.loadingAnimation, div.loadingAnimationDark {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

div.loadingSpinnerAnim, div.loadingSpinnerAnimStopped {
	/*display: inline-block;*/
	/*vertical-align: top;*/
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border-top: solid 3px hsl(205, 100%, 75%);
	border-bottom: solid 3px hsl(205, 100%, 75%);
	border-left: solid 3px hsla(205, 100%, 75%, 0.25);
	border-right: solid 3px hsla(205, 100%, 75%, 0.25);
	background-color: hsla(205, 100%, 75%, 0);
	animation: loadingSpinnerAction 1.25s linear infinite;
}

div.loadingAnimationDark div.loadingSpinnerAnim, div.loadingAnimationDark div.loadingSpinnerAnimStopped {
	border-top: solid 3px hsl(205, 100%, 45%);
	border-bottom: solid 3px hsl(205, 100%, 45%);
	border-left: solid 3px hsla(205, 100%, 45%, 0.25);
	border-right: solid 3px hsla(205, 100%, 45%, 0.25);
	background-color: hsla(205, 100%, 45%, 0);
}

div.loadingSpinnerAnimStopped {
	border: none;
	border: solid 3px hsl(205, 100%, 75%);
	background-color: hsla(205, 100%, 75%, 1);
	transition: background-color 0.35s linear;
	animation: none;
}

div.loadingAnimationDark div.loadingSpinnerAnimStopped {
	border: solid 3px hsl(205, 100%, 45%);
	background-color: hsla(205, 100%, 45%, 1);
}

@keyframes loadingSpinnerAction {
	100% {transform: rotate(360deg);}
}

div.loadingAnimText {
	/*display: inline-block;*/
	vertical-align: top;
	line-height: 30px;
	font-size: 20px;
	color: hsl(205, 100%, 75%);
	/*margin-left: 8px;*/
}

div.loadingAnimationDark div.loadingAnimText {
	color: hsl(205, 100%, 45%);
}



/*** SECTION BAR ***/
div.sectionBar {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	height: 70px;
	bottom: 0px;
	text-align: center;
	background-color: #005999; /*hsl(205, 100%, 30%);*/
	display: flex;
	justify-content: center;
}

.phoneView div.sectionBar {
	height: 80px;
}

div.sectionBarButtons {
	width: 100%;
	display: flex;
	justify-content: space-evenly;
}

.standardView div.sectionBarButtons {
	align-items: center;
	max-width: 500px;
}

div.sectionBarButtonNorm, div.sectionBarButtonHL {
	position: relative;
	/*vertical-align: top;*/
	width: 70px;
	height: 65px; /*58px;*/
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 10px;
	gap: 3px;
	opacity: 1;
	pointer-events: auto;
	cursor: pointer;
}

div.sectionBarButtonNorm:first-child, div.sectionBarButtonHL:first-child {
	margin-left: 0px;
}

/*
div.sectionBarButtonNorm {
	opacity: 0.5;
	filter: grayscale(100%) brightness(200%);
}
*/

div.sectionBarButtonHL {
	/*opacity: 1;*/
	pointer-events: none;
}

div.sectionBarButtonAccountIndicator {
	position: absolute;
	z-index: 5;
	display: none;
	right: 12px;
	top: 10px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: hsl(150, 100%, 65%);
	pointer-events: none;
}

img.sectionBarButtonIcon {
	/*
	position: absolute;
	z-index: 1;
	left: 23px;
	top: 10px;
	*/
	width: 24px;
	height: 24px;
	pointer-events: none;
}

div.sectionBarButtonLabel {
	/*
	position: absolute;
	width: auto;
	left: 0px;
	right: 0px;
	bottom: 0px;
	*/
	height: 20px;
	line-height: 20px;
	color:  hsl(0, 0%, 100%);
	font-size: 14px;
	text-align: center;
	pointer-events: none;
}

div.sectionBarButtonNorm img.sectionBarButtonIcon, div.sectionBarButtonNorm div.sectionBarButtonLabel {
	opacity: 0.5;
	filter: grayscale(100%) brightness(200%);
}



/*** SECTION PANELS ***/
div.singleSectionPanel, div.multiSectionPanel, div.multiSectionPanelHidden, div.multiSectionPanelHiddenRender {
	position: absolute;
	z-index: 2;
	display: block;
	visibility: visible;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	background-color: hsl(205, 100%, 20%);
	overflow: hidden;
	pointer-events: auto;
}

div.multiSectionPanel, div.multiSectionPanelHidden, div.multiSectionPanelHiddenRender {
	bottom: 70px;
}

.phoneView div.multiSectionPanel, .phoneView div.multiSectionPanelHidden, .phoneView div.multiSectionPanelHiddenRender {
	bottom: 80px;
}

div.multiSectionPanelHidden {
	display: none;
	z-index: 1;
}

div.multiSectionPanelHiddenRender {
	visibility: hidden;
	z-index: 1;
	pointer-events: none;
}

div.multiSectionPanelHiddenRender div {
	pointer-events: none !important;
}

div.subsectionPanel {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 60px;
	bottom: 0px;
	padding: 20px 20px;
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.simpleContentPanel, div.simpleContentPanelScroll, div.simpleContentPanelPadScroll {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	overflow-x: hidden;
	overflow-y: hidden;
	pointer-events: none;
}

div.simpleContentPanelScroll {
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.simpleContentPanelPadScroll {
	padding: 20px 20px;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.containerFullSizeScroll {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	padding: 20px 20px;
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.contentPanelWithHeading {
	top: 60px;
}

div.contentPanelCenterH, div.contentPanelCenterHV {
	display: flex;
	flex-direction: column;
	align-items: safe center;
}

div.contentPanelCenterHV {
	align-items: safe center;
	justify-content: safe center;
}

div.containerFullSizeCenterH, div.containerFullSizeCenterHV {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	display: flex;
	flex-direction: column;
	align-items: safe center;
}

div.containerFullSizeCenterHV {
	align-items: safe center;
	justify-content: safe center;
}

div.containerWithHeading {
	top: 60px;
}

div.containerWithPad {
	padding: 20px 20px;
}



/*** HEADER ***/
div.panelHeader, div.panelHeaderWithTitle {
	position: absolute;
	z-index: 9;
	width: 100%;
	height: 60px;
	left: 0px;
	top: 0px;
	background-color: #005999; /*hsl(205, 100%, 30%);*/
	overflow: hidden;
}

div.panelHeaderWithTitle {
	height: 80px;
}

div.panelHeaderNvsTitle {
	/*
	position: absolute;
	display: flex;
	flex-direction: column;
  justify-content: center;
	z-index: 10;
	right: 10px;
	height: 60px;
	font-size: 0px;
	padding-right: 5px;
	*/
	z-index: 1;
	left: 0px;
	top: 0px;
	height: 60px;
	line-height: 60px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-variant: small-caps;
	font-size: 20px;
	letter-spacing: 1px;
	color: hsl(205, 100%, 85%);
	text-align: center;
	overflow: hidden;
}

.phoneView div.panelHeaderNvsTitle {
	height: 18px;
	top: 2px;
	line-height: 100%;
	font-size: 16px;
}

/*
.phoneView div.panelHeaderNvsTitle {
	padding-right: 5px;
}

div.panelHeaderNvsTitleSub {
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 14px;
	text-align: right;
	color: hsl(205, 80%, 75%);
	margin-bottom: 3px;
}

div.panelHeaderNvsTitleMain {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	text-align: right;
	color: hsl(0, 0%, 100%);
}

.phoneView div.panelHeaderNvsTitleMain {
	font-size: 16px;
}
*/

div.panelHeaderTitle, div.panelHeaderTitleImpact {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 22px;
	letter-spacing: 1px;
	height: 60px;
	line-height: 60px;
	color: hsl(205, 80%, 75%);
	text-align: center;
}

.phoneView div.panelHeaderTitle {
	font-size: 18px;
}

div.panelHeaderTitleImpact {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 24px;
	color: hsl(0, 0%, 100%);
}

div.panelHeaderDockL, div.panelHeaderDockR {
	position: absolute;
	z-index: 2;
	bottom: 0px;
	height: 60px;
	font-size: 0px;
}

div.panelHeaderDockL {
	left: 0px;
}

div.panelHeaderDockR {
	left: unset;
	right: 0px;
}

div.panelHeaderDockButtonNorm, div.panelHeaderDockButtonSelected {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 60px;
	/*top: 0px;*/
	vertical-align: top;
	cursor: pointer;
	pointer-events: auto;
}

div.panelHeaderDockButtonSelected {
	background-color: hsl(205, 100%, 45%);
}

div.panelHeaderDockBtnIndicator, div.panelHeaderDockBtnIndicatorActive {
	position: absolute;
	z-index: 9;
	display: none;
	right: 7px;
	top: 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: hsl(150, 100%, 65%);
}

div.panelHeaderDockBtnIndicatorActive {
	display: block;
}

img.panelHeaderDockButtonIcon {
	position: absolute;
	width: 30px;
	height: 30px;
	left: 15px;
	top: 15px;
	pointer-events: none;
}

div.panelHeaderBackButton {
	position: absolute;
	z-index: 2;
	left: 0px;
	top: 0px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	pointer-events: auto;
}

div.panelHeaderBackButtonIcon {
	position: absolute;
	width: 20px;
	height: 20px;
	left: 23px;
	top: 20px;
	border-top: solid 4px hsl(0, 0%, 100%);
	border-left: solid 4px hsl(0, 0%, 100%);
	transform: rotate(-45deg);
	pointer-events: none;
}

div.panelHeaderSubsectionButtons {
	position: absolute;
	/*display: flex;*/
	width: 100%;
	bottom: 0px;
	/*padding: 0px 20px;*/
	font-size: 0px;
	text-align: center;
}

div.panelHeaderSubsectionButtonNorm, div.panelHeaderSubsectionButtonHL {
	/*flex: 1;*/
	display: inline-block;
	/*width: 110px;*/
	/*flex: 1 1 50px;*/
	color: hsl(205, 100%, 75%);
	border-bottom: none;
	font-size: 16px;
	line-height: 50px;
	text-align: center;
	padding: 0px 15px;
	pointer-events: auto;
	cursor: pointer;
}

div.panelHeaderSubsectionButtonHL {
	color: hsl(0, 0%, 100%);
	background-color: hsl(205, 100%, 20%);
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	pointer-events: none;
}



/*** PANELS ***/
div.panelContainer {
	position: absolute;
	z-index: 20;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
}

div.panelAnimOpenL, div.panelAnimClosedL, div.panelInstantClosedL, div.panelAnimOpenR, div.panelAnimClosedR, div.panelInstantClosedR {
	position: absolute;
	z-index: 20;
	height: auto;
	top: 60px;
	bottom: 0px;
	width: 360px;
	background-color: hsl(0, 0%, 100%);
	border-right: solid 1px hsl(205, 50%, 45%);
	/*
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
	*/
	pointer-events: auto;
	overflow: hidden;
}

.phoneView div.panelAnimOpenL, .phoneView div.panelAnimClosedL, .phoneView div.panelInstantClosedL {
	z-index: 10;
	top: 80px;
	width: 100%; /*320px;*/
	border: none;
}

.phone div.panelAnimOpenL, .phone div.panelAnimClosedL, .phone div.panelInstantClosedL {
	width: 100vmin; /*320px;*/
}

div.panelAnimOpenL {
	left: 0px;
	transition: left 0.50s ease;
}

div.panelAnimClosedL {
	left: -365px;
	transition: left 0.50s ease;
}

.phoneView div.panelAnimClosedL {
	left: calc((100% + 5px) * -1); /*-325px;*/
}

.phone div.panelAnimClosedL {
	left: calc((100vmin + 5px) * -1); /*-325px;*/
}

div.panelInstantClosedL {
	left: -365px;
}

.phoneView div.panelInstantClosedL {
	left: calc((100% + 5px) * -1); /*-325px;*/
}

.phone div.panelInstantClosedL {
	left: calc((100vmin + 5px) * -1); /*-325px;*/
}

div.panelAnimOpenR, div.panelAnimClosedR, div.panelInstantClosedR {
	border-right: none;
	border-left: solid 1px hsl(205, 50%, 45%);
}

.phoneView div.panelAnimOpenR, .phoneView div.panelAnimClosedR, .phoneView div.panelInstantClosedR {
	z-index: 10;
	top: 80px;
	width: 100%; /*320px;*/
	border: none;
}

.phone div.panelAnimOpenR, .phone div.panelAnimClosedR, .phone div.panelInstantClosedR {
	width: 100vmin; /*320px;*/
}

div.panelAnimOpenR {
	right: 0px;
	transition: right 0.50s ease;
}

div.panelAnimClosedR {
	right: -365px;
	transition: right 0.50s ease;
}

.phoneView div.panelAnimClosedR {
	right: calc((100% + 5px) * -1); /*-325px;*/
}

.phone div.panelAnimClosedR {
	right: calc((100vmin + 5px) * -1) /*-325px;*/
}

div.panelInstantClosedR {
	right: -365px;
}

.phoneView div.panelInstantClosedR {
	right: calc((100% + 5px) * -1); /*-325px;*/
}

.phone div.panelInstantClosedR {
	right: calc((100vmin + 5px) * -1) /*-325px;*/
}

div.panelScrollable {
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.panelHead {
	position: relative;
	display: flex;
	height: 50px;
	align-items: center;
	font-size: 0px;
	border-top: solid 3px hsl(205, 100%, 45%);
	background-color: hsl(205, 65%, 92%);
}

div.panelTitle, div.panelTitleWithPad {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 20px;
	/*line-height: 46px;*/ /*28px;*/
	color: hsl(0, 0%, 0%);
}

div.panelTitleWithPad {
	padding-left: 8px;
}

/*
div.panelCloseButtonWrapper {
	position: relative;
	width: 26px;
	height: 26px;
	pointer-events: none;
}
*/

div.panelHeadActionButton, div.panelHeadActionButtonDisabled {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 15px;
	letter-spacing: 0px;
	color: hsl(0, 0%, 100%) !important;
	line-height: 34px;
	white-space: nowrap;
	padding: 0px 12px;
	border-radius: 17px;
	background-color: hsl(205, 75%, 45%);
	overflow: hidden;
	cursor: pointer;
	pointer-events: all;
}

div.panelHeadActionButtonDisabled {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
}

div.panelHeadButtonContainer, div.panelHeadButtonContainerActive {
	position: relative;
	width: 40px;
	height: 47px;
}

div.panelHeadButtonContainerActive {
	background-color: hsl(50, 100%, 70%);
}

div.panelHeadButton, div.panelHeadButtonActive {
	position: absolute;
	left: 0px;
	top: 4px;
	/*
	display: flex;
	align-items: center;
	justify-content: center;
	*/
	width: 40px;
	height: 40px;
	border-radius: 5px;
	cursor: pointer;
	pointer-events: auto;
}

div.panelHeadButtonActive {
	height: 43px;
	background-color: hsl(50, 100%, 70%);
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}

/*
.standardView div.panelHeadButton:hover {
	background-color: hsla(0, 0%, 0%, 0.15);
}
*/

img.panelHeadButtonIcon {
	position: absolute;
	left: 7px;
	top: 7px;
	width: 26px;
	height: 26px;
	pointer-events: none;
}

div.panelHeadButtonIndicator, div.panelHeadButtonIndicatorActive {
	position: absolute;
	z-index: 9;
	display: none;
	right: 2px;
	top: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: hsl(150, 100%, 40%);
}

div.panelHeadButtonIndicatorActive {
	display: block;
}

div.panelCloseButtonL, div.panelCloseButtonR {
	position: relative;
	width: 46px;
	height: 46px;
	cursor: pointer;
	pointer-events: auto;
}

div.panelCloseButtonR {
	margin-left: auto;
}

div.panelCloseButtonIconR, div.panelCloseButtonIconL {
	position: absolute;
	width: 20px;
	height: 20px;
	pointer-events: none;
}

div.panelCloseButtonIconR {
	right: 16px;
	top: 13px;
	border-top: solid 4px hsl(0, 0%, 0%);
	border-right: solid 4px hsl(0, 0%, 0%);
	transform: rotate(45deg);
}

div.panelCloseButtonIconL {
	left: 16px;
	top: 13px;
	border-top: solid 4px hsl(0, 0%, 0%);
	border-left: solid 4px hsl(0, 0%, 0%);
	transform: rotate(-45deg);
}

div.panelHeadVisBtnWrapperR {
	padding-right: 6px;
	margin-left: auto;
}

div.panelContent {
	margin: 5px 10px 5px 10px;
}

div.panelContentScrollable, div.panelContentWithHeading, div.panelContentScrollableWithHeading {
	position: absolute;
	z-index: 1;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	margin: 0px 10px;
}

div.panelContentWithHeading, div.panelContentScrollableWithHeading {
	top: 50px;
}

div.panelContentScrollable, div.panelContentScrollableWithHeading {
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.panelContentNoMargins {
	margin: 0px;
}

/*
div.panelList:first-child {
	margin-top: 5px;
}
*/

div.panelGroupHeading, div.panelGroupHeadingWithDivider {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	color: hsl(205, 75%, 45%);
	text-align: center;
	margin-top: 25px;
	/*padding-bottom: 10px;*/
	/*margin-bottom: 5px;*/
	/*
	display: flex !important;
	align-items: center;
	justify-content: center;
	*/
	text-align: center;
}

/*
div.panelGroupHeading:first-child, div.panelGroupHeadingWithDivider:first-child {
	margin-top: 0px;
}
*/

div.panelGroupHeadingWithDivider {
	border-bottom: solid 1px hsl(0, 0%, 92%);	
}

div.panelGroupButtonOpen, div.panelGroupButtonClosed {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background-color: hsl(205, 75%, 45%);
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	padding: 0px 40px 0px 20px;
	cursor: pointer;
	pointer-events: auto;
}

div.panelGroupButtonClosed {
	border-radius: 20px;
}

div.panelGroupLabel {
	height: 40px;
	line-height: 40px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	color: hsl(205, 75%, 45%);
	text-align: left;
}

div.panelGroupButtonOpen div.panelGroupLabel, div.panelGroupButtonClosed div.panelGroupLabel {
	color: hsl(0, 0%, 100%); /*hsl(205, 75%, 45%);*/
	text-align: center;
}

/*div.panelGroupBtnExpand, div.panelGroupBtnCollapse {*/
div.panelGroupBtnExpandCollapse {
	position: absolute;
	z-index: 1;
	right: 13px;
	top: 13px;
	width: 14px;
	height: 14px;
	/*border-radius: 50%;*/
	/*background-color: hsl(205, 75%, 50%);*/
	margin-left: 10px;
}

div.panelGroupBtnIconH {
	position: absolute;
	width: 14px;
	height: 2px;
	left: 0px;
	top: 6px;
	background-color: hsl(205, 100%, 85%);
}

div.panelGroupBtnIconV {
	position: absolute;
	width: 2px;
	height: 14px;
	left: 6px;
	top: 0px;
	background-color: hsl(205, 100%, 85%);
}

/*div.panelGroupBtnCollapse div.panelGroupBtnIconV {*/
div.panelGroupButtonOpen div.panelGroupBtnIconV {
	visibility: hidden;
}

div.panelGroup, div.panelGroupItemDividers {}

div.panelGroupItemDividers {
	border-top: solid 1px hsl(0, 0%, 92%);
}

div.panelItemSet {
	margin-top: 25px;
}

div.panelItemSet:first-child {
	margin-top: 10px;
}

div.panelItemSetLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 16px;
	color: hsl(0, 0%, 0%);
	text-align: left;
	padding-bottom: 5px;
}

div.panelItem, div.panelItemActive {
	/*position: relative;*/
	/*
	height: 44px;
	overflow: hidden;
	cursor: pointer;
	pointer-events: auto;
	*/
}

/*
.standardView div.panelItem:hover {
	background-color: hsl(205, 100%, 95%);
}
*/

div.panelItemActive {
	background-color: hsl(50, 100%, 75%);
}

/*
.standardView div.panelItemActive:hover {
	background-color: hsl(50, 100%, 85%);
}
*/

div.panelGroupItemDividers div.panelItem, div.panelGroupItemDividers div.panelItemActive, div.panelGroupItemDividers div.panelItemSetLabel {
	border-bottom: solid 1px hsl(0, 0%, 92%);	
}

/*
div.panelGroupItemDividers div.panelItem:first-child, div.panelGroupItemDividers div.panelItemActive:first-child {
	border-top: solid 1px hsl(0, 0%, 92%);	
}
*/

div.panelItemContents {
	display: flex;
	align-items: center; /*center vertically*/
	flex-wrap: nowrap;
	height: 44px;
	overflow: hidden;
}

div.panelItemFavIcon, div.panelItemFavIconActive, div.panelItemFavIconBlank {
	/*
	position: absolute;
	z-index: 2;
	left: 5px;
	top: 8px;
	*/
	width: 26px;
	height: 26px;
	margin-left: 5px;
	cursor: pointer;
	pointer-events: auto;
}

div.panelItemFavIconBlank {
	pointer-events: none;
}

svg.panelItemFavIcon {
	width: 26px;
	height: 26px;
	fill: none; /*hsl(0, 0%, 100%);*/
	stroke: hsl(0, 0%, 65%);
	stroke-width: 4px;
	pointer-events: none;
}

/*
div.panelItemActive svg.panelItemFavIcon {
	fill: hsl(50, 100%, 90%);
}
*/

div.panelItemFavIconActive svg.panelItemFavIcon {
	fill: hsl(205, 100%, 60%); /*hsl(50, 100%, 65%);*/
	stroke: hsl(205, 100%, 60%); /*hsl(50, 50%, 55%);*/
}

div.panelItemButton {
	display: flex;
	flex-grow: 1;
	align-items: center; /*center vertically*/
	flex-wrap: nowrap;
	height: 44px;
	padding-left: 5px;
	padding-right: 5px;
	cursor: pointer;
	pointer-events: auto;
}

.standardView div.panelItemButton:hover {
	background-color: hsl(205, 100%, 95%);
}

.standardView div.panelItemActive div.panelItemButton:hover {
	background-color: hsl(50, 100%, 85%);
}

div.panelItemIcon, div.panelItemIconLarge {
	/*
	position: absolute;
	z-index: 2;
	left: 37px;
	top: 9px;
	*/
	position: relative;
	width: 26px;
	height: 26px;
	margin-right: 5px;
	pointer-events: none;
}

div.panelItemIconLarge {
	width: 30px;
	height: 30px;
}

img.panelItemIcon, img.panelItemIconWithBorder {
	display: block;
	width: 26px;
	height: 26px;
	pointer-events: none;
}

div.panelItemIconLarge img.panelItemIcon, div.panelItemIconLarge img.panelItemIconWithBorder {
	width: 30px;
	height: 30px;
}

img.panelItemIconWithBorder {
	border: solid 1px hsla(0, 0%, 0%, 0.35);
}

div.panelItemIconPad img.panelItemIcon, div.panelItemIconPad img.panelItemIconWithBorder {
	padding: 4px;
}

img.panelItemIconWithBorderCircle {
	border-radius: 50%;
}

div.panelItemIconRounded {
	border-radius: 3px;
}

div.panelItemLabel {
	/*
	position: absolute;
	z-index: 1;
	width: auto;
	left: 35px;
	right: 0px;
	top: 5px;
	height: 34px;
	padding: 0px 27px 0px 32px;
	*/
	font-size: 15px;
	line-height: 34px;
	color: hsl(0, 0%, 0%);
	overflow: hidden;
	white-space: nowrap;
	/*
	cursor: pointer;
	pointer-events: auto;
	*/
}

span.panelItemLabelInfo {
	font-size: 12px;
	opacity: 0.6;
}

div.panelItemDataAgeIcon {
	/*
	position: absolute;
	z-index: 2;
	right: 5px;
	top: 13px;
	*/
	/*
	height: 18px;
	width: 18px;
	border-radius: 50%;
	*/
	height: 24px;
	width: 28px;
	border-radius: 12px;
	/*border: solid 1px hsla(0, 0%, 0%, 0.10);*/
	font-size: 11px;
	letter-spacing: 0px;
	line-height: 22px;
	text-align: center;
	color: hsl(0, 0%, 100%);
	margin-left: auto;
	pointer-events: none;
}

div.panelItemLast {
	margin-left: auto;
	pointer-events: none;
}

div.panelNoticeMsg {
	font-size: 15px;
	line-height: 150%;
	color: hsl(50, 15%, 15%);
	font-style: italic;
	text-align: center;
	background-color: hsl(50, 100%, 85%);
	border-radius: 10px;
	padding: 10px;
}



/*** SUB PANELS ***/
div.subPanelAnimOpen, div.subPanelAnimClosed, div.subPanelInstantClosed {
	position: absolute;
	z-index: 10;
	width: 100%;
	height: auto;
	top: 50px;
	bottom: 0px;
	left: 0px;
	background-color: hsl(0, 0%, 100%);
	border-top: solid 3px hsl(50, 100%, 70%);
}

div.subPanelAnimOpen {
	left: 0px;
	transition: left 0.50s ease;
}

div.subPanelAnimClosed {
	left: -101%;
	transition: left 0.50s ease;
}

div.subPanelInstantClosed {
	left: -101%;
}



/*** INFO PANEL ***/
/* panels that overlay other content, i.e., platform info/plots, etc. */
div.infoPanelAnimOpen, div.infoPanelAnimClosed, div.infoPanelInstantClosed {
	position: absolute;
	z-index: 20;
	height: auto;
	top: 60px;
	bottom: 0px;
	width: 400px;
	padding: 0px;
	background-color: hsl(0, 0%, 100%);
	border-left: solid 1px hsl(205, 50%, 45%);
	pointer-events: auto;
	/*
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
	*/
}

.phoneView div.infoPanelAnimOpen, .phoneView div.infoPanelAnimClosed, .phoneView div.infoPanelInstantClosed {
	/*z-index: 20;*/
	top: 0px;
	width: 100%;
	border-left: none;
}

div.infoPanelAnimOpen {
	right: 0px;
	transition: right 0.50s ease;
}

div.infoPanelAnimClosed {
	right: -405px;
	transition: right 0.50s ease;
}

.phoneView div.infoPanelAnimClosed {
	right: -101%; 
	transition: right 0.50s ease;
}

div.infoPanelInstantClosed {
	right: -405px;
}

.phoneView div.infoPanelInstantClosed {
	right: -101%;
}

div.infoPanelHeader {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	height: 60px;
	top: 0px;
}

div.infoPanelHeaderCloseButton {
	position: absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	pointer-events: auto;
}

div.infoPanelHeaderCloseButtonIcon {
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	right: 23px;
	top: 20px;
	border-top: solid 4px hsl(0, 0%, 0%);
	border-right: solid 4px hsl(0, 0%, 0%);
	transform: rotate(45deg);
	pointer-events: none;
}

div.infoPanelHeaderContent {
	position: absolute;
	z-index: 1;
	width: auto;
	height: auto;
	left: 0px;
	right: 60px;
	top: 0px;
	bottom: 0px;
}

div.infoPanelFavIcon, div.infoPanelFavIconActive {
	position: absolute;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 0px;
	top: 0px;
	height: 60px;
	width: 60px;
	font-size: 0px;
	cursor: pointer;
	pointer-events: auto;
}

svg.infoPanelFavIcon {
	height: 32px;
	width: 32px;
	fill: hsl(0, 0%, 100%);
	stroke: hsl(0, 0%, 65%);
	stroke-width: 4px;
	pointer-events: none;
}

div.infoPanelFavIconActive svg.infoPanelFavIcon {
	fill: hsl(205, 100%, 60%); /*hsl(50, 100%, 65%);*/
	stroke: hsl(205, 100%, 60%); /*hsl(50, 50%, 55%);*/
}

div.infoPanelHeaderCenterBlock {
	position: absolute;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: auto;
	height: auto;
	left: 60px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	font-size: 0px;
}

div.infoPanelHeaderCenterBlockIcon {
	display: flex;
	justify-content: center;
	align-items: center
}

img.infoPanelHeaderCenterBlockIcon {
	width: 32px;
}

img.infoPanelHeaderCenterBlockIconRound {
	border-radius: 50%;
}

img.infoPanelHeaderCenterBlockIconBorder {
	border: solid 1px hsla(0, 0%, 0%, 0.35);
}

div.infoPanelHeaderCenterBlockLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 17px;
	letter-spacing: 0px;
	color: hsl(0, 0%, 0%);
}

div.infoPanelContent {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 60px;
	bottom: 0px;
	border-top: solid 1px hsl(0, 0%, 80%);
	padding: 15px 15px;
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.infoPanelContent .text {
	color: hsl(0, 0%, 0%);
	font-size: 15px;
}

div.infoPanelDetails {
	background-color: hsl(205, 100%, 92%);
	border: solid 1px hsla(0, 0%, 0%, 0.05);
	border-radius: 5px;
	padding: 5px;
}

div.infoPanelDetailFlexCenter {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 0px;
}

/*
div.infoPanelDetailFlexLR {
	display: flex;
	width: 100%;
	justify-content: space-between;
	font-size: 0px;
}
*/

div.infoPanelDetailGridWrapper {
	background-color: hsl(205, 100%, 92%); /*hsl(205, 25%, 95%);*/
	border: solid 1px hsla(0, 0%, 0%, 0.05);
	border-radius: 5px;
	padding: 5px;
	text-align: center;
	font-size: 0px;
}

div.infoPanelDetailGrid {
	display: inline-grid;
	grid-template-columns: auto auto;
	gap: 2px 10px;
}

div.infoPanelDataAgeIcon {
	/*
	height: 18px;
	width: 18px;
	border-radius: 50%;
	border: solid 1px hsla(0, 0%, 0%, 0.10);
	*/
	/*
	height: 18px;
	width: 20px;
	border-radius: 9px;
	font-size: 0px;
	*/
	height: 24px;
	width: 28px;
	border-radius: 12px;
	font-size: 11px;
	letter-spacing: 0px;
	line-height: 24px;
	text-align: center;
	color: hsl(0, 0%, 100%);
}

.infoPanelDetailItem, .infoPanelDetailItemDim, .infoPanelDetailItemSmall {
	color: hsl(0, 0%, 0%);
	font-size: 16px;
	line-height: 150%;
	text-align: left;
	white-space: nowrap;
}

.infoPanelDetailItemDim {
	color: hsla(0, 0%, 0%, 0.65);
}

.infoPanelDetailItemSmall {
	color: hsl(0, 0%, 25%);
	font-size: 15px;
}



/*** MINI PANEL (PHONE ONLY) ***/
/* panels that overlay other content, i.e., webcam image, surfrieder info, etc. */
.standardView div.miniPanelAnimOpen, .standardView div.miniPanelAnimClosed, .standardView div.miniPanelInstantClosed {
	position: absolute;
	z-index: 20;
	width: 400px;
	bottom: 5px;
	padding: 0px;
	font-size: 0px;
	/*border-radius: 5px;*/
	background-color: hsl(0, 0%, 100%);
	border: solid 1px hsl(205, 50%, 45%);
	pointer-events: auto;
}

.phoneView div.miniPanelAnimOpen, .phoneView div.miniPanelAnimClosed, .phoneView div.miniPanelInstantClosed {
	position: absolute;
	z-index: 20;
	width: auto;
	left: 0px;
	right: 0px;
	padding: 0px;
	font-size: 0px;
	background-color: hsl(0, 0%, 100%);
	border-top: solid 1px hsl(205, 50%, 45%);
	pointer-events: auto;
}

.standardView div.miniPanelAnimOpen {
	right: 5px;
	transition: right 0.50s ease;
}

.phoneView div.miniPanelAnimOpen {
	bottom: 0px;
	transition: bottom 0.50s ease;
}

.standardView div.miniPanelAnimClosed {
	right: -405px;
	transition: right 0.50s ease;
}

.phoneView div.miniPanelAnimClosed {
	bottom: -405px;
	transition: bottom 0.50s ease-in;
}

.standardView div.miniPanelInstantClosed {
	right: -405px;
}

.phoneView div.miniPanelInstantClosed {
	bottom: -405px;
}

div.miniPanelHeader {
	position: relative;
	/*
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	height: 40px;
	top: 0px;
	*/
	height: 40px;
}

div.miniPanelHeaderCloseButton {
	position: absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	pointer-events: auto;
}

div.miniPanelHeaderCloseButtonIcon {
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	right: 13px;
	top: 10px;
	border-top: solid 4px hsl(0, 0%, 0%);
	border-right: solid 4px hsl(0, 0%, 0%);
	transform: rotate(45deg);
	pointer-events: none;
}

.phoneView div.miniPanelHeaderCloseButtonIcon {
	right: 9px;
	top: 5px;
	border: none;
	border-right: solid 4px hsl(0, 0%, 0%);
	border-bottom: solid 4px hsl(0, 0%, 0%);
}

div.miniPanelHeaderContent {
	position: absolute;
	z-index: 1;
	width: auto;
	height: auto;
	left: 0px;
	right: 40px;
	top: 0px;
	bottom: 0px;
}

div.miniPanelHeaderCenterBlock {
	position: absolute;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: auto;
	height: auto;
	left: 40px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	font-size: 0px;
}

div.miniPanelHeaderCenterBlockIcon {
	display: flex;
	justify-content: center;
	align-items: center
}

img.miniPanelHeaderCenterBlockIcon {
	width: 32px;
}

img.miniPanelHeaderCenterBlockIconRound {
	border-radius: 50%;
}

img.miniPanelHeaderCenterBlockIconBorder {
	border: solid 1px hsla(0, 0%, 0%, 0.35);
}

svg.miniPanelHeaderCenterBlockIcon {
	width: 32px;
	fill: hsl(0, 0%, 65%);
	stroke-width: 3px;
	stroke: hsla(0, 0%, 0%, 0.50);
	paint-order: stroke;
	pointer-events: none;
}

div.miniPanelHeaderCenterBlockLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 16px;
	letter-spacing: 0px;
	color: hsl(0, 0%, 0%);
}

div.miniPanelContent {
	position: relative;
	/*
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 40px;
	bottom: 0px;
	*/
	max-height: 460px;
	border-top: solid 1px hsl(0, 0%, 80%);
	padding: 15px 15px;
	overflow-x: hidden;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

.phoneView div.miniPanelContent {
	max-height: 360px;
}

div.miniPanelContent .text {
	color: hsl(0, 0%, 0%);
	font-size: 15px;
}



/*** VARIABLE GRID ***/
div.varGrid {
  display: grid;
  grid-template-columns: min-content auto min-content min-content min-content;
  gap: 0px;
  padding: 0px;
}

div.varGroupLabel {
	height: auto !important;
	grid-column: 1/-1;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	color: hsl(205, 75%, 45%);
	text-align: center;
	margin-top: 15px;
	margin-bottom: 5px;
}

/*
div.varRowSpacer {
	grid-column: 1/-1;
	height: 10px;
}
*/

div.varGridCell, div.varGridCellSub {
	display: flex;
	align-items: center;
	height: 40px;
	font-size: 15px;
	color: hsl(0, 0%, 0%);
	white-space: nowrap;
	padding-left: 10px;
}

div.varGridCellSub {
	height: 30px;
}

div.varGridCellSubLastRow {
	margin-bottom: 5px;
}

div.varGridDataAge {
	padding-left: 0px;
}

div.varGridDataAgeIcon {
	/*
	height: 18px;
	width: 18px;
	border-radius: 50%;
	*/
	height: 24px;
	width: 28px;
	border-radius: 12px;
	font-size: 11px;
	letter-spacing: 0px;
	line-height: 24px;
	text-align: center;
	color: hsl(0, 0%, 100%);
	/*border: solid 1px hsla(0, 0%, 0%, 0.10);*/
	pointer-events: none;
}

div.varGridLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
}

span.varGridLabelDepth, span.varGridLabelDepthDim {
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 13px;
	color: hsl(0, 0%, 0%);
	margin-left: 6px;
}

span.varGridLabelDepthDim {
	color: hsl(0, 0%, 50%);
}

div.varGridValue {
	font-family: "StandardFontBold", "Arial", sans-serif;
	text-align: right;
}

div.varGridUnits {
	color: hsl(0, 0%, 30%);
}

div.varGridViewPlot{
	padding-left: 15px;
}

div.varGridPlotContainer, div.varGridProfilePlotContainer {
	position: relative;
	z-index: 1;
	grid-column: 1/-1;
}

div.varGridPlotReadoutContainer {
	position: absolute;
	z-index: 10;
	width: auto;
	left: 0px;
	right: 0px;
	top: 5px;
}

div.varGridViewPlotClosed, div.varGridViewPlotOpen {}

svg.varGridViewPlotArrow {
	width: 20px;
	height: 15px;
	fill: hsl(0, 0%, 75%);
	rotate: 0deg;
	transition: rotate 0.35s ease-in-out;
}

div.varGridViewPlotOpen svg.varGridViewPlotArrow {
	rotate: 180deg;
}

div.varGridPlotClosed, div.varGridPlotOpen {
	max-height: 0px;
	overflow: hidden;
	transition: max-height 0.25s linear;
}

div.varGridPlotOpen {
	max-height: 210px;
}

div.varGridProfilePlotContainer div.varGridPlotOpen {
	max-height: 310px;
}

div.varGridPlotFrame {
	height: 200px;
	background-color: hsl(0, 0%, 100%);
	/*border: solid 1px hsl(0, 0%, 85%);*/
	/*
	border-top: solid 1px hsl(0, 0%, 85%);
	border-bottom: solid 1px hsl(0, 0%, 85%);
	*/
	background-color: hsl(205, 25%, 95%);
	border-radius: 5px; /*10px;*/
	overflow: hidden;
	margin-bottom: 10px;
	box-sizing: border-box;
}

div.varGridProfilePlotContainer div.varGridPlotFrame {
	height: 300px;
}

div.varGridPlotLoadingMsg {
	position: absolute;
	z-index: 1;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: hsl(203, 100%, 40%);
	font-size: 20px;
	/*
	line-height: 200px;
	text-align: center;
	*/
}

div.varGridPlotWrapperHidden, div.varGridPlotWrapperVisible {
	position: absolute;
	z-index: 2;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	opacity: 0;
	/*background-color: hsl(0, 0%, 100%);*/
}

div.varGridPlotWrapperVisible {
	opacity: 1;
	transition: opacity 0.25s linear;
}

div.varGridPlotCanvas {
	position: absolute;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
}



/*** ACCOUNT ***/
img.accountNanoosLogo {
	width: 180px;
}

div.accountOptionsBlock {
	position: relative;
	display: inline-block;
	font-size: 0px;
	border: solid 2px hsl(205, 50%, 40%);
	border-radius: 10px;
	padding: 30px;
}



/*** CONTENT ***/
div.contentBlock {
	position: relative;
	font-size: 0px;
	text-align: left;
}

.standardView div.contentBlock {
	display: inline-block;
	font-size: 0px;
	border: solid 2px hsl(205, 50%, 40%);
	border-radius: 10px;
	padding: 30px;
}

p.contentHeading {
	font-family: "StandardFontBold", "Arial", sans-serif;
	color: hsl(205, 75%, 65%);
	font-size: 16px;
	margin-top: 15px;
	margin-bottom: 5px;
}

p.contentHeading:first-child {
	margin-top: 0px;
}

p.contentText {
	color: hsl(0, 0%, 100%);
	font-size: 16px;
	line-height: 150%;
}



/*** MENU TILE GRID ***/
div.menuTileGrid { /* grid max-height is set when creating rows/cells */
  /*position: absolute;*/
  z-index: 1;
  display: grid;
  width: 100%;
  height: 100%;
  gap: 10px;
  padding: 10px;
  margin: 0px;
}

.standardView div.menuTileGrid {
	height: auto;
	grid-template-columns: repeat(auto-fit, 180px);
	grid-template-rows: repeat(auto-fit, 180px);
	place-items: center;
	justify-content: center;
}

.phoneView div.menuTileGrid {
	grid-template-columns: 1fr 1fr;
}

div.menuTile, div.menuTileSpecial {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	background-color: hsl(205, 75%, 30%);
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	pointer-events: auto;
}

.standardView div.menuTile, .standardView div.menuTileSpecial {
	width: 100%;
	height: 100%;
}

.phoneView div.menuTileGrid div.menuTileSpecial {
	grid-column: 1 / -1;
}



img.menuTileIcon, img.menuTileIconLarge {
	position: relative;
	height: 50px;
	pointer-events: none;
}

img.menuTileIconLarge {
	top: -5px;
	scale: 1.35;
}

div.menuTileLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	letter-spacing: 0px;
	color: hsl(0, 0%, 100%);
	line-height: 125%; /*18px;*/
	text-align: center;
	pointer-events: none;
}

.phoneView {
	font-size: 16px;
}



/*** LAYERS ***/
div.layerIconForecast {
	background-color: hsl(150, 35%, 45%);
}

div.layerIconObs {
	background-color: hsl(205, 35%, 45%);
}

div.layerIconClimate {
	background-color: hsl(35, 50%, 45%);
}

div.layerIconAnomaly {
	background-image: linear-gradient(hsl(0, 50%, 40%), hsl(0, 0%, 65%), hsl(240, 50%, 40%));
	background-repeat: no-repeat;
  background-size: cover;
}

div.layerIconVariable {
	background-color: hsl(0, 0%, 45%);
}

div.layerIconDefault {
	background-color: hsl(0, 0%, 45%);
}



/*** INFO ***/
.standardView div.infoContainer {
	max-width: 600px;
	margin: 0px auto;
}

.phoneView div.infoContainer {}

div.infoText {
	font-size: 17px;
	line-height: 150%;
	color: hsl(0, 0%, 100%);
	margin-top: 15px;
}

div.infoText:first-child {
	margin-top: 0px;
}

.phoneView div.infoText {
	margin-top: 10px;
}

div.infoTitle {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 20px;
	line-height: 150%;
	color: hsl(50, 100%, 55%); 
	margin-top: 30px;
}

div.infoTitle:first-child {
	margin-top: 0px;
}

div.infoNotice {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 150%;
	color: hsl(50, 100%, 55%); 
}

div.infoErrorTitle {
	font-size: 24px;
	line-height: 150%;
	letter-spacing: 1px;
	color: hsl(50, 100%, 55%);
	text-align: center;
}



/*** ARTICLES ***/
a.articleGraphic {
	position: relative;
	display: block;
	max-width: 650px;
	background-color: hsl(0, 0%, 100%);
	padding: 10px;
	border-radius: 6px;
	margin: 35px auto 0px auto;
	box-sizing: border-box;
}

.phoneView a.articleGraphic {
	margin-top: 25px;
}

a.articleGraphic:first-child {
	margin-top: 0px;
}

.standardView a.articleGraphic:hover {
	text-decoration: none;
	box-shadow: 0px 0px 12px 3px hsl(200, 100%, 65%);
}

div.articleGraphicContent {
	position: relative;
	height: 170px;
	font-size: 0px;
	background-color: hsl(0, 0%, 50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-sizing: border-box;
	text-align: center;
	overflow: hidden;
	pointer-events: none;
}

p.articleGraphicTitle {
	display: inline-block;
	font-size: 20px;
	color: hsl(195, 100%, 35%);
	line-height: 100%;
	padding: 3px 15px 10px 15px;
	background-color: hsl(0, 0%, 100%);
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	text-align: center;
}

.phoneView p.articleGraphicTitle {
	display: block;
	font-size: 18px;
	border-radius: 0px;
}

img.articleGraphicSecondaryImg {
	position: absolute;
	width: 96px;
	height: 72px;
	left: 25px;
	top: 50%;
	margin-top: -36px;
}

.phoneView img.articleGraphicSecondaryImg {
	position: absolute;
	width: 96px;
	height: 72px;
	left: 25px;
	top: 50%;
	margin-top: -20px;
}

p.articleGraphicSummary {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 0px;
	font-size: 15px;
	line-height: 130%;
	color: hsl(0, 0%, 100%);
	padding: 5px 0px;
	text-align: center;
}



/*** DEBUG ***/
div.debugPanel {
	position: fixed;
	z-index: 99;
	right: 0px;
	top: 0px;
	max-width: 300px;
	background-color: hsl(0, 0%, 0%);
	border: solid 1px hsl(160, 100%, 60%);
	border-top: none;
	border-right: none;
	padding: 10px;
}

p.debugMsg {
	font-size: 15px;
	color: hsl(160, 100%, 60%);
	line-height: 150%;
	margin-top: 10px;
}

p.debugMsg:first-child {
	margin-top: 0px;
}
/*** STANDARD BUTTON ***/
.button, .buttonWire, .buttonRound { /* white */
	display: inline-block;
	vertical-align: top;
	text-align: center;
	font-family: "StandardFontRegular", "Arial", sans-serif;
	font-size: 18px;
	letter-spacing: 0px;
	color: hsl(205, 100%, 10%) !important;
	line-height: 18px;
	white-space: nowrap;
	line-height: 50px;
	padding: 0px 15px;
	border-radius: 5px;
	background-color: hsl(0, 0%, 100%);
	/*border: solid 1px hsl(0, 0%, 100%);*/
	overflow: hidden;
	cursor: pointer;
	pointer-events: all;
}

.button:hover, .buttonWire:hover, .buttonRound:hover { /* white */
	color: hsl(205, 100%, 10%) !important;
}

.buttonRound {
	border-radius: 25px;
}

div.buttonItems {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	color: inherit !important;
}

img.buttonIconSmall {
	height: 30px;
}

img.buttonIconMedium {
	height: 40px;
}

img.buttonIconLarge {
	height: 50px;
}

img.buttonIconDim {
	opacity: 0.65;
}

p.buttonLabel {
	font-size: 18px;
	letter-spacing: 0px;
	color: inherit !important;
}

.buttonBlue, .buttonBlue:hover {
	color: hsl(205, 100%, 5%) !important;
	background-color: hsl(205, 100%, 70%);
	/*border-color: hsl(205, 100%, 70%);*/
}

.buttonDarkBlue, .buttonDarkBlue:hover {
	color: hsl(0, 0%, 100%) !important;
	background-color: hsl(205, 75%, 30%);
	/*border-color: hsl(205, 65%, 30%);*/
}

.buttonGold, .buttonGold:hover {
	color: hsl(50, 100%, 5%) !important;
	background-color: hsl(50, 100%, 65%);
	/*border-color: hsl(50, 100%, 65%);*/
}

.buttonWire, .buttonWire:hover {
	background: none;
	color: hsl(0, 0%, 100%) !important;
	line-height: 16px;
	border: solid 1px hsl(0, 0%, 100%);
}

.buttonWireBlue, .buttonWireBlue:hover {
	color: hsl(205, 100%, 40%) !important;
	border-color: hsl(205, 100%, 45%);
}

.buttonFullWidth, .buttonFullWidth {
	display: block;
}

.buttonDisabled {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
}




/*** LINK BUTTON ***/
div.linkButton {
	margin-top: 50px;
	text-align: center;
	font-size: 0px;
}

div.linkButton:first-child {
	margin-top: 0px;
}

a.linkButton {
	display: inline-block;
	font-size: 18px;
	color: hsl(195, 100%, 65%);
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto;
}



/*** TOGGLE BUTTON ***/
div.toggleButtonOn, div.toggleButtonOff {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 28px;
	border-radius: 14px;
	background-color: hsl(155, 100%, 38%);
	overflow: hidden;
	cursor: pointer;
	pointer-events: auto;
}

div.toggleButtonOff {
	background-color: hsl(0, 0%, 0%, 0.35);
}

div.toggleButtonCircle {
	position: absolute;
	width: 24px;
	height: 24px;
	border-radius: 12px;
	background-color: hsl(0, 0%, 100%);
	pointer-events: none;
}

div.toggleButtonOn div.toggleButtonCircle {
	top: 2px;
	right: 2px;
}

div.toggleButtonOff div.toggleButtonCircle {
	top: 2px;
	left: 2px;
}

div.toggleButtonTextOn, div.toggleButtonTextOff {
	position: absolute;
	font-family: StandardFontRegular, sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 28px;
	pointer-events: none;
}

div.toggleButtonOn div.toggleButtonTextOn {
	display: block;
	color: hsl(0, 0%, 100%);
	top: 0px;
	left: 7px;
}

div.toggleButtonOff div.toggleButtonTextOn {
	display: none;
	color: hsl(0, 0%, 100%);
	top: 0px;
	left: 7px;
}

div.toggleButtonOn div.toggleButtonTextOff {
	display: none;
	color: hsl(0, 0%, 100%, 0.50);
	top: 0px;
	right: 5px;
}

div.toggleButtonOff div.toggleButtonTextOff {
	display: block;
	color: hsl(0, 0%, 100%, 0.50);
	top: 0px;
	right: 5px;
}

div.toggleButtonLabel {
	font-size: 15px;
	color: hsl(0, 0%, 30%);
	line-height: 30px;
}



/*** CHECKBOX BUTTONS ***/
div.checkBoxChecked, div.checkBoxUnchecked {
	display: flex; /*inline-block;*/
	align-items: center;
	column-gap: 8px;
	cursor: pointer;
	pointer-events: auto;
}

div.checkBoxIcon {
	position: relative;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 2px hsl(205, 15%, 50%);
	border-radius: 3px;
	box-sizing: border-box;
}

div.checkBoxChecked div.checkBoxIcon {
	border-color: hsl(205, 100%, 50%);
	background-color: hsl(205, 100%, 50%);
}

.checkBoxIconSvg {
	/*position: absolute;*/
	display: block;
	/*
	width: 16px;
	height: 16px;
	left: 2px;
	top: 2px;
	*/
	width: 80%;
	height: 80%;
	fill: hsl(0, 0%, 100%); /*hsl(205, 100%, 50%);*/
}

div.checkBoxUnchecked .checkBoxIconSvg {
	display: none;
}

div.checkBoxLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 15px;
	line-height: 34px;
	color: hsl(205, 15%, 35%);
	overflow: hidden;
	white-space: nowrap;
}

span.checkBoxLabelXtra {
	font-family: "StandardFontRgular", "Arial", sans-serif;
	opacity: 0.75;
}

div.checkBoxChecked div.checkBoxLabel {
	color: hsl(205, 100%, 40%);
}



/*** COMPARISON BUTTONS ***/
div.comparisonOptions {
	display: flex;
}

div.comparisonOpt, div.comparisonOptActive {
	width: 50px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
	color: hsl(205, 100%, 40%);
	background-color: hsl(0, 0%, 100%);
	border: solid 1px hsl(205, 100%, 45%);
	cursor: pointer;
	pointer-events: auto;
}

div.comparisonOpt:first-child, div.comparisonOptActive:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

div.comparisonOpt:last-child, div.comparisonOptActive:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

div.comparisonOptActive {
	color: hsl(0, 0%, 100%);
 	background-color: hsl(205, 100%, 45%);
 	pointer-events: none;
}


 
/*** OPTION BUTTONS ***/
div.optionItems {
	text-align: center;
	font-size: 0px;
	padding: 15px 0px 10px 0px;
}

div.optionItemContainer {
	text-align: center;
	font-size: 0px;
	margin-top: 30px;
}

div.optionItemContainer:first-child {
	margin-top: 0px;
}

div.optionItem {
	display: inline-block;
	font-size: 0px;
	/*margin-top: 30px;*/
	width: 290px;
}

/*
div.optionItem:first-child {
	margin-top: 0px;
}
*/

div.optionItemLabel {
	font-family: "StandardFontBold", "Arial", sans-serif;
	color: hsl(0, 0%, 100%);
	font-size: 18px;
	text-align: left;
}

div.optionItemDescription {
	font-style: italic;
	color: hsl(0, 0%, 65%);
	font-size: 15px;
	line-height: 135%;
	margin-top: 5px;
	text-align: left;
}

table.optionItem {
	margin-top: 10px;
}

table.optionItem td {
	font-size: 0px;
}

table.optionItem td.optionButton {}

table.optionItem td.example {}

div.optionButtonNorm, div.optionButtonSelected {
	width: 145px;
	color: hsl(205, 100%, 85%);
	background-color: hsl(205, 100%, 20%);
	border-bottom: solid 1px hsl(205, 50%, 40%);
	border-right: solid 1px hsl(205, 50%, 40%);
	font-size: 16px;
	line-height: 50px;
	text-align: center;
	padding: 0px 10px;
	pointer-events: auto;
	cursor: pointer;
}

table.optionItem tr:first-child div.optionButtonNorm, table.optionItem tr:first-child div.optionButtonSelected {
	border-top: solid 1px hsl(205, 50%, 40%);
}

table.optionItem td:first-child div.optionButtonNorm, table.optionItem td:first-child div.optionButtonSelected {
	border-left: solid 1px hsl(205, 50%, 40%);
}

table.optionItem tr.optionRowFirst td:first-child div.optionButtonNorm, table.optionItem tr.optionRowFirst td:first-child div.optionButtonSelected {
	border-top-left-radius: 5px;
}

table.optionItem tr.optionRowFirst td:last-child div.optionButtonNorm, table.optionItem tr.optionRowFirst td:last-child div.optionButtonSelected {
	border-top-right-radius: 5px;
}

table.optionItem tr.optionRowLast td:first-child div.optionButtonNorm, table.optionItem tr.optionRowLast td:first-child div.optionButtonSelected {
	border-bottom-left-radius: 5px;
}

table.optionItem tr.optionRowLast td:last-child div.optionButtonNorm, table.optionItem tr.optionRowLast td:last-child div.optionButtonSelected {
	border-bottom-right-radius: 5px;
}

/*
table.optionItem td:first-child div.optionButtonNorm, table.optionItem td:first-child div.optionButtonSelected {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border-right: none;
}

table.optionItem td:last-child div.optionButtonNorm, table.optionItem td:last-child div.optionButtonSelected {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	border-left: none;
}
*/

div.optionButtonSelected {
	color: hsl(0, 0%, 0%);
	background-color: hsl(50, 100%, 60%);
	/*border: none;*/
	border-color: hsl(50, 100%, 60%);
	pointer-events: none;
}

div.optionExample {
	color: hsl(205, 100%, 70%);
	font-size: 15px;
	text-align: center;
	margin-top: 10px;
}

input.default, textarea.default {
	width: 100%;
	font-size: 16px;
	letter-spacing: 0.5px;
	line-height: 160%;
	padding: 10px;
	color: hsl(0, 0%, 100%);
	border: none;
	border: solid 1px hsl(205, 65%, 50%);
	resize: none;
	background: none;
	background-color: hsla(0, 0%, 0%, 0.25);
	/*border-radius: 4px;*/
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 3px;
	-webkit-appearance: none;
	pointer-events: auto !important;
}

input.default:focus, textarea.default:focus {
	outline: none;
	color: hsl(50, 100%, 80%);
	border: solid 1px hsl(50, 100%, 65%);
	/*background-color: hsl(200, 100%, 85%);*/
	box-shadow: 0px 0px 0px 1px hsla(50, 100%, 65%, 1.50);
}

div.fieldLabel {
	font-size: 15px;
	color: hsl(205, 75%, 65%);
	margin-bottom: 3px;
	margin-top: 25px;
}

div.fieldLabel:first-child {
	margin-top: 0px;
}

input.fieldInvalid, textarea.fieldInvalid {
	background-color: hsl(0, 100%, 15%);
	border-color: hsl(0, 100%, 50%);
}
div.appTilesTitle {
	font-family: "TitleFontRegular", "Arial", sans-serif;
	font-size: 60px;
	letter-spacing: 15px;
	color: hsl(0, 0%, 100%);
	text-align: center;
	height: 50px;
	line-height: 50px;
	margin-top: 30px;
}

.phoneView div.appTilesTitle {
	font-size: 50px;
	height: 40px;
	line-height: 40px;	
}

div.appTilePanel, div.appTilePanelWithTitle {
	position: absolute;
	z-index: 1;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
	display: flex;
  justify-content: center;
  align-items: center;
}

div.appTilePanelWithTitle {
	top: 80px;
}

.phoneView div.appTilePanelWithTitle {
	top: 70px;
}

div.appTileContainer {
  display: grid;
  width: 100%;
  max-width: calc((4 * 180px) + (3 * 40px) + (2 * 20px) + 10px); /* limit to 4 columns by setting max-width to 4 grid cells + 3 gaps + 2 padding + xtra */
	grid-template-columns: repeat(auto-fill, 180px);
	/*grid-template-columns: auto auto;*/
	/*grid-template-columns: repeat(auto-fit, 200px);*/
	/*grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));*/
	justify-content: center;
  gap: 40px;
  padding: 0px 20px;
}

.phoneView div.appTileContainer {
	grid-template-columns: repeat(auto-fill, 150px);
	gap: 20px;
}

.appGridMenu div.appTileContainer {
	grid-template-columns: repeat(auto-fill, 140px);
	gap: 20px;
}



/*** APP TILE - GRID ***/
div.appTile, div.appTileActive, div.appTileCurrentApp {
	position: relative;
	width: 100%;
	background-color: hsl(205, 75%, 30%);
	padding: 20px;
	border-radius: 20px;
	cursor: pointer;
	pointer-events: auto;
}

.phoneView div.appTile, .phoneView div.appTileActive, .phoneView div.appTileCurrentApp {
	padding: 15px;
	border-radius: 15px;
}

.appGridMenu div.appTile, .appGridMenu div.appTileActive, .appGridMenu div.appTileCurrentApp {
	padding: 12px;
	border-radius: 12px;
}

.appGridMenu div.appTile {
	background-color: hsl(205, 75%, 35%);
}

/*
.standardView div.appTile:hover {
	background-color: hsl(205, 85%, 35%);
}
*/

div.appTileActive {
	background-color: hsl(205, 100%, 50%);
	cursor: default;
	pointer-events: none;
}

div.appTileCurrentApp {
	background-color: hsl(50, 100%, 55%);
	cursor: default;
	pointer-events: none;
}

div.appTileImageWrapper {
	position: relative;
}

div.appTileImage {
	/*width: 200px;*/
	/*height: 160px;*/
	width: 100%;
	aspect-ratio: 5/4;
	background-color: hsl(205, 15%, 65%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border: solid 1px hsl(205, 25%, 90%);
	border-radius: 10px;
	pointer-events: none;
}

div.appTileCurrentApp div.appTileImage {
	border-color: hsl(50, 10%, 20%);
}

div.appTileLabel {
	font-size: 20px;
	line-height: 145%;
	color: hsl(0, 0%, 100%);
	text-align: center;
	margin-top: 15px;
	pointer-events: none;
}

.phoneView div.appTileLabel {
	font-size: 18px;
	margin-top: 10px;
}

.appGridMenu div.appTileLabel {
	font-size: 16px;
	margin-top: 10px;
}

div.appTileCurrentApp div.appTileLabel {
	color: hsl(50, 10%, 20%);
}

img.appTileBadge {
	position: absolute;
	z-index: 5;
	width: 40px;
	height: 40px;
	left: -6px;
	top: -6px;
}

.phoneView img.appTileBadge {
	width: 36px;
	height: 36px;
	left: -6px;
	top: -6px;
}

.appGridMenu img.appTileBadge {
	width: 34px;
	height: 34px;
	left: -6px;
	top: -6px;
}


/*** APP TILE - LIST ***/
/*
div.appListTile, div.appListTileActive, div.appListTileCurrentApp {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: hsl(205, 75%, 30%);
	padding: 15px;
	border-radius: 15px;
	margin: 30px 10px 0px 10px;
	cursor: pointer;
	pointer-events: auto;
}

.phoneView div.appListTile, .phoneView div.appListTileActive, .phoneView div.appListTileCurrentApp {
	margin: 30px 15px 0px 15px;
}

div.appListTileActive {
	background-color: hsl(205, 100%, 50%);
	cursor: default;
	pointer-events: none;
}

div.appListTileCurrentApp {
	background-color: hsl(50, 100%, 55%);
	cursor: default;
	pointer-events: none;
}

div.appListTileImage {
	width: 40%;
	aspect-ratio: 3 / 2;
	background-color: hsl(205, 15%, 35%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border: solid 1px hsl(0, 0%, 100%);
	border-radius: 10px;
	pointer-events: none;
}

div.appListTileCurrentApp div.appListTileImage {
	border-color: hsl(50, 10%, 20%);
}

div.appListTileLabel {
	font-size: 18px;
	line-height: 145%;
	color: hsl(0, 0%, 100%);
	pointer-events: none;
}

div.appListTileCurrentApp div.appListTileLabel {
	color: hsl(50, 10%, 20%);
}

img.appListTileBadge {
	position: absolute;
	z-index: 5;
	width: 36px;
	height: 36px;
	left: -15px;
	top: -15px;
}
*/
.fadeOut {
	opacity: 0 !important;
	transition: opacity 0.50s linear;
}

.fadeOutQuick {
	opacity: 0 !important;
	transition: opacity 0.25s linear;
}

.fadeIn {
	opacity: 1 !important;
	transition: opacity 0.50s linear;
}

.fadeInQuick {
	opacity: 1 !important;
	transition: opacity 0.25s linear;
}

.opacity0 {
	opacity: 0 !important;
}

.vSpaceXXS {
	margin-top: 2px !important;
}

td.vSpaceXXS {
	padding-top: 2px !important;
}

.vSpaceXS {
	margin-top: 4px !important;
}

td.vSpaceXS {
	padding-top: 4px !important;
}

.vSpaceS {
	margin-top: 8px !important;
}

td.vSpaceS {
	padding-top: 8px !important;
}

.vSpaceBS {
	margin-bottom: 8px !important;
}

td.vSpaceBS {
	padding-bottom: 8px !important;
}

.vSpaceSM {
	margin-top: 12px !important;
}

td.vSpaceSM {
	padding-top: 12px !important;
}

.vSpaceM {
	margin-top: 16px !important;
}

td.vSpaceM {
	padding-top: 16px !important;
}

.vSpaceL {
	margin-top: 32px !important;
}

td.vSpaceL {
	padding-top: 32px !important;
}

.vSpaceXL {
	margin-top: 64px !important;
}

td.vSpaceXL {
	padding-top: 64px !important;
}

.vSpaceXXL {
	margin-top: 96px !important;
}

td.vSpaceXXL {
	padding-top: 96px !important;
}

.hSpaceXS {
	padding: 0px 2px !important;
}

.hSpaceS {
	padding: 0px 4px !important;
}

.hSpaceSM {
	padding: 0px 6px !important;
}

.hSpaceM {
	padding: 0px 8px !important;
}

.hSpaceL {
	padding: 0px 16px !important;
}

.textCenter, .centerText, .centerContents {
	text-align: center !important;
}

.textLeft, .contentsLeft {
	text-align: left !important;
}

.textRight, .contentsRight {
	text-align: right !important;
}

.textVertCenter, .vertCenterContents {
	vertical-align: middle !important;
}

table.vertCenterContents td {
	vertical-align: middle !important;
}

.vertAlignTop {
	vertical-align: top !important;
}

.vertAlignBottom {
	vertical-align: bottom !important;
}

table.basicPadding td {
	padding: 6px !important;
}

.hLeft {
	margin-right: auto !important;
}

.hRight {
	margin-left: auto !important;
}

.hCenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

.vCenter {
	margin-top: auto !important;
	margin-bottom: auto !important;
}

.bold {
	font-weight: bold !important;
}

.unBold, .notBold, .fontWeightNormal {
	font-weight: normal !important;
}

.noWrap, .nowrap {
	white-space: nowrap !important;
}

.textWrap {
	white-space: normal !important;
}

.noPad {
	padding: 0px !important;
}

.pad4 {
	padding: 4px !important;
}

.pad8 {
	padding: 8px !important;
}

.pad12 {
	padding: 12px !important;
}

.pad16 {
	padding: 16px !important;
}

.standardBorder {
	border: solid 1px <box-b-c> !important;
}

.noBorder {
	border: none !important;
}

.noTopBorder {
	border-top: none !important;
}

.noMargins {
	margin: 0px !important;
}

.noMarginTop {
	margin-top: 0px !important;
}

.noMarginBottom {
	margin-bottom: 0px !important;
}

.noMarginRight {
	margin-right: 0px !important;
}

.noMarginLeft {
	margin-left: 0px !important;
}

.noPadTop {
	padding-top: 0px !important;
}

.borderBox {
	box-sizing: border-box !important;
}

div.stackedM {
	margin-top: 12px !important;
}

div.stackedM:first-child {
	margin-top: 0px !important;
}

.noPointerEvents, .pointerEventsNone {
 pointer-events: none !important;
}

.autoPointerEvents, .pointerEventsAuto {
	pointer-events: auto !important;
}

.allPointerEvents, .pointerEventsAll {
 pointer-events: all !important;
}

.bold {
	font-weight: bold !important;
}

.italic {
	font-style: italic !important;
}

.indentS {
	margin-left: 8px !important;
}

.indent {
	margin-left: 16px !important;
}

.indentM {
	margin-left: 32px !important;
}

.indentL {
	margin-left: 64px !important;
}

.lineHeight100 {
	line-height: 100% !important;
}

.lineHeight125 {
	line-height: 125% !important;
}

.lineHeight150 {
	line-height: 150% !important;
}

.lineHeight200 {
	line-height: 200% !important;
}

.fullWidth {
	width: 100% !important;
}

.maxWidth {
	width: 99% !important;
}

.minWidth {
	width: 1% !important;
}

.minWidth500 {
	min-width: 500px !important;
}

.maxWidth200 {
	max-width: 200px !important;
}

.maxWidth300 {
	max-width: 300px !important;
}

.maxWidth400 {
	max-width: 400px !important;
}

.maxWidth500 {
	max-width: 500px !important;
}

.opaque {
	opacity: 1.0 !important;
}

.muted {
	opacity: 0.75 !important;
}

.faded {
	opacity: 0.65 !important;
}

.dim {
	opacity: 0.5 !important;
}

.translucent {
	opacity: 0.25 !important;
}

.tableDisplay, .displayTable {
	display: table !important;
}

.blockDisplay, .displayBlock {
	display: block !important;
}

.inlineBlockDisplay, .displayInlineBlock {
	display: inline-block !important;
}

.displayFlex {
	display: flex !important;
}

.visibilityVisible {
	visibility: visible !important;
}

.visibilityHidden {
	visibility: hidden !important;
}

.positionRelative {
	position: relative !important;
}

.positionAbsolute {
	position: absolute !important;
	z-index: 1;
}

.positionAbsoluteFullSize {
	position: absolute !important;
	z-index: 1;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
}

.hideOverflow, .overflowHide, .overflowHidden {
	overflow: hidden !important;
}

.scrollOverflow, .overflowScroll {
	overflow: scroll !important;
}

.autoOverflow, .overflowAuto {
	overflow: auto !important;
}

.overFlowAutoY {
	overflow-y: auto !important;
}

.overFlowAutoX {
	overflow-x: auto !important;
}

.borderRadiusS {
	border-radius: 6px !important;
}

.borderRadiusM {
	border-radius: 12px !important;
}

.borderRadiusL {
	border-radius: 24px !important;
}

.letterSpacing1 {
	letter-spacing: 1px;
}

.shadowDefault {
	box-shadow: <s-obj-standard> !important;
}

.shadowLarge {
	box-shadow: <s-obj-large> !important;
}

.textShadow {
	text-shadow: <text-s-standard> !important;
}

.hiliteShadow:hover {
	box-shadow: 0px 0px 6px 3px <linkblock-s-hover> !important;
}

.fontLight {
	font-family: StandardFontLight, sans-serif !important;
}

.fontRegular {
	font-family: StandardFontRegular, sans-serif !important;
}

.fontBold {
	font-family: StandardFontBold, sans-serif !important;
}

.underline:active {
	text-decoration: underline !important;
}

.noUnderline, .noUnderline:hover, .noUnderline:active {
	text-decoration: none !important;
}

.capitalizeWords {
	text-transform: capitalize !important;
}

.redBorder {
	border: solid 1px red !important;
}

.tableCellBorder td {
	border: solid 1px red !important;
}

.brighterOnHover:hover {
	filter: brightness(135%);
}

.fillExtentsYScroll {
	position: absolute;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	overflow-x: hidden;
	overflow-y: auto;
}

.fillExtentsNoScroll {
	position: absolute;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
}

.fontSize0, .fontSize0px {
	font-size: 0px !important;
}

.flexCenterHV {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flexCenterH {
	display: flex !important;
	justify-content: center;
}

.flexCenterV {
	display: flex !important;
	align-items: center;
}

.selectable {
	-webkit-touch-callout: all !important;
	-webkit-user-select: all !important;
	-khtml-user-select: all !important;
	-moz-user-select: all !important;
	-ms-user-select: all !important;
	user-select: all !important;
}

.textSelectable {
	-webkit-touch-callout: text !important;
	-webkit-user-select: text !important;
	-khtml-user-select: text !important;
	-moz-user-select: text !important;
	-ms-user-select: text !important;
	user-select: text !important;
}

.notSelectable {
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: -moz-none !important;
	-ms-user-select: none !important;
	user-select: none !important;
}

p.text, td.line, td.date, td.paragraph {
	-webkit-touch-callout: text !important;
	-webkit-user-select: text !important;
	-khtml-user-select: text !important;
	-moz-user-select: text !important;
	-ms-user-select: text !important;
	user-select: text !important;
}

.cursorPointer {
	cursor: pointer !important;
}

.clickable, .mouseInput .clickable:hover {
	cursor: pointer !important;
	pointer-events: auto;
}

.notClickable {
	cursor: default !important;
	pointer-events: none !important;
}

.disabled {
	opacity: 0.25 !important;
	filter: alpha(opacity=25) !important;
	cursor: default !important;
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: -moz-none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	pointer-events: none;
}



/*** SAFARI MODIFIERS ***/
.Safari body, .Safari p, .Safari span, .Safari div, .Safari table, .Safari tr, .Safari td, .Safari a, .Safari ul, .Safari li, .Safari textarea, .Safari input {
	/* the following helps safari, but hurts chrome */
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 0.40px !important;
}

.Safari div.infoObj p, .Safari div.infoObj span, .Safari div.infoObj div, .Safari div.infoObj td, .Safari div.infoObj a, .Safari div.infoObj li, .Safari div.infoObj textarea, .Safari div.infoObj input {
	/* the following helps safari, but hurts chrome */
	-webkit-font-smoothing: initial !important;
	-webkit-text-stroke: initial !important;
}



/*** IE MODIFIERS ***/
/* page submenu fades in, so the background image needs to be replaced with a background color.  the menu items are changed for consistency */
.IE .mouseInput a.pageMenuItem:hover {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE a.pageMenuItemActive {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE .mouseInput a.pageMenuItemActive:hover {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE div.pageMenuRowDivider {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE .mouseInput a.pageSubmenuItem:hover {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE a.pageSubmenuItemActive {
	background: none !important;
	background-color: <bg-c> !important;
}

.IE .mouseInput a.pageSubmenuItemActive:hover {
	background: none !important;
	background-color: <bg-c> !important;
}
