/*
	COLOR KEY
	Blue   - hsl(208, 69%, 36%);
	Cyan   - hsl(203, 61%, 47%);
	Yellow - hsl(50, 87%, 53%);
*/



div.content, div.contentPhoneEmulation {
	width: 100%;
	height: 100%;
	background-color: hsl(0, 0%, 100%);
	overflow: hidden;
}

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



/* CONTENT PANEL */
div.contentWrapper {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

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

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

div.contentPanel, div.contentPanelBlur {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	overflow: hidden;
	/*transition: all 0.5s linear;*/
}

div.contentPanelBlur {
	filter: blur(3px);
}

div.contentPanelBg {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 400px;
	bottom: -150px;
	opacity: 0.10;
	background-image: url("/images/bg-waves.png");
	background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  overflow: hidden;
}

div.contentFrame {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: auto;
	top: 0px;
	bottom: 0px;
	overflow: hidden;
}

div.contentFrameScroll {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0px;
	bottom: 0px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

div.contentFrameWithHeader {
	top: 51px;
}

div.contentFramePad {
	padding: 20px;
}

.standardView div.padBottom {
	padding-bottom: 20px;
}

.phoneView div.padBottom {
	padding-bottom: 40px;
}

div.contentFrameFlexCenterHV { /* centers content & horizontally & vertically */
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
  align-items: safe center;
  justify-content: safe center;
}

div.contentFrameFlexCenterH { /* centers content horizontally */
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
  justify-content: safe center;
}

div.panelContent, div.panelContentWithHeader, div.panelContentScrollableWithHeader, div.panelContentScrollableNoHeader {
	position: absolute;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	padding: 20px 20px;
	overflow-x: hidden;
	overflow-y: hidden;
}

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

div.panelContentWithHeader, div.panelContentScrollableWithHeader {
	top: 51px;
}



/* OVERLAY PANEL */
div.overlayPanel, div.overlayPanelHidden {
	position: absolute;
	z-index: 800;
	display: none;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}

.phoneView div.overlayPanel, .phoneView div.overlayPanelHidden {
	opacity: 1;
	transition: opacity 0.50s ease-out;
}

.phoneView div.overlayPanelHidden {
	opacity: 0;
}

div.overlayPanelBg {
	position: absolute;
	z-index: 1;
	display: block;
	width: auto;
	height: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	background-color: hsla(0, 0%, 50%, 0.85);
	opacity: 1;
	/*pointer-events: auto;*/
}

.standardView div.overlayPanelBg {
	transition: opacity 0.35s ease-out;
}

.standardView div.overlayPanelHidden div.overlayPanelBg {
 	opacity: 0;
 	transition: opacity 0.35s 0.40s ease-out;
}

div.overlayPanelContent {
	position: absolute;
	z-index: 2;
	display: flex;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	flex-direction: column;
	align-items: center;
	/*
  align-items: safe center;
  justify-content: safe center;
  */
	padding: 20px 15px;
	font-size: 0px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

.phoneView div.overlayPanelContent {
	display: block;
	padding: 10px;
}

div.overlayPanelBox {
	position: relative;
	/*z-index: 1;*/
	/*width: 350px;*/
	background-color: hsl(0, 0%, 100%);
	padding: 20px;	
	border-radius: 10px;
	box-shadow: 0px 0px 8px 1px hsla(0, 0%, 0%, 0.50);
	opacity: 1;	
}

.standardView div.overlayPanelBox {
	max-width: 800px;
	transition: opacity 0.35s 0.40s ease-out;
}

.standardView div.overlayPanelHidden div.overlayPanelBox {
 	opacity: 0;
 	transition: opacity 0.35s ease-out;
}

.phoneView div.overlayPanelBox {
	display: block;
	padding: 10px;
}

div.overlayPanelBoxWhiteoutHidden, div.overlayPanelBoxWhiteoutInstantHidden, div.overlayPanelBoxWhiteoutVisible {
	position: absolute;
	z-index: 9;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	background-color: hsla(0, 0%, 85%, 0.85);
	opacity: 0;
	border-radius: 10px;
	transition: opacity 0.35s ease-out;
	pointer-events: auto;
}

div.overlayPanelBoxWhiteoutInstantHidden {
	transition: none;
}

div.overlayPanelBoxWhiteoutVisible {
	opacity: 1;
}

div.overlayPanelMsgHidden, div.overlayPanelMsgInstantHidden, div.overlayPanelMsgVisible {
	position: absolute;
	z-index: 801;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	/*background-color: hsla(0, 0%, 85%, 0.85);*/
	/*border-radius: 10px;*/
	padding: 70px 30px 20px 30px;
	font-size: 0px;
	/*
	opacity: 0;
	transition: opacity 0.35s ease-out;
	*/
	/*
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
	*/
}

/*
div.overlayPanelMsgInstantHidden {
	transition: none;
}

div.overlayPanelMsgVisible {
	opacity: 1;
}
*/

.phoneView div.overlayPanelMsgHidden, .phoneView div.overlayPanelMsgInstantHidden, .phoneView div.overlayPanelMsgVisible {
	padding: 20px;
}

div.overlayPanelMsgContents {
	opacity: 0;
	transition: opacity 0.35s ease-out;
}

div.overlayPanelMsgInstantHidden div.overlayPanelMsgContents {
	transition: none;
}

div.overlayPanelMsgVisible div.overlayPanelMsgContents {
	opacity: 1;
}

.standardView div.overlayPanelMsgContents {
	display: flex;
	flex-direction: column;
	align-items: center;
}

div.overlayPanelMsgBoxAlert, div.overlayPanelMsgBoxConfirm {
	background-color: hsl(0, 0%, 100%);
	border: solid 4px hsl(0, 100%, 45%);
	border-radius: 10px;
	box-shadow: 0px 0px 0px 3px hsl(0, 0%, 100%); /*0px 0px 0px 4px hsla(0, 0%, 100%, 1), 0px 0px 5px 3px hsla(0, 0%, 0%, 0.50);*/
	overflow: hidden;
	pointer-events: auto;
}

.standardView div.overlayPanelMsgBoxAlert, .standardView div.overlayPanelMsgBoxConfirm {
	min-width: 400px;
	max-width: 800px;
}

div.overlayPanelMsgBoxConfirm {
	border-color: hsl(158, 100%, 35%);
	pointer-events: none;
}

div.overlayPanelMsgTitle {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 22px;
	line-height: 125%;
	text-align: center;
	color: hsl(0, 100%, 40%);
	/*border-bottom: solid 1px hsl(0, 0%, 85%);*/
	padding: 12px 0px 10px 0px;
	margin: 0px 15px;
	pointer-events: none;
}

div.overlayPanelMsgBoxConfirm div.overlayPanelMsgTitle {
	color: hsl(158, 100%, 30%);
}

div.overlayPanelMsgItems {
	border-top: solid 1px hsl(0, 0%, 85%);
	margin: 0px 10px;
	padding: 20px 10px;
	pointer-events: none;
}

.phoneView div.overlayPanelMsgItems {
	padding: 15px;
}

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

div.overlayPanelMsgBoxItem {
	font-size: 18px;
	line-height: 130%;
	color: hsl(0, 0%, 0%);
	margin-top: 10px;
}

.phoneView div.overlayPanelMsgBoxItem {
	font-size: 16px;
}

ul.overlayPanelMsgBoxItems {
	margin: 0px;
	padding: 0px;
}

li.overlayPanelMsgBoxItem {
	font-size: 18px;
	line-height: 125%;
	color: hsl(0, 0%, 0%);
	margin-left: 20px;
	margin-top: 10px;
}

li.overlayPanelMsgBoxItem:first-child {
	margin-top: 0px;
}

div.overlayPanelMsgButtons {
	text-align: center;
	/*background-color: hsl(0, 0%, 94%);*/
	border-top: solid 1px hsl(0, 0%, 85%);
	padding: 10px 0px;
	margin: 0px 10px;
}

div.overlayPanelMsgCloseBtn {
	display: inline-block;
	min-width: 80px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 266%;
	color: hsl(0, 0%, 100%);
	background-color: hsl(158, 100%, 32%);
	padding: 0px 16px;
	border-radius: 5px;
	text-align: center;
	cursor: pointer;
	pointer-events: auto;
}

.phoneView .overlayPanelMsgCloseBtn {
	font-size: 16px;
	padding: 0px 14px;
}

.standardView .overlayPanelMsgCloseBtn:hover {
	color: hsl(0, 0%, 100%);
	background-color: hsl(158, 100%, 38%);
}

div.overlayPanelInfoPanelHidden, div.overlayPanelInfoPanelVisible {
	position: absolute;
	z-index: 10;
	left: 20px;
	right: 20px;
	top: 0px;
	opacity: 0;
	font-size: 0px;
	pointer-events: auto;
}

div.overlayPanelInfoPanelVisible {
	opacity: 1;
	transition: opacity 0.25s ease-out;
}

.phoneView div.overlayPanelInfoPanelHidden, .phoneView div.overlayPanelInfoPanelVisible {
	left: 10px;
	right: 10px;
}

div.overlayPanelInfoPanelContent {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	font-size: 0px;
	padding: 10px 14px;
	background-color: hsl(0, 0%, 100%);
	border: solid 4px hsl(50, 90%, 50%);
	border-radius: 8px;
	/*box-shadow: 0px 0px 3px 0px hsla(0, 0%, 0%, 0.35);*/
	pointer-events: auto;
}

div.overlayPanelInfoPanelCloseBtn {
	position: absolute;
	z-index: 1;
	right: -9px;
	top: -9px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
  justify-content: center;
	pointer-events: auto;
	background-color: hsl(50, 90%, 50%);
	border: solid 2px hsl(0, 0%, 100%);
	border-radius: 5px;
	cursor: pointer;
}

.standardView div.overlayPanelInfoPanelCloseBtn:hover {
	background-color: hsl(50, 90%, 60%);
}

svg.overlayPanelInfoPanelCloseBtnIcon {
	position: relative;
	width: 18px;
	height: 18px;
	fill: hsl(0, 0%, 100%);
	rotate: 45deg;
	pointer-events: none;
}

div.overlayPanelInfoPanelText {
	font-size: 15px;
	line-height: 135%;
	color: hsl(50, 50%, 20%);
	pointer-events: none;
}

div.overlayPanelCloseBtn {
	position: absolute;
	z-index: 5;
	right: 2px;
	top: -4px;
	width: 37px;
	height: 37px;
	border-radius: 5px;
	cursor: pointer;
	pointer-events: auto;
}

.phoneView div.overlayPanelCloseBtn {
	right: 2px;
	top: -7px;
}

.standardView div.overlayPanelCloseBtn:hover {
	background-color: hsl(204, 100%, 96%);
}

div.overlayPanelCloseBtnIcon1, div.overlayPanelCloseBtnIcon2 {
	position: absolute;
	width: 27px;
	height: 3px;
	left: 5px;
	top: 17px;
	background-color: hsl(204, 50%, 70%);
	rotate: 45deg;
}

div.overlayPanelCloseBtnIcon2 {
	rotate: -45deg;
}



/* CONFIRM PANEL */
div.confirmPanel, div.confirmPanelHidden {
	position: absolute;
	z-index: 900;
	display: none; /* flex | none */
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}

div.confirmPanelBg {
	position: absolute;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: hsla(0, 0%, 50%, 0.75);
	pointer-events: auto;
}

div.confirmPanelBox {
	position: relative;
	z-index: 2;
	top: 10%;
	width: 400px;
	background-color: hsl(0, 0%, 100%);
	padding: 20px;	
	border-radius: 10px;
	box-shadow: 0px 0px 8px 1px hsla(0, 0%, 0%, 0.50);
	opacity: 1;
	transition: opacity 0.35s 0.1s ease-out;
}

.phoneView div.confirmPanelBox {
	width: 300px;
}

div.confirmPanelHidden div.confirmPanelBox {
 	opacity: 0;
 	transition: opacity 0.25s ease-out;
}

div.confirmMsg {
	font-size: 18px;
	line-height: 135%;
	min-height: 60px;
	color: hsl(0, 0%, 0%);
	text-align: center;
}

div.confirmButtonsMulti, div.confirmButtonsSingle {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 20px;
	font-size: 0px;
}

div.confirmButtonsSingle {
	justify-content: center;
}

div.confirmButtonConfirm, div.confirmButtonCancel {
	display: inline-block;
	min-width: 100px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 266%;
	/*letter-spacing: 0px;*/
	color: hsl(0, 0%, 100%);
	padding: 0px 12px;
	border-radius: 5px;
	background-color: hsl(203, 100%, 40%);
	border: solid 1px hsl(203, 100%, 40%);
	white-space: nowrap;
	text-align: center;
	cursor: pointer;
	pointer-events: all;
}

div.confirmButtonCancel {
	color: hsl(203, 100%, 40%);
	background-color: hsl(0, 0%, 100%);
}

.standardView .confirmButtonConfirm:hover{
	background-color: hsl(203, 100%, 50%);
	border: solid 1px hsl(203, 100%, 50%);
}

.standardView .confirmButtonCancel:hover {
	background-color: hsl(203, 100%, 92%);
}



/* LOG PANEL */
div.logPanel {
	position: fixed;
	z-index: 999;
	display: none;
	top: 0px;
	right: 0px;
	font-size: 12pt;
	line-height: 140%;
	padding: 10px;
	color: hsl(150, 100%, 65%);
	border: solid 1px hsl(150, 100%, 65%);
	background-color: hsl(0, 0%, 10%);
}



/* PAGE LOGO & BACKGROUND */
/*
div.logoWrapper {
	position: absolute;
	z-index: 10;
	width: 100%;
	top: 2%;
	scale: 100%;
	text-align: center;
	scale: 50%;
	transform-origin: top center;
}

.phoneView div.logoWrapper {
	top: 4%;
	scale: 40%;
}
*/

div.logoWrapper {
	text-align: center;
}

div.logoContainer {
	display: inline-block;
}

.logo {
	position: relative;
	display: inline-block;
}

img.logo {
	display: block;
	width: calc(368px * 0.5);
	height: calc(284px * 0.5);
}

.phoneView img.logo {
	width: calc(368px * 0.4);
	height: calc(284px * 0.4);
}

div.logoSubtitle {
	position: relative;
	margin-top: calc(18px * 0.5);
}

.phoneView div.logoSubtitle {
	margin-top: calc(18px * 0.4);
}

img.logoSubtitle {
	display: block;
	width: calc(368px * 0.5);
	height: calc(42px * 0.5);
}

.phoneView img.logoSubtitle {
	width: calc(368px * 0.4);
	height: calc(42px * 0.4);
}



/* SPLASH PANEL */
div.splashPanelHidden, div.splashPanelVisible {
	position: absolute;
	z-index: 500;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background-color: hsl(0, 0%, 100%);
	opacity: 0;
	transition: opacity 1s ease;
}

div.splashPanelVisible {
	opacity: 1;
}

div.splashLogoWrapper, div.splashLogoWrapperMoved {
	position: absolute;
	z-index: 10;
	width: 100%;
	scale: 100%;
	text-align: center;
}

.standardView div.splashLogoWrapper, .standardView div.splashLogoWrapperMoved {
	bottom: 45%;
	transition: bottom 1s ease, scale 1s ease;
}

.phoneView div.splashLogoWrapper, .phoneView div.splashLogoWrapperMoved {
	top: 15%;
	transition: top 1s ease, scale 1s ease;
}

.standardView div.splashLogoWrapperMoved {
	bottom: 55%;
	scale: 75%;
}

.phoneView div.splashLogoWrapperMoved {
	top: 0%;
	scale: 65%;
}

div.splashLogoContainer {
	position: relative;
	top: -50px;
	display: inline-block;
}

.phoneView div.splashLogoContainer {
	top: -25px;
}

div.splashLogo {
	position: relative;
}

img.splashLogo {
	display: block;
	width: 368px;
	height: 284px;
}

.phoneView img.splashLogo {
	width: 300px;
	height: 232px;
}

div.splashLogoSubtitleHidden, div.splashLogoSubtitleVisible {
	position: relative;
	margin-top: 18px;
	scale: 200%;
	opacity: 0;
	transition: opacity 0.75s ease, scale 0.75s ease;
}

.phoneView div.splashLogoSubtitleHidden, .phoneView div.splashLogoSubtitleVisible {
	margin-top: 15px;
	scale: 175%;
}

div.splashLogoSubtitleVisible, .phoneView div.splashLogoSubtitleVisible {
	scale: 100%;
	opacity: 1;
}

img.splashLogoSubtitle {
	display: block;
	width: 368px;
	height: 42px;
}

.phoneView img.splashLogoSubtitle {
	width: 300px;
	height: 34px;
}

div.splashLoadingAnim, div.splashLoadingAnimHidden {
	position: absolute;
	z-index: 3;
	top: 400px;
	width: auto;
	left: 25px;
	right: 25px;
	font-size: 0px;
	text-align: center;
}

.phoneView div.splashLoadingAnim, .phoneView div.splashLoadingAnimHidden {
	top: 320px;
}

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(203, 65%, 45%);
	border-bottom: solid 3px hsl(203, 65%, 45%);
	border-left: solid 3px hsla(203, 65%, 45%, 0.25);
	border-right: solid 3px hsla(203, 65%, 45%, 0.25);
	background-color: hsla(203, 65%, 45%, 0);
	animation: spinnerAction 1.25s linear infinite;
}

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

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

div.splashLoadingAnimText {
	display: inline-block;
	font-family: "StandardFontBold", "Arial", sans-serif;
	vertical-align: top;
	line-height: 30px;
	font-size: 28px;
	color: hsl(203, 65%, 45%);
	margin-left: 8px;
}

.phoneView div.splashLoadingAnimText {
	font-size: 22px;
}

div.splashPanelMsgHidden, div.splashPanelMsgVisible {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 30px;
	color: hsl(0, 1000%, 40%);
	margin-top: 30px;
	opacity: 0;
	transition: opacity 0.5s linear;
}

div.splashErrorDivVisible, div.splashErrorDivHidden {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 25px;
	right: 25px;
	top: 400px;
	opacity: 1;
	transition: opacity 0.5s linear;
}

.phoneView div.splashErrorDivVisible, .phoneView div.splashErrorDivHidden {
	top: 320px;
}

div.splashErrorDivHidden {
	opacity: 0;
}

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

.phoneView div.splashErrorText {
	font-size: 22px;
}

div.splashErrorBtnContinueWrapper {
	margin-top: 20px;
	text-align: center;
}

div.splashErrorBtnContinue {
	display: inline-block;
	color: hsl(0, 0%, 100%);
	font-size: 18px;
	line-height: 50px;
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 40%);
	padding: 0px 20px;
	border-radius: 5px;
	pointer-events: all;
	cursor: pointer;
}

.standardView div.splashErrorBtnContinue:hover {
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 50%);
}

div.splashPanelWaves, div.splashPanelWavesFaded {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 400px;
	bottom: -150px;
	background-image: url("/images/bg-waves.png");
	background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
	opacity: 0.75;
	transition: opacity 1s ease;
}

.phoneView div.splashPanelWaves, .phoneView div.splashPanelWavesFaded {
	height: 150px;
	bottom: 0px;
}

div.splashPanelWavesFaded {
	opacity: 0.25;
}

div.splashUserOptionsWrapperHidden, div.splashUserOptionsWrapperVisible {
	position: absolute;
	z-index: 9;
	width: 100%;
	text-align: center;
	opacity: 0;
}

.standardView div.splashUserOptionsWrapperHidden, .standardView div.splashUserOptionsWrapperVisible {
	top: 60%;
	transition: opacity 1s ease, top 1s ease;
}

.phoneView div.splashUserOptionsWrapperHidden, .phoneView div.splashUserOptionsWrapperVisible {
	top: 65%;
	transition: opacity 1s ease, top 1s ease;
}

.standardView div.splashUserOptionsWrapperVisible {
	top: 45%;
	opacity: 1;
}

.phoneView div.splashUserOptionsWrapperVisible {
	top: 40%;
	opacity: 1;
}

div.splashUserOptions {
	display: inline-block;
	border: solid 2px hsl(203, 61%, 47%);
	background-color: hsl(0, 0%, 100%);
	border-radius: 10px;
	padding: 30px;
}



/* ACCOUNT ITEMS */
p.userLoggedIn {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 24px;
	color: hsl(0, 0%, 0%);
}

.phoneView p.userLoggedIn {
	font-size: 20px;
}



/*** HEADER PANEL ***/
div.headerPanel {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	height: 51px;
	background-color: hsl(0, 0%, 100%);
	border-bottom: solid 1px hsl(208, 50%, 85%); /*hsl(0, 0%, 85%);*/
}

div.headerPanelFloating {
	position: absolute;
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	height: 50px;
	pointer-events: none;
}

div.headerPanelTitle {
	position: absolute;
	z-index: 9;
	display: none;
	width: auto;
	left: 0px;
	right: 0px;
	top: 0px;
	height: 50px;
	line-height: 50px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 28px;
	color: hsl(0, 0%, 0%);
	text-align: center;
	overflow: hidden;
	pointer-events: none;
}

.phoneView div.headerPanelTitle {
	font-size: 24px;
}

div.headerPanelItems {
	position: absolute;
	z-index: 2;
	display: flex;
	width: auto;
	left: 0px;
	right: 0px;
	height: auto;
	top: 0px;
	bottom: 0px;
}

div.headerPanelFloatingItems {}

div.headerPanelItemsL {
	flex: 1 1 0;
	width: 0;
	font-size: 0px;
	text-align: left;
}

div.headerPanelItemsC {
	flex: 1 1 0;
	width: 0;
	font-size: 0px;
	text-align: center;
	/*padding: 6px;*/
}

div.headerPanelItemsR {
	flex: 1 1 0;
	width: 0;
	font-size: 0px;
	text-align: right;
	white-space: nowrap;
	/*padding: 6px;*/
}

.phoneView div.headerPanelLogo {
	position: absolute;
	z-index: 2;
	width: 50px;
	height: 50px;
}

a.headerPanelLogo {
	display: inline-block;
	font-size: 0px;
}

img.headerPanelLogo {
	display: block;
	width: 232px;
	height: 50px;
	border: none;
}

img.headerPanelLogoSimple {
	display: block;
	width: 50px;
	height: 50px;
	border: none;
}

div.panelHeaderSubsectionButtons {
	position: absolute;
	width: 100%;
	bottom: 0px;
	font-size: 0px;
	text-align: center;
}

div.panelHeaderSubsectionButtonNorm, div.panelHeaderSubsectionButtonHL {
	display: inline-block;
	min-width: 80px;
	color: hsl(203, 100%, 30%);
	background-color: hsl(0, 0%, 100%);
	border: solid 1px hsl(203, 100%, 40%);
	border-left: none;
	border-bottom: none;
	font-size: 16px;
	line-height: 44px;
	text-align: center;
	padding: 0px 10px;
	pointer-events: auto;
	cursor: pointer;
}

div.panelHeaderSubsectionButtonNorm:first-child, div.panelHeaderSubsectionButtonHL:first-child {
	border-left: solid 1px hsl(203, 100%, 40%);
	border-top-left-radius: 5px;
}

div.panelHeaderSubsectionButtonNorm:last-child, div.panelHeaderSubsectionButtonHL:last-child {
	border-top-right-radius: 5px;
}

div.panelHeaderSubsectionButtonHL {
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 40%);
	pointer-events: none;
}



/*** HEADER BUTTONS ***/
div.headerButtonWrapperActive, div.headerButtonWrapperMenuActive, div.headerButtonWrapperInactive {
	display: inline-block;
	vertical-align: top;
	height: 50px;
	padding: 6px;
	font-size: 0px;
	pointer-events: auto;
}

div.headerButtonWrapperActive {
	background-color: hsl(203, 100%, 50%); /*hsl(185, 100%, 70%);*/
}

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

div.headerButtonFilterIndicatorOff, div.headerButtonFilterIndicatorOn {
	position: absolute;
	z-index: 9;
	left: 2px;
	top: 2px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	pointer-events: none;
}

.phoneView div.headerButtonFilterIndicatorOff, .phoneView div.headerButtonFilterIndicatorOn {
	left: 3px;
	top: 3px;
}

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

div.headerButtonErrorIndicatorOff, div.headerButtonErrorIndicatorOn {
	position: absolute;
	z-index: 9;
	right: 2px;
	top: 2px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	pointer-events: none;
}

.phoneView div.headerButtonErrorIndicatorOff, .phoneView div.headerButtonErrorIndicatorOn {
	left: 3px;
	top: 3px;
}

div.headerButtonErrorIndicatorOn {
	background-color: hsl(0, 100%, 65%);
}

.headerButton, .headerButtonWithIcon {
	display: inline-block;
	vertical-align: top;
	height: 38px;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 38px;
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 38%);
	border-radius: 5px;
	padding: 0px 10px;
	opacity: 0.85;
	pointer-events: auto;
	cursor: pointer;
}

.headerButtonWithIcon {
	padding-left: 38px;
}

.standardView .headerButton:hover, .standardView .headerButtonWithIcon:hover {
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 48%);
}

.headerIconButton {
	display: inline-block;
	vertical-align: top;
	height: 38px;
	/*
	background-color: hsl(0, 0%, 100%);
	border-radius: 5px;	
	*/
	padding: 0px;
	width: 38px;
	font-size: 0px;
	pointer-events: auto;
	cursor: pointer;
}

/*
.standardView .headerIconButton:hover {
	color: hsl(0, 0%, 100%);
	background-color: hsl(0, 0%, 90%);
}
*/

img.headerButtonIcon {
	position: absolute;
	display: block;
	left: 1px;
	top: 1px;
	width: 36px;
	height: 36px;
	border: none;	
}

img.headerButtonIcon, img.headerIcon {
	filter: brightness(75%) hue-rotate(0deg) saturate(110%);
}

/*
.headerIconButton img.headerButtonIcon {
	filter: grayscale(100%);
	cursor: pointer;
}
*/

div.headerButtonWrapperActive img.headerButtonIcon {
	filter: brightness(500%) hue-rotate(0deg) saturate(0%);
}

.standardView div.headerButtonWrapperInactive .headerIconButton:hover img.headerButtonIcon {
	filter: brightness(125%) hue-rotate(25deg) saturate(150%);
}

/*
.standardView .headerIconButton:hover img.headerButtonIcon {
	filter: brightness(125%) hue-rotate(25deg) saturate(150%);
}
*/

/*
.standardView div.headerButtonWrapperActive .headerIconButton:hover img.headerButtonIcon {
	filter: brightness(105%) hue-rotate(-5deg) saturate(100%);
}
*/

div.headerButtonSpacer {
	display: inline-block;
	vertical-align: top;
	height: 50px;
	width: 20px;
	font-size: 0px;
	pointer-events: none;
}

div.itemsButton {
	position: relative;
	display: inline-block;
	vertical-align: top;
	height: 38px;
	width: 38px;
	background-color: hsl(203, 100%, 38%);
	border-radius: 5px;
	cursor: pointer;
	pointer-events: auto;
}

.standardView div.itemsButton:hover {
	background-color: hsl(203, 100%, 48%);
}

div.itemsButtonLineT, div.itemsButtonLineM, div.itemsButtonLineB {
	position: absolute;
	left: 7px;
	top: 11px;
	width: 24px;
	height: 2px;
	border-radius: 1px;
	background-color: hsl(0, 0%, 100%);
}

div.itemsButtonLineM {
	top: 18px;
}

div.itemsButtonLineB {
	top: 25px;
}

/*
div.itemsButtonDotL, div.itemsButtonDotM, div.itemsButtonDotR {
	position: absolute;
	left: 6px;
	top: 16px;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: hsl(0, 0%, 100%);
}

div.itemsButtonDotM {
	left: 16px;
}

div.itemsButtonDotR {
	left: 26px;
}
*/

div.itemMenuPanelOpen, div.itemMenuPanelClosed, div.itemMenuPanelClosedInstant {
	position: absolute;
	z-index: 10;
	display: none;
	right: -3px;
	top: 50px;
	background-color: hsl(50, 95%, 70%);
	border: solid 3px hsl(0, 0%, 100%);
	border-top: none;
	/*border-right: none;*/
	padding: 5px;
	font-size: 0px;
	opacity: 1;
	transition: all 0.25s ease-out;
	pointer-events: auto;
}

/*.standardView div.itemMenuPanelClosed {*/
div.itemMenuPanelClosed {
	opacity: 0;
}

/*.standardView div.itemMenuPanelClosedInstant {*/
div.itemMenuPanelClosedInstant {
	opacity: 0;
	transition: none;
}

/*
.phoneView div.itemMenuPanelOpen, .phoneView div.itemMenuPanelClosed, .phoneView div.itemMenuPanelClosedInstant {
	transition: all 0.35s ease-out;
}

.phoneView div.itemMenuPanelClosed {
	right: -200px;
}

.phoneView div.itemMenuPanelClosedInstant {
	right: -200px;
	transition: none;
}
*/

.itemMenuButton, .itemMenuButtonActive {
	display: block;
	font-family: "StandardFontBold", "Arial", sans-serif;
	/*min-width: 150px;*/
	font-size: 18px;
	line-height: 38px;
	color: hsl(50, 25%, 25%);
	border-radius: 2px;
	padding: 0px 8px;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	pointer-events: auto;
}

.phoneView .itemMenuButton, .phoneView .itemMenuButtonActive {
	line-height: 50px;
}

.standardView .itemMenuButton:hover {
	color: hsl(50, 25%, 25%) !important;
	background-color: hsl(50, 100%, 85%);
}

.itemMenuButtonActive {
	color: hsl(0, 0%, 100%);
	background-color: hsl(50, 35%, 50%);
	pointer-events: none;
}



/*** USER NAME ***/
/*
div.userNameButtonWrapperActive, div.userNameButtonWrapperInactive {
	display: inline-block;
	vertical-align: top;
	height: 50px;
	padding: 6px;
	font-size: 0px;
}

div.userNameButtonWrapperActive {
	background-color: hsl(194, 100%, 40%);
}
*/

div.userNameButton {
	display: inline-block;
	vertical-align: top;
	height: 38px;
	background-color: hsl(194, 100%, 40%);
	border-radius: 5px;
	cursor: pointer;
	pointer-events: auto;
}

.standardView div.userNameButton:hover {
	background-color: hsl(194, 100%, 50%);
}

div.userName {
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 38px;
	color: hsl(0, 0%, 100%);
	margin-left: 10px;
	margin-right: 30px;
}

svg.userNameButtonArrow {
	position: absolute;
	right: 8px;
	top: 10px;
	width: 15px;
	height: 20px;
	fill: hsl(194, 100%, 75%);
}

.standardView div.userNameButton:hover svg.userNameButtonArrow {
	fill: hsl(194, 100%, 85%);
}

div.headerButtonWrapperMenuActive svg.userNameButtonArrow {
	top: 9px;
	rotate: 180deg;
}

/*
div.userMenuPanelOpen, div.userMenuPanelClosed, div.userMenuPanelClosedInstant {
	position: absolute;
	z-index: 10;
	display: none;
	left: 0px;
	top: 50px;
	background-color: hsl(194, 100%, 40%);
	border: solid 1px hsl(0, 0%, 100%);
	border-top: solid 1px hsl(194, 100%, 35%);
	border-right: none;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 8px;
	font-size: 0px;
	opacity: 1;
	transition: opacity 0.25s linear;
}

div.userMenuPanelClosed {
	opacity: 0;
}

div.userMenuPanelClosedInstant {
	opacity: 0;
	transition: none;
}

.phoneView div.userMenuPanelOpen, .phoneView div.userMenuPanelClosed, .phoneView div.userMenuPanelClosedInstant {
	left: initial;
	right: 0px;
	border-bottom-right-radius: 0px;
}

.userMenuButton, .userMenuButtonActive {
	display: block;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	line-height: 34px;
	color: hsl(0, 0%, 100%);
	border-radius: 2px;
	padding: 0px 8px;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	pointer-events: auto;
}

.standardView .userMenuButton:hover {
	color: hsl(0, 0%, 100%) !important;
	background-color: hsl(194, 100%, 50%);
}

.userMenuButtonActive {
	color: hsl(194, 100%, 30%);
	background-color: hsl(0, 0%, 100%);
}
*/


/*** FOOTER PANEL ***/
div.footerPanel {
	position: absolute;
	display: flex;
	justify-content: space-around;
	z-index: 2;
	width: auto;
	left: 0px;
	right: 0px;
	bottom: 0px;
	height: 81px;
	padding: 0px 15px;
	background-color: hsl(0, 0%, 100%);
	border-top: solid 1px hsl(208, 50%, 85%); /*hsl(0, 0%, 85%);*/
	text-align: center;
}

.footerPanelButtonNorm, .footerPanelButtonHL {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 60px;
	height: 58px;
	font-size: 0px;
	/*margin-left: 15px;*/
	pointer-events: auto;
	cursor: pointer;
}

.footerPanelButtonNorm:first-child, .footerPanelButtonHL:first-child {
	margin-left: 0px;
}

.footerPanelButtonNorm {
	opacity: 0.85;
	filter: grayscale(100%);
	/*filter: saturate(0%);*/
}

.footerPanelButtonHL {
	opacity: 1;
	pointer-events: none;
}

img.footerPanelButtonIcon {
	position: absolute;
	left: 18px;
	top: 10px;
	width: 24px;
	height: 24px;
}

div.footerPanelButtonLabel {
	position: absolute;
	width: auto;
	left: 0px;
	right: 0px;
	bottom: 0px;
	height: 20px;
	line-height: 20px;
	color:  hsl(203, 100%, 50%);
	font-size: 14px;
	text-align: center;
}



/*** PAGE SECTION MENU ***/
div.pageSectionMenu {
	background-color: hsl(203, 100%, 38%);
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
	padding: 8px;
	margin: 0px 10px;
	text-align: center;
}

.phoneView div.pageSectionMenu {
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	margin: 0px 5px 0px 5px;
}

.pageSectionButtonNorm, .pageSectionButtonActive, .pageSectionButtonWire {
	display: inline-block;
	font-family: "StandardFontBold", "Arial", sans-serif;
	font-size: 18px;
	color: hsl(0, 0%, 100%);
	white-space: nowrap;
	line-height: 35px;
	padding: 0px 12px;
	border-radius: 4px;
	margin: 2px;
	cursor: pointer;
	pointer-events: auto;
}

.pageSectionButtonActive {
	color: hsl(203, 100%, 30%);
	background-color: hsl(0, 0%, 100%);
}

.standardView .pageSectionButtonNorm:hover {
	color: hsl(0, 0%, 100%);
	background-color: hsl(203, 100%, 48%);
}

.pageSectionButtonWire {
	background-color: hsl(203, 100%, 48%);
	border: solid 1px hsl(203, 100%, 80%);
}

.standardView .pageSectionButtonWire:hover {
	background-color: hsl(203, 100%, 58%);
	border: solid 1px hsl(203, 100%, 85%);
}

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

div.pageSectionDiv {
	/*display: none;*/
	flex: 1;
	padding: 20px 0px;
	margin: 0px 35px 0px 35px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto;
}

.phoneView div.pageSectionDiv {
	margin: 0px 20px 0px 20px;
}
