/*
version: 1.0.0.20260207

https://www.w3schools.com/cssref/css_units.asp
	1rem = 1 time the font size of the root element
	1em = 1 time the font size of the element
	1vw = 1% of viewport width
	1vh = 1% of viewport height
	1vmin = 1vw or 1vh, whichever is smaller
	1vmax = 1vw or 1vh, whichever is larger
*/

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: max(0.88em, calc(0.5em + 0.7vw));	/* min 14px */
	height: 100%;
}

body {
	font-family: Arial, Helvetica, Sans, Sans-serif;
	font-size: 1rem;
	color: #333333;
	margin: 0px;
	/*overflow: hidden;*/
}
.unselectable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

ul {
	margin-top: 0.3rem;
	padding-left: 1.7rem;
}

ol {
	margin-top: 1rem;
	padding-left: 1.7rem;
}
ol li::marker {
	font-weight: bold;
}

/* For Chrome, Edge, Firefox. Safari already has the transparent scrollbar background. */
.customScrollbar {
	scrollbar-color: #888 transparent;	/* Thumb color, track color */
}

.centerAlignedRow {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.centerAlignedColumn {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.baseButton {
	text-align: center;
	white-space: normal;
	vertical-align: middle;
	border: 1px solid transparent;
	transition: 0.3s;
}
.baseButton:disabled {
	opacity: 0.7;
}

.popup {
	background-color: #FFF8EC;
	position: fixed;
	top: 8%;
	left: 8%;
	min-width: 200px;
	min-height: 100px;
	box-shadow: 0px 0px 20px 0px #000000;
	border-radius: 10px;
	border: 4px solid #165788;
	animation: fading 1s;
}
@keyframes fading {
	0% {
		opacity: 0.1;
	}
	100% {
		opacity: 1;
	}
}
.popupHeader {
	background-color: #165788;
	width: 100%;
	height: 30px;
	/*border-radius: 10px 10px 0px 0px;*/
}
.popupTitle {
	font-size: 16px;
	line-height: 30px;
	color: #FFFFFF;
	width: 98%;
	padding-left: 2%;
	float: left;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.popupMessage {
	padding: 2%;
	text-align: left;
	word-wrap: break-word;
	overflow-y: auto;
}
.popupFooterBtnContainer {
	display: flex;
	justify-content: center;
	gap: 3px;
	padding: 2%;
}
.popupMask {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

/*
Extends baseButton
*/
.popupButton {
	font-size: 14px;
	color: #FFFFFF;
	text-transform: uppercase;
	min-width: 70px;
	height: 40px;
	border-radius: 5px;
	background-color: var(--bgcolor, hsl(212 93% 32%));
}
.popupButton:hover {
	background-color: var(--bgcolorHover, hsl(212 93% 40%));
}
.popupButton:active {
	background-color: var(--bgcolorActive, hsl(212 93% 24%));
}
.popupButton:disabled {
	background-color: var(--bgcolor, hsl(212 93% 32%));
}

.xIcon {
	width: 40px;
	height: 40px;
	border: 2px solid transparent;
	/*border-radius: 20px;*/
}
.xIcon::before, .xIcon::after {
	content: "";
	background: #FFFFFF;
	width: 22px;
	height: 2px;
	position: absolute;
	left: 7px;
	top: 17px;
	transition: 0.1s;
}
.xIcon::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.xIcon::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.xIcon:hover {
	/*border-color: #FFFFFF;*/
}
.xIcon:hover::before, .xIcon:hover::after {
	width: 28px;
	left: 3.5px;
}

/*
Extends baseButton
*/
.navButton {
	font-size: 15px;
	color: #FFFFFF;
	text-transform: uppercase;
	/*min-width: 70px;*/
	padding-left: 1.5vw;
	padding-right: 1.5vw;
	height: 100%;
	border-radius: 6px 6px 0px 0px;
	background-color: var(--bgcolor, hsl(206 72% 31%));	/* #165788 */
}
.navButton:hover {
	background-color: var(--bgcolorHover, hsl(206 72% 39%));
}
.navButton:active {
	background-color: var(--bgcolorActive, hsl(206 72% 23%));
}
.navButton:disabled {
	opacity: 1;
	font-weight: bold;
	color: #165788;
	background-color: #FFF8EC;
}

/*
Extends baseButton
*/
.glyphiconButton {
	color: #555555;
	word-wrap: break-word;
	background: transparent;
}
.glyphiconButton:hover {
	color: #000000;
}
.glyphiconButton:disabled {
	opacity: 1;
	color: #AAAAAA;
}

/*
Extends baseButton
*/
.materialIconButton {
	display: flex;
    align-items: center;
	background: transparent;
	word-wrap: break-word;
	border-radius: 5px;
	padding: 6px;
	color: #444444;
}
.materialIconButton:hover {
	background-color: hsl(44 79% 88%);
}
.materialIconButton:active {
	color: #000000;
}

.screenHeader {
	width: 100%;
	overflow-y: hidden;
}

.navigationBar {
	display: flex;
	align-items: center;
	background-color: #165788;
	color: #FFFFFF;
	width: 100%;
	height: 40px;
}

.screenFooter {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 6px;
	font-size: 0.7rem;
	color: #DDDDDD;
	text-align: center;
	background-color: #165788;
	padding: 5px 10px 5px 10px;
}

.screenContentContainerBorder {
	background-color: #165788;
	border-left: 10px solid #165788;
	border-right: 10px solid #165788;
}
.screenContentContainer {
	display: flex;
	flex-direction: column;
	min-height: 400px;
	overflow-x: hidden;
	overflow-y: auto;
	background: url(image/screenContentBg.jpg) repeat;
	padding: 0px min(2vw, 20px) 0px min(2vw, 20px);
	border-radius: 20px;
}

.screenTitleContainer {
	color: #235D90;
	font-size: 1.4rem;
	margin-top: 20px;
	margin-bottom: 20px;
}

.screenMainContentContainer {
	padding-left: min(2vw, 20px);
	padding-right: min(2vw, 20px);
	padding-bottom: 40px;
}

.screenDefaultText {
	line-height: 1.3;
}

/*
Extends materialIconButton
*/
.materialIconButtonContact {
	margin-left: 10px;
}

.service-item-header {
	display: flex;
	align-items: center;
	width: 100%;
	height: 40px;
	border-radius: 20px;
	transition: 0.3s;
}
.service-item-header:hover {
	background-color: hsl(44 79% 88%);
}
/*
Extends baseButton
*/
.service-item-expand-collapse-btn {
	color: #064C9B;
	display: flex;
	align-items: center;
	background-color: transparent;
	padding: 0px 2px 0px 2px;
}
.service-item-expand-collapse-icon {
	font-size: 1.2rem;
}
.service-item-header-label {
	color: #064C9B;
	font-size: 0.9rem;
	font-weight: bold;
	width: 100%;
}
.service-item-content {
	margin: 0px 0px 0.6rem 1.6rem;
}

.contactAnchorText {
	color: #064C9B;
	text-decoration: none;
	transition: 0.3s;
	line-height: 38px;
	border-radius: 5px;
}
.contactAnchorText:hover {
	background-color: hsl(44 79% 88%);
}
