﻿

/* latin */
@font-face
{
	font-family: 'Nunito';
	font-style: italic;
	font-weight: 200 1000;
	font-display: swap;
	src: url(/App/assets/css/fonts/Nunito/XRXX3I6Li01BKofIMNaDRs4.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* latin */
@font-face
{
	font-family: 'Nunito';
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url(/App/assets/css/fonts/Nunito/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

button, input, select, textarea
{
	width: auto;
	overflow: visible;
	margin: 0;
	font-size: 100%;
	font-family: "Nunito", "Helvetica Neue", Helvetica, Arial, sans-serif;
	vertical-align: baseline;
}

html, body
{
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-family: "Nunito", "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 0;
	height: 100%;
}


canvas[resize]
{
	width: 100%;
	height: 100%;
}

#header
{
	background-color: #3b4352;
	color: #fff;
	font-weight: bold;
	padding: 6px;
	margin: 0;
	margin-bottom: 10px;
	position: absolute;
	top: 0px;
	width: 100%;
}

#container
{
	line-height: 1.6;
	font-weight: 300;
	color: #000;
	bottom: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
}

#containerMobile
{
	line-height: 1.6;
	font-weight: 300;
	color: #000;
	bottom: 0;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	padding-bottom: 30px;
}

#outerContainer
{
	position: absolute;
	height: 100%;
	width: 100%;
}

#loginTimeoutError
{
	position: relative;
	top: 120px;
	left: 300px;
	width: 560px;
	font-weight: bold;
	color: #700000;
}

#loginBox
{
	position: relative;
	top: -5%;
	border-radius: 5px;
	width: 740px;
	min-height: 400px;
	padding: 0;
	box-shadow: 1px 1px 29px 0px rgba(0,0,0,0.25);
	display: flex;
	box-sizing: border-box;
	border-radius: 13px;
	backdrop-filter: blur(3px);
	overflow: hidden;
}

	#loginBox .leftPanel
	{
		border-top-left-radius: 5px;
		border-bottom-left-radius: 5px;
		text-align: center;
		padding: 5px;
		width: 250px;
		min-width: 250px;
		box-sizing: border-box;
		border-right: solid 1px #eeeeee;
		background-color: var(--login-side-bg);
	}

.left-footer
{
	position: absolute;
	bottom: 7px; /*7px visually aligns the text on the left footer with the text on the right footer - even though bottom: 10px on the right footer*/
	text-align: center;
	width: 250px;
}

.status-link
{
	font-size: 10px;
	color: #AAA;
	text-decoration: none;
}

.tos
{
	font-size: 10px;
	color: #AAA;
	position: absolute;
	bottom: 10px;
	width: 100%;
}

.loginArea
{
	box-sizing: border-box;
	padding: 55px 50px 50px 50px;
	background-color: var(--login-bg);
	flex-grow: 1;
}

#loginBox .login-logo
{
	margin-top: 47px;
	width: 150px;
}

#loginBox .browserWarning
{
	color: #b30000;
	width: 100%;
	border: solid;
	border-radius: 5px;
	padding: 0.5rem;
}

#loginBox .environmentCheck
{
	background-color: #f6fbff;
	width: 100%;
	border: 1px solid #c9d1d8;
	border-radius: 7px;
	padding: 0.5rem;
	margin-top: 20px;
	font-size: 13px;
	box-sizing: border-box;
}

.environmentCheck b,
.environmentCheck strong
{
	color: #b30000;
	font-weight: bold; /* Explicitly set bold weight */
}

#loginBox .environmentCheck p
{
	font-size: 12px;
	font-weight: normal;
	line-height: 1.5;
	color: inherit;
	margin: 5px 0 0px 0;
}

#loginBoxMobile
{
	background-color: White;
	padding: 0;
}



.email-hint
{
	margin-top: 20px;
}

.loginAreaMobile
{
	box-sizing: border-box;
}

.loginButton,
.button
{
	background-color: #247AAF;
	display: inline-block;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	padding: 6px 24px;
	cursor: pointer;
	border: none;
	border-radius: 7px;
	margin-top: 10px;
}

	.loginButton:hover,
	.button:hover
	{
		transition: background-color 0.15s ease-in-out;
		background-color: #3ca0de;
	}

.small-link
{
	color: #3b4c67;
	font-size: 13px;
}

.other-user-link
{
	display: block;
	margin-top: 14px;
}

#copyrightInfo
{
	text-align: center;
	bottom: 5px;
	width: 600px;
	font-size: 11px;
	color: #999;
	position: absolute;
}

#copyrightInfoMobile
{
	position: absolute;
	text-align: center;
	bottom: 5px;
	font-size: 11px;
	color: #999;
}

.buttonDisabled
{
	border: 1px solid #696969;
	background: #95a5a6;
	display: inline-block;
	color: #ffffff;
	font-size: 15px;
	font-weight: bold;
	padding: 6px 24px;
}


.headline
{
	margin-bottom: 10px;
	font-weight: 600;
	color: #008eec;
	font-size: 21px;
}

.inputItem
{
	background-clip: padding-box;
	border-radius: 7px;
	border: 1px solid #d9d9d9;
	font-size: 15px;
	margin-bottom: 5px;
	padding: 10px 10px;
	width: 100%;
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.15s ease-in-out;
}

	.inputItem:focus
	{
		border: solid 1px #1696CE;
	}


.inputItemMobile
{
	background-clip: padding-box;
	border: 1px solid #949494;
	border: 1px solid #AAAAAA;
	font-size: 0.8em;
	font-size: 80%;
	height: 26px;
	margin-bottom: 5px;
	padding: 4px;
	width: 100%;
}

#serviceStatus
{
	bottom: 10px;
	text-align: center;
}

#logoContainer
{
	text-align: center;
	padding: 5px;
	box-sizing: border-box;
}

@media only screen and (min-width: 769px)
{

	html, body
	{
		overflow: hidden;
	}

	#loginBoxMobile
	{
		min-height: 400px;
		-webkit-box-shadow: 1px 1px 29px 0px rgba(0,0,0,0.51);
		-moz-box-shadow: 1px 1px 29px 0px rgba(0,0,0,0.51);
		box-shadow: 1px 1px 29px 0px rgba(0,0,0,0.51);
		box-sizing: border-box;
	}

	.loginAreaMobile
	{
		padding: 60px;
		width: 530px;
	}


	#containerMobile
	{
		position: absolute;
		display: flex;
	}

	#copyrightInfoMobile
	{
		position: absolute;
		width: 600px;
	}

	.inputItemMobile
	{
		width: 400px;
	}

	#serviceStatus
	{
		position: absolute;
		width: 200px;
	}

	#logoContainer
	{
		width: 210px;
	}
}

div.loginOr
{
	float: left;
	width: 20px;
	margin-left: -10px;
	background-color: #fff;
	margin-top: 70px;
}

.field-validation-error
{
	color: red;
	display: inline-block;
	margin-bottom: 8px;
}

/* MVC Validation Fields */
div.validation-summary-errors
{
	margin-bottom: 10px;
	color: red;
	font-size: 12px;
}

	div.validation-summary-errors ul
	{
		list-style-type: none;
		margin: 0;
		padding-left: 0;
	}

div.validation-summary-info
{
	margin-bottom: 10px;
	color: green;
	font-size: 12px;
}


.hidden-frame
{
	border: none;
	display: none;
	height: 0;
	width: 0;
}

/* Toggle Switches */
/* Checkbox*/
.toggle
{
	position: relative;
	padding: 0;
}

	/* Position the label over all the elements, except the slide-button
			* Clicking anywhere on the label will change the switch-state
			*/
	.toggle label
	{
		position: relative;
		z-index: 3;
		display: block;
		width: 100%;
	}

	/* Don't hide the input from screen-readers and keyboard access
			*/
	.toggle input
	{
		position: absolute;
		opacity: 0;
		z-index: 5;
	}

	.toggle p
	{
		position: absolute;
		left: -100px;
		width: 100%;
		margin: 0;
		padding-right: 100px;
		text-align: left;
	}

		.toggle p span
		{
			position: absolute;
			top: 0;
			left: 0;
			z-index: 5;
			display: block;
			width: 50%;
			margin-left: 100px;
			text-align: center;
		}

			.toggle p span:last-child
			{
				left: 50%;
			}

	.toggle .slide-button
	{
		position: absolute;
		right: 0;
		top: 0;
		z-index: 4;
		display: block;
		width: 50%;
		height: 100%;
		padding: 0;
	}

/* Shared */
.toggle,
.switch
{
	display: block;
	height: 30px;
}

	.switch *,
	.toggle *
	{
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	.switch .slide-button,
	.toggle .slide-button
	{
		display: block;
		-webkit-transition: all 0.3s ease-out;
		-moz-transition: all 0.3s ease-out;
		-o-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	.toggle label,
	.toggle p,
	.switch label
	{
		line-height: 30px;
		vertical-align: middle;
	}

	.toggle input:checked ~ .slide-button
	{
		right: 50%;
	}

/* Standalone Themes */


/* Candy Theme
	* Based on the "Sort Switches / Toggles (PSD)" by Ormal Clarck
	* http://www.premiumpixels.com/freebies/sort-switches-toggles-psd/
	*/

.candy
{
	background-color: #ddd;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
	text-align: center;
}

	.candy input:checked + label
	{
		color: #333;
		text-shadow: 0 1px 0 rgba(255,255,255,0.5);
	}

	.candy .slide-button
	{
		background-color: #8ebc00;
	}

	.candy p
	{
		color: #eee;
		text-shadow: none;
	}

	.candy span
	{
		color: #fff;
	}

/* Password related styles */
.password-message
{
	background-color: #fefff2;
	border: solid 1px #bcbcbc;
	color: #333;
	font-size: 13px;
	padding: 8px;
}

	.password-message ul
	{
		margin: 0;
	}

/* Password strength colors */
.pw-strong
{
	color: #0e9521;
}

.pw-medium
{
	color: #f57f00;
}

.pw-weak
{
	color: #990000;
}

/* To-Do: Make Separate? */
/* Public Compliance Styles*/
#responsiveContainer
{
	line-height: 1.6;
	padding: 0 10px;
	font-weight: 300;
	color: #000;
	bottom: 0;
	width: 70%;
	margin: 0 auto; /* Centers the container */
	background-repeat: repeat-y;
	background-position: top left;
	height: 100%;
}

#infoBox
{
	position: relative;
	text-align: justify;
	background-color: White;
	padding: 0;
	border: 1px solid #999;
}

#copyrightInfoResponsive
{
	position: relative;
	top: 2em;
	text-align: left;
	font-size: 11px;
	color: #999;
}

.orgButton
{
	border: solid 1px #e9e9e9;
	background-color: white;
	margin: 15px 0;
	padding: 7px 10px;
	cursor: pointer;
	box-shadow: 0px 3px 7px 0px #f5f5f5;
	border-radius: 7px;
	color: #565656;
	line-height: 22px;
	-webkit-transition: opacity 0.3s ease, transform 0.3s ease;
	-moz-transition: opacity 0.3s ease, transform 0.3s ease;
	-o-transition: opacity 0.3s ease, transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

	.orgButton:hover
	{
		background-color: rgba(0, 142, 236, 0.06);
		border: solid 1px #008eec;
		color: black;
	}

	.orgButton .details
	{
		font-style: italic;
		font-size: 13px;
	}

.orgDisabledButton
{
	border: solid 1px #e9e9e9;
	margin: 10px 0;
	padding: 7px 10px;
	cursor: pointer;
	box-shadow: 0px 3px 7px 0px #f5f5f5;
	border-radius: 3px;
	color: #565656;
	line-height: 22px;
	-webkit-transition: opacity 0.3s ease, transform 0.3s ease;
	-moz-transition: opacity 0.3s ease, transform 0.3s ease;
	-o-transition: opacity 0.3s ease, transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

	.orgDisabledButton .details
	{
		font-style: italic;
		font-size: 13px;
	}

#selectOrgForm
{
	padding-top: 5px;
}


	#selectOrgForm.selected .orgButton
	{
		opacity: 0;
	}

		#selectOrgForm.selected .orgButton.selected
		{
			opacity: 1;
			transform: scale(1.05);
		}

#UserSessionContainer
{
	display: none;
}

#CheckUserSessions
{
	text-align: center;
}

.header
{
	color: #243241;
	font-weight: 600;
	font-size: 18px;
}

.description
{
	font-size: 12px;
	margin: 14px 0;
}

.active-session
{
	border: solid 1px #e8e8e8;
	display: flex;
	margin-bottom: 8px;
	padding: 8px 12px;
}

.session-header
{
	color: #243241;
	font-weight: 600;
	font-size: 15px;
}

.session-details
{
	color: #666;
	font-size: 12px;
	font-style: italic;
}

.session-logout-container
{
	flex-shrink: 0;
	margin-left: auto;
}

.session-logout-link
{
	color: #6d80a0;
	cursor: pointer;
	font-size: 13px;
	text-decoration: underline;
}

#ActiveSessionContainer
{
	overflow-y: auto;
	max-height: 175px;
}

.full-width-button
{
	display: block;
	text-align: center;
}

.stacked-buttons
{
	margin-top: 10px;
}
  
:root
{
	--wave1: rgba(255,255,255,0.7);
	--wave2: rgba(255,255,255,0.5);
	--wave3: rgba(255,255,255,0.3);
	--wave4: #FFF;
	--highlight: rgb(129 7 226 / 45%);
	--bg1: #53a9de;   
	--bg2: #206d9d;
	--login-bg: #FFFFFF;
	--login-side-bg: #FFFFFF;
} 

.waves-container
{
	background-image: linear-gradient(108deg, var(--bg1), var(--bg2));
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
}

.waves-highlight
{
	position: relative;
	width: 100%;
	height: 100%;
	background: radial-gradient(60% 30% ellipse at 50% 72%, var(--highlight), transparent);
}

.waves-column
{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
}


.inner-header
{
	height: 65vh;
	width: 100%;
	margin: 0;
	padding: 0;
}

.flex
{ /*Flexbox for containers*/
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.waves
{
	width: 100%;
	height: 15vh;
	min-height: 100px;
	max-height: 150px;
}

.waves-above
{
	flex-grow: 1.8;
}

.waves-below
{
	flex-grow: 1;
	background-color: var(--wave4);
}

.content
{
	position: relative;
	height: 20vh;
	text-align: center;
	background-color: white;
}

/* Animation */

.parallax > use
{
	animation: move-forever 50s cubic-bezier(.55,.5,.45,.5) infinite;
}

	.parallax > use:nth-child(1)
	{
		animation-delay: -4s;
		animation-duration: 14s;
	}

	.parallax > use:nth-child(2)
	{
		animation-delay: -6s;
		animation-duration: 20s;
	}

	.parallax > use:nth-child(3)
	{
		animation-delay: -8s;
		animation-duration: 26s;
	}

	.parallax > use:nth-child(4)
	{
		animation-delay: -10s;
		animation-duration: 40s;
	}

/* disable animations for users who have 'prefer reduced motion' settings turned on */
@media (prefers-reduced-motion: reduce)
{
	.parallax > use
	{
		animation: none;
	}
}

@keyframes move-forever
{
	0%
	{
		transform: translate3d(-90px,0,0);
	}

	100%
	{
		transform: translate3d(85px,0,0);
	}
}


/* Shrink for narrower windows */
@media (max-width: 1080px)
{
	.waves
	{
		height: 80px;
		min-height: 80px;
	}
}

/* Shrink even more for even smaller (mobile) screens */
@media (max-width: 768px)
{
	.waves
	{
		height: 40px;
		min-height: 40px;
	}
}
