/*# ----------------- Base Styles ----------------- #*/
/*# ----------------- Base Styles - Colors ----------------- #*/ :root {
	--royal-blue: #28357B;
	--dark-gray: #525050;
	--medium-gray: #898A8D;
	--medium-light-gray: #B1B4B6;
	--light-gray: #ECEDED;
	--deep-blue: #001A4A;
	--deep-fushia: #A9398E;
	--deep-fushia-80: #BA61A5;
	--deep-fushia-40: #DDB0D2;
	--deep-fushia-20: #EED7E8;
	--light-blue: #DBECF4;
	--form-text: #555555;
}
/*# ----------------- Base Styles - Fonts ----------------- #*/
/* complete */
@font-face {
	font-family: "CircularXXWeb-Book";
	src: url("CircularXXWeb-Book.woff2") format("woff2");
}
@font-face {
	font-family: "CircularXXWeb-Medium";
	src: url("CircularXXWeb-Medium.woff2") format("woff2");
}
@font-face {
	font-family: "CircularXXWeb-Bold";
	src: url("CircularXXWeb-Bold.woff2") format("woff2");
}
/*# ----------------- Base Styles - General Bootstrap Overrides ----------------- #*/
html, body {
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: auto;
}
strong {
	font-family: 'CircularXXWeb-Bold', arial, verdana, sans-serif;
	font-weight: normal;
}
/*# ----------------- Content ----------------- #*/
/*# ----------------- Content - Containers and Columns ----------------- #*/
.content-reverse {
	background: var(--royal-blue);
	color: #fff;
}
.content-padding {
	padding: 60px 0 60px 0;
}
.content-padding-large {
	padding: 120px 0;
}
.content-padding-bottom {
	padding: 0 0 60px 0;
}
.content-padding-small {
	padding: 30px 0 30px 0;
}
.container-divider {
	border-top: 1px solid var(--medium-gray);
	padding-top: 60px;
}
.row-divider {
	border-top: 1px solid var(--medium-gray);
	padding-top: 60px;
}
.content-panel {
	background: #fff;
	border: 1px solid var(--light-gray);
	border-radius: 10px;
	padding: 15px;
	margin-bottom: 1em;
}
.content-gray {
	background: var(--light-gray);
}
.content-blue {
	background: var(--royal-blue);
}
.content-transparent {
	background: rgba(255, 255, 255, .8);
}
/*# ----------------- Content - Equal Height Columns ----------------- #*/
.row-flex { /* apply to row */
	display: flex;
	flex-wrap: wrap;
}
.row-flex .col-flex { /* apply to column */
	flex: 1;
	width: 100%;
}
.col-flex-container { /* extra div needed in col */
	display: flex;
	flex-direction: column;
	height: 100%;
}
.to-bottom { /* move element to bottom */
	margin-top: auto;
	margin-bottom: 0;
}
/*# ----------------- Content - Typography ----------------- #*/
h1 {
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 35px;
	font-weight: normal;
	margin-bottom: .75em;
}
h2 {
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 25px;
	font-weight: normal;
	margin-bottom: .75em;
	margin-top: 0;
}
h2.h2-lg {
	font-size: 35px;
}
h2.h2-divider {
	border-top: 1px solid var(--medium-gray);
	padding-top: 1em;
}
.row.divider {
	border-top: 1px solid var(--medium-gray);
	padding-top: 1em;
}
h3, h4 {
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-weight: normal;
}
p {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 20px;
	line-height: 1.25;
	margin-bottom: 1em;
}
.content p {
	color: var(--royal-blue);
}
p.sidebar-text {
	color: var(--medium-gray);
	font-size: 25px;
	/*margin-top: 20px;*/
}
p.sidebar-text-small {
	color: var(--medium-gray);
}
@media (min-width: 992px) { /* lg+ */
	p.sidebar-text, p.sidebar-text-small {
		margin-right: 15px;
	}
}
@media (min-width: 1200px) { /* xl+ */
	p.sidebar-text, p.sidebar-text-small {
		margin-right: 45px;
	}
}
.content-reverse p {
	color: #fff;
}
p.text-lg {
	font-size: 28px;
}
.content a {
	text-decoration: underline;
}
a {
	color: var(--deep-fushia);
}
a:hover {
	color: var(--deep-fushia-80);
}
.content a, .content a:link {
	color: var(--deep-fushia);
}
.content a:hover {
	color: var(--deep-fushia-80);
}
.content-reverse a {
	color: var(--deep-fushia-40);
}
.content-reverse a:link {
	color: var(--deep-fushia-40);
}
.content-reverse a:hover {
	color: var(--deep-fushia-20);
}
@media (min-width: 768px) { /* md+ */
}
.reverse-text {
	color: #fff;
}
.margin-reduce {
	margin: 0 0 .5em 0;
}
/* ----------------- Content - Tables ----------------- */
.table td, .table th {
	/*font-size: 1.25em;*/
}
.table .thead-dark th {
	color: #fff;
	background-color: var(--dark-gray);
	border-color: var(--royal-blue);
}
.table th {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-weight: normal;
}
/*# ----------------- Forms - General ----------------- #*/
.field-label {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-weight: normal;
	font-size: 1.4em;
}
.crmEntityFormView .cell div.info.required label::after {
	/* content: ' *';
	color: var(--royal-blue);*/
}
/*# ----------------- Forms - Branded Background Div ----------------- #*/
/*.medxcel-form-block {
	background: #fff;
	border-radius: 15px;
	margin: 0 auto;
	padding: 30px 30px 30px 30px;
}
.medxcel-form-block-narrow {
	width: 640px;
	max-width: 100%;
}
.medxcel-form-block-narrow h1 {
	background: var(--royal-blue);
	border-radius: 15px 15px 0 0;
	color: #fff;
	margin: -30px -30px .5em -30px;
	padding: 30px;
}
@media (min-width: 768px) {
	.medxcel-form-block-narrow {
		padding: 30px 100px 50px 100px;
	}
	.medxcel-form-block-narrow h1 {
		margin: -30px -100px .5em -100px;
	}
}*/

/*# ----------------- Forms - Branded Labels ----------------- #*/
.medxcel-form .form-group {
	margin-bottom: 30px;
	position: relative;
}
.medxcel-form label {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-weight: normal;
	font-size: 20px;
}
.medxcel-form label.control-label.required::after, .medxcel-form label.field-label.required::after {
	/*content: ' *';
	color: var(--royal-blue);
	white-space: nowrap;*/
}
.medxcel-form .note, .medxcel-form p {
	color: var(--medium-gray);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 16px;
	text-align: left;
}
/*# ----------------- Forms - Branded Inputs ----------------- #*/
.medxcel-form input[type=text], .medxcel-form input[type=password], .medxcel-form input[type=number], .medxcel-form input[type=email], .medxcel-form input[type=url] {
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	font-size: 16px;
	height: 45px;
	padding: 10px 15px;
}
.medxcel-form textarea {
	border: 1px solid var(--royal-blue);
	border-radius: 15px;
	font-size: 16px;
}
.medxcel-form input::placeholder {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	color: var(--medium-light-gray);
}
.medxcel-form .checkbox input[type=checkbox] {
	accent-color: var(--royal-blue);
	border: 1px solid var(--royal-blue);
	border-radius: 2px;
	cursor: pointer;
	left: 0;
	height: 25px;
	margin: 0 20px 0 0;
	outline: none;
	width: 25px;
}
.medxcel-form .checkbox input[type=checkbox]:checked {
	accent-color: var(--royal-blue);
}
.medxcel-form .checkbox label {
	color: var(--form-text);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 20px;
}
.medxcel-form .checkbox label input + span {
	margin-left: 15px;
}
/*# ----------------- Forms - Branded Dividers ----------------- #*/
.medxcel-form .divider {
	display: flex;
	align-items: center;
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 25px;
	text-align: center;
}
.medxcel-form .divider::after, .medxcel-form .divider::before {
	content: "";
	border: 1px solid var(--royal-blue);
	flex: 1;
	margin-top: 3px;
}
.medxcel-form .divider:not(:empty)::before {
	margin-right: 0.5em;
}
.medxcel-form .divider:not(:empty)::after {
	margin-left: 0.5em;
}
/*# ----------------- Forms - Modals ----------------- #*/
.modal h1 {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 35px;
}
@media (max-width: 767px) { /* Fix for mobile tooltips causing expanded page size */
	.tooltip {
		display: none !important;
		left: 0 !important;
	}
	.modal-footer .btn, .modal-footer .btn.cancel, .modal-footer a.btn.cancel:link, .modal-footer .btn.remove-value, .modal-footer a.btn.remove-value:link {
		font-size: 1.2em;
		padding: 15px 10px;
	}
}
/*# ----------------- Forms - Login/Register/Redeem Invitation Form ----------------- #*/
/* Password requirements box */
#password-info {
	background: #fff;
	border: 1px solid var(--medium-gray);
	border-radius: 5px;
	box-shadow: 0 1px 3px var(--medium-gray);
	display: none;
	left: 50%;
	padding: 15px;
	position: absolute;
	transform: translate(-50%, 0); /* center box */
	margin-top: 3px;
	width: 70%;
	z-index: 100;
}
@media (min-width: 768px) { /* md+ */
	#password-info {
		width: 55%;
	}
}
#password-info h4 {
	margin: 0 0 15px 0;
	padding: 0;
	font-weight: normal;
}
#password-info ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#password-info li {
	line-height: 1;
	margin-bottom: 10px;
}
#password-info li:last-child {
	margin-bottom: 0;
}
#password-info::before {
	color: var(--medium-gray);
	content: "\25B2";
	display: block;
	font-size: 14px;
	left: 45%;
	line-height: 14px;
	position: absolute;
	text-shadow: none;
	top: -12px;
}
#password-info .invalid {
	background: url('icon-x.png') no-repeat 0 50%;
	color: #ec3f41;
	padding-left: 22px;
}
#password-info .valid {
	background: url('icon-check.png') no-repeat 0 50%;
	color: #3a7d34;
	padding-left:22px;
}
/*
#password-info .invalid::before {
	content: "";
	content: "\239";
	position: relative;
	top: 1px;
	display: inline;
	 font-family: 'Glyphicons-Halflings'; 
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}*/

/*.login-form .login-heading-section, .register-form .login-heading-section {
	font-weight: normal;
	font-size: 35px;
	line-height: 1.1;
}
.login-form .note, .register-form .note {
	color: var(--medium-gray);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 20px;
	text-align: left;
}
.login-form .note-small, .register-form .note-small {
	color: var(--medium-gray);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 16px;
	text-align: left;
	margin-bottom: 1em;
}*/
/*# ----------------- Buttons ----------------- #*/
.btn {
	border-radius: 30px;
	white-space: normal;
}
.btn:hover, a.btn:hover {
	cursor: pointer;
}
a.btn {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	padding: 15px;
	text-decoration: none;
	text-transform: none;
}
.medxcel-form .btn {
	display: block;
	font-size: 18px;
	margin-bottom: 1em;
	padding: 15px;
	width: 100%;
	white-space: normal; /* make button element break when needed */
}
@media (min-width: 768px) { /* md+ */
	.medxcel-form .btn {
		padding: 15px 120px;
		width: auto;
	}
}
/*# ----------------- Buttons - Primary ----------------- #*/
.btn-primary, a.btn-primary:link, a.btn-primary:visited, .content a.btn-primary {
	background: var(--royal-blue);
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: #fff;
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	margin-bottom: 1em;
	padding: 15px;
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
}
.btn-primary:hover, a.btn-primary:hover {
	background: var(--deep-fushia);
	color: #fff;
}
/*# ----------------- Buttons - Secondary and Default ----------------- #*/
.btn-secondary, a.btn-secondary:link, a.btn-secondary:visited, .content a.btn-secondary {
	background: #fff;
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	margin-bottom: 1em;
	padding: 15px;
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
}
.btn-secondary:hover, a.btn-secondary:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.btn.cancel, a.btn.cancel:link, .btn.remove-value, a.btn.remove-value:link, a.btn.remove-value:visited {
	background: var(--medium-light-gray);
	border: 0;
	color: #fff;
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	padding: 15px;
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
}
.btn.cancel:hover, a.btn.cancel:hover, .btn.remove-value:hover, a.btn.remove-value:hover {
	background: var(--dark-gray);
	color: #fff;
}
/*# ----------------- Buttons - Lookup ----------------- #*/
.btn-default.launchentitylookup, .btn-default.clearlookupfield {
	font-size: 14px;
	height: 34px;
	width: 50px;
}
.medxcel-form .btn-default.launchentitylookup, .medxcel-form .btn-default.clearlookupfield {
	border: 1px solid #000;
	height: 45px;
	padding: 15px;
	width: auto;
}
/*# ----------------- Buttons - Sizes ----------------- #*/
.btn-xl, a.btn-xl, a.btn-xl:link {
	font-size: 35px;
	margin-bottom: 15px;
	padding: 20px 5px;
}
.btn-lg, a.btn-lg, a.btn-lg:link {
	font-size: 25px;
	margin-bottom: 15px;
	padding: 20px 5px;
}
.btn-md, a.btn-md, a.btn-md:link {
	font-size: 18px;
	margin-bottom: 15px;
	padding: 15px;
}
.btn-wide, a.btn-wide:link {
	padding: 15px 90px;
}
/*# ----------------- Navigation ----------------- #*/
.medxcel-navbar {
	margin-bottom: 0;
	padding-bottom: 15px;
	padding-top: 15px;
}
.medxcel-navbar .weblink, .medxcel-navbar .dropdown, .medxcel-navbar .dropdown-highlight {
	font-size: 20px;
}
.medxcel-navbar .weblink, .medxcel-navbar .dropdown, .medxcel-navbar .dropdown-highlight, .medxcel-navbar .dropdown-menu {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	text-align: center;
}
/* Overwrite theme styles */
.navbar-static-top.navbar.medxcel-navbar .menu-bar > .navbar-nav > li > a {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	/*font-size: inherit;*/
	font-weight: normal;
}
@media (min-width: 768px) {
	.navbar-static-top.navbar.medxcel-navbar .menu-bar > .navbar-nav > li.help > a {
		font-size: 25px;	
	}
}

/*# ----------------- Navigation - Mobile Header ----------------- #*/
.medxcel-navbar .medxcel-navbar-header {
	display: flex;
	gap: 30px;
	justify-content: space-between;
}
.medxcel-navbar .logo-top {
	margin: 0;
	max-width: 100%;
	width: 270px;
}
.medxcel-navbar .logo-top img {
	margin: 0;
	width: 300px;
	max-width: 100%;
}
/*# ----------------- Navigation - Desktop Header ----------------- #*/
@media (min-width: 576px) { /* sm+ */
	.medxcel-navbar .weblink a, .medxcel-navbar .dropdown-toggle {
		border-radius: 30px;
		padding: 8px 10px;
	}
}
@media (min-width: 768px) { /* md+ */
	.medxcel-navbar .logo-top {
		width: 185px;
	}
	.medxcel-navbar .logo-top img {
		width: 185px;
	}
	.medxcel-navbar .container {
		align-items: center;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 30px;
	}
	.medxcel-navbar .container::before, .medxcel-navbar .container::after {
		display: none; /* fix bootstrap overriding flexbox */
	}
	.medxcel-navbar ul.navbar-nav {
		align-items: center;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		column-gap: 5px;
		justify-content: flex-end;
		row-gap: 10px;
	}
	.medxcel-navbar ul.navbar-nav::before, .medxcel-navbar ul.navbar-nav::after {
		display: none; /* fix bootstrap overriding flexbox */
	}
	.medxcel-navbar .weblinks li:first-child { /* no margin on first link */
		margin-left: 0;
	}
	.medxcel-navbar .weblink, .medxcel-navbar .dropdown, .medxcel-navbar .dropdown-highlight {
		font-size: 16px;
	}
	.medxcel-navbar .weblink, .medxcel-navbar .dropdown, .medxcel-navbar .dropdown-highlight, .medxcel-navbar .dropdown-menu {
		text-align: left;
	}
	.medxcel-navbar .weblink a, .medxcel-navbar .dropdown-toggle {
		border-radius: 30px;
		padding: 8px 20px;
	}
	.medxcel-navbar .dropdown-toggle {}
	.medxcel-navbar .dropdown .profile, .medxcel-navbar .weblink .profile {
		border: 1px solid var(--royal-blue);
	}
	.medxcel-navbar .dropdown a.profile:link, .medxcel-navbar .dropdown a.profile:visited, .medxcel-navbar .weblink a.profile:link, .medxcel-navbar .weblink a.profile:visited {
		background: #fff;
	}
	.medxcel-navbar .dropdown a.profile:hover, .medxcel-navbar .dropdown a.profile:active, .medxcel-navbar .weblink a.profile:hover, .medxcel-navbar .weblink a.profile:active {
		background: var(--deep-fushia);
	}
	.medxcel-navbar .help a {
		border-radius: 50%;
		font-size: 25px;
		line-height: 35px;
		margin-right: 0;
		padding: 0;
		height: 35px;
		width: 35px;
		text-align: center;
	}
	.medxcel-navbar .weblink.help a:link, .medxcel-navbar .weblink.help a:visited, .medxcel-navbar .help a:visited, .medxcel-navbar .help a:visited {
		background-color: var(--royal-blue);
		border: 1px solid var(--royal-blue);
		color: #fff;
	}
	.medxcel-navbar .weblink.help a:hover, .medxcel-navbar .help a:active {
		background-color: var(--deep-fushia);
		color: #fff;
	}
}
/*# ----------------- Navigation - Hamburger Menu ----------------- #*/
.medxcel-navbar .navbar-toggle {
	background-color: var(--royal-blue);
	color: #fff;
	border: 1px solid var(--royal-blue);
	height: auto;
	margin-right: 0;
}
.medxcel-navbar .navbar-toggle:hover {
	background-color: var(--deep-fushia);
	color: #fff;
	border: 1px solid var(--royal-blue);
}
.medxcel-navbar .navbar-toggle.collapsed {
	background-color: #fff;
	color: var(--royal-blue);
	border: 1px solid var(--royal-blue);
}
.medxcel-navbar .navbar-toggle.collapsed:hover {
	background-color: var(--deep-fushia);
	color: #fff;
	border: 1px solid var(--royal-blue);
}
.medxcel-navbar .navbar-toggle .icon-bar, .medxcel-navbar .navbar-toggle.collapsed:hover .icon-bar {
	border: 1px solid #fff;
}
.medxcel-navbar .navbar-toggle.collapsed .icon-bar {
	border: 1px solid var(--royal-blue);
}
/*# ----------------- Navigation - Top Level ----------------- #*/
.medxcel-navbar .weblink a, .medxcel-navbar .dropdown a {
	border: 0;
	/* border-radius: 10px; */
	/*transition: background .25s, color .25s;*/
}
html[dir=ltr] .medxcel-navbar .weblink li a, html[dir=ltr] .medxcel-navbar .dropdown li a { /* fix random spacing in top level menu */
	margin-left: 0;
}
.medxcel-navbar .weblink a:link, .medxcel-navbar .dropdown a:link, .medxcel-navbar .weblink a:visited, .medxcel-navbar .dropdown a:visited {
	background: none;
	color: var(--royal-blue);
}
.medxcel-navbar .weblink a:hover, .medxcel-navbar .dropdown a:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.medxcel-navbar .weblink a:active, .medxcel-navbar .dropdown a:active {
	background: var(--deep-fushia);
	color: #fff;
}
/*# ----------------- Navigation - Top Level - Emphasis/Highlight Links ----------------- #*/
.medxcel-navbar .dropdown-highlight a {
	border: 0;
	border-radius: 10px;
}
.medxcel-navbar .dropdown-highlight a:link, .medxcel-navbar .dropdown-highlight a:vistied {
	background: var(--royal-blue);
	color: #fff;
}
.medxcel-navbar .dropdown-highlight a:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.medxcel-navbar .dropdown-highlight a:active {
	background: var(--deep-fushia);
	color: #fff;
}
/*# ----------------- Navigation - Top Level when Open ----------------- #*/
.medxcel-navbar .dropdown.open a:link, .medxcel-navbar .dropdown.open a:visited {
	background: var(--light-blue);
	color: var(--royal-blue);
}
.medxcel-navbar .dropdown.open a:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.medxcel-navbar .dropdown.open a:active {
	background: var(--light-gray);
	color: var(--royal-blue);
}
/*# ----------------- Navigation - Second Level ----------------- #*/
.medxcel-navbar .dropdown-menu {
	border: 1px solid var(--royal-blue);
	border-radius: 5px;
	padding: 2px 0;
}
.medxcel-navbar .navbar-nav > li > .dropdown-menu {
	border-radius: 5px;
}
.medxcel-navbar .dropdown-menu .divider {
	height: 1px;
	margin: 0;
	overflow: hidden;
	background-color: var(--royal-blue);
}
.medxcel-navbar .dropdown .dropdown-menu a {
	padding: 10px 25px;
	border: 0;
	border-radius: 0;
}
.medxcel-navbar .dropdown .dropdown-menu a:link, .medxcel-navbar .dropdown .dropdown-menu a:visited {
	background: #fff;
	color: var(--royal-blue);
}
.medxcel-navbar .dropdown .dropdown-menu a:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.medxcel-navbar .dropdown .dropdown-menu a:active {
	background: #fff;
	color: var(--royal-blue);
}
html[dir=ltr] .medxcel-navbar .dropdown .dropdown-menu li a { /* fix random spacing in dropdown */
	margin-left: 0px;
}
/*# ----------------- Dropdown Menus ----------------- #*/
html[dir=ltr] .drop-downmenu li a {
	margin-left: 0;
}
.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
	background-color: var(--deep-fushia);
}
a.dropdown-toggle {
	/* color: #6D4A8A; */
}
/*# ----------------- Pagination Links ----------------- #*/
.pagination > li > a, .pagination > li > span {
	font-size: 16px;
}
/*# ----------------- Homepage ----------------- #*/
.home-hero {
	background: #fff url("home-hero-bg-new.jpg") no-repeat;
	background-position: 60% 50%;
	background-size: cover;
	display: flex;
	min-height: 55em;
	padding: 30px 0;
}
.home-hero .container, .home-hero .row {
	display: flex;
}
.home-hero-content {
	display: flex;
	flex-direction: column;
}
.home-buttons {
	margin-top: auto;
}
@media (min-width: 576px) { /* sm+ */
}
@media (min-width: 768px) { /* md+ */
	.medxcel-navbar:has(~ .home-hero) { /* extra navigation layout for homepage */
		background: none;
		position: absolute;
		width: 100%;
	}
	.home-hero {
		padding-top: 100px;
		position: relative;
	}
}
@media (min-width: 992px) { /* lg+ */
	.home-hero {
		background-position: 60% 50%;
		background-size: cover;
		min-height: auto;
		padding: 220px 0 120px 0;
	}
	.home-buttons {
		margin-top: 30px;
	}
}
@media (min-width: 1200px) { /* xl+ */
}
@media (min-width: 1500px) { /* xl+ */
}
/*# ----------------- News Ticker ----------------- #*/
.news-ticker {
	color: #fff;
	background: var(--royal-blue);
	padding: 15px 0 20px 0;
	position: relative;
	z-index: 500;
}
.news-ticker p {
	font-size: 18px;
	margin: 0;
	width: 100%;
}
.news-ticker strong {
	text-transform: uppercase;
}
.news-ticker a {
	color: #fff;
	text-decoration: underline;
}
/*# ----------------- My Account Page ----------------- #*/
.profile-info {
	display: flex;
	align-items: center;
	background: var(--light-gray);
	border-radius: 10px;
	font-size: 16px;
}
.profile-info img {
	border-radius: 5px;
	margin-right: 15px;
}
.panel {
	/*border-radius: 10px;*/
}
.panel.panel-default {
	border: 1px solid var(--medium-light-gray);
}
.panel-heading, .panel-default > .panel-heading {
	color: var(--royal-blue);
	background: var(--light-gray);
	border-color: var(--medium-light-gray);
	/*border-radius: 10px 10px 0 0;*/
}
.panel-title {
	font-size: 1.75em;
}
.panel .list-group-item {
	text-decoration: none;
}
.panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { /* last item */
	border-bottom: 0;
	/*border-radius: 0 0 10px 10px;*/
}
/*# ----------------- Service Request Page ----------------- #*/
.text-primary {
	color: var(--royal-blue);
}
.bg-primary {
	background-color: var(--royal-blue);
}
.urgent-services-warning {
	border: 1px solid var(--royal-blue);
}
.urgent-services-warning .panel-heading {
	background: var(--royal-blue);
	border: 0;
}
.urgent-services-warning .panel-heading h4 {
	color: #fff;
}
/*# ----------------- Service Request Submitted ----------------- #*/
.container #MessagePanel.alert-success #MessageLabel {
	display: block;
	font-size: 20px;
	padding: 30px;
	text-align: center;
}
.container #MessagePanel.alert-success #MessageLabel::before {
	content: 'Thank You!';
	display: block;
	font-family: 'NimbusSanNov-Bol', arial, verdana, sans-serif;
	font-size: 35px;
	line-height: 1;
	margin-bottom: .5em;
	text-align: center;
}
.container #MessagePanel.alert-success input#btnCloseMessage.close {
	background: transparent;
	font-size: 25px;
}
div.message.success {
	background-color: var(--light-blue);
	border-color: var(--royal-blue);
	color: var(--dark-gray);
	-ms-border-radius: 4px;
	border-radius: 4px;
	margin-bottom: 18px;
	-ms-text-shadow: none;
	text-shadow: none;
}
/*# ----------------- Urgent Service Block ----------------- #*/
/*.urgent-service {}*/
/* Special CSS if this appears after a content-gray block */
/*.content-gray + .urgent-service, .content-gray + script + .urgent-service {
	border-top: 30px solid var(--light-gray);
	margin-top: 0;
}
.urgent-service-icon {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: 100px;
}*/
/* Fix for incorrect nesting in HTML */
/*#priority-alert {
	margin-left: -15px;
	width: 100%;
}*/
/* ----------------- Open Service Requests Page Fixes ----------------- */
.entity-grid .view-grid {
	/*overflow-x: auto; /* not changeable */
	/*position: relative; /* not changeable */
	font-size: 14px;
	/*min-width: 720px;*/
	width: auto;
}
/* Fix table scrolling */
@media (min-width: 1200px) { /* xl+ */
	.entity-grid .view-grid {
		/*width: calc(100% + 30px);*/
		width: 100%;
	}
	.modal-dialog .entity-grid .view-grid {
		width: auto;
	}
}
/* Make form and buttons take full width when needed */
.toolbar-actions {
	width: 100%;
}
.toolbar-actions .entitylist-search {
	margin-bottom: 15px;
	width: 100%;
}
.toolbar-actions .create-action {
	width: 100%;
}
.toolbar-actions .input-group {
	width: 100%;
}
/* Search box */
.toolbar-actions .input-group #searchInput {
	border: 1px solid var(--royal-blue);
	border-radius: 30px !important;
	box-sizing: border-box;
	color: var(--form-text);
	font-size: 14px;
	height: auto;
	padding: 10px 15px;
}
/* Move Create service request button to left */
@media (min-width: 768px) { /* md+ */
	.toolbar-actions {
		width: 100%;
	}
	.toolbar-actions .entitylist-search {
		float: right !important;
		width: auto;
	}
	.toolbar-actions .create-action {
		float: left !important;
		width: auto;
	}
	.toolbar-actions .input-group .btn-primary {
		padding: 10px 90px;
	}
	.toolbar-actions .input-group {
		width: auto;
	}
}
/*# ----------------- Footer ----------------- #*/
footer {
	background-color: var(--deep-blue);
	color: #fff;
}
/*# ----------------- Footer - Top ----------------- #*/
footer .footer-top {
	padding: 45px 0 30px 0;
}
footer .logo img {
	max-width: 250px;
}
@media (min-width: 992px) { /* lg+ */
	footer p.sidebar-text, footer p.sidebar-text-small {
		margin-right: 0;
	}
}
@media (min-width: 1200px) { /* xl+ */
	footer .logo img {
		max-width: 300px;
	}
	footer p.sidebar-text, footer p.sidebar-text-small {
		margin-right: 0;
	}
}
/*# ----------------- Footer - Bottom ----------------- #*/
footer .footer-bottom {
	background: #001746;
	padding: 30px 0 30px 0;
}
footer .footer-bottom p {
	color: var(--medium-light-gray);
	font-size: 18px;
}
footer .sidebar-text {
	color: var(--medium-light-gray);
	margin-top: 0;
}
footer .container-divider {
	border-top: 1px solid var(--medium-light-gray);
	padding-top: 15px;
}
/*# ----------------- Custom Tooltip ----------------- #*/
.info-icon:hover + #tooltip {
	display: block;
}
.tooltip {
	display: block;
	position: relative;
}
.tooltip .tooltiptext {
	visibility: hidden;
	width: 200px;
	background-color: #000;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 5px;
	/* Position the tooltip */
	position: absolute;
	z-index: 1;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.tooltip:hover .tooltiptext {
	visibility: visible;
}
/*#---------------------Custom Work Order Form ----------------------#*/
/* General form container styling */
.custom-form-container .form-row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	gap: 10px; /* Space between the fields */
}
.custom-form-container .form-row, .custom-form-container .input-container {
	margin-bottom: 30px;
}
.custom-form-container .form-row > div {
	flex: 1; /* Ensure each form element takes equal width */
	display: flex;
	flex-direction: column; /* Ensures label and select/input are stacked vertically */
}
.custom-form-container label {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-weight: normal;
	font-size: 20px;
}
.custom-form-container select, .custom-form-container input {
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: var(--form-text);
	font-size: 16px;
	height: 45px;
	padding: 10px 15px;
	width: 100%; /* Ensure full width of the form element */
	box-sizing: border-box; /* Include padding in width calculations */
}
.custom-form-container textarea {
	border: 1px solid var(--royal-blue);
	border-radius: 15px;
	font-size: 16px;
}
.custom-form-container input::placeholder, .custom-form-container textarea::placeholder {
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	color: var(--medium-light-gray); /* Style placeholder text on inputs */
}
/* Style for smaller text below the Access Code label */
.small-text {
	color: var(--medium-gray);
	display: block;
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 16px;
	text-align: left;
	margin-bottom: 5px;
}
/* Button styling */
.custom-form-container button {
	background: var(--royal-blue); /* Set the button color */
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: #fff; /* Text color */
	cursor: pointer;
	display: inline-block; /* Ensures the button takes only the necessary space */
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px; /* Adjust the font size for better readability */
	font-weight: normal;
	line-height: 1;
	margin-bottom: 1em;
	padding: 15px; /* Adjust padding for the button */
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
	width: auto; /* Ensure the button is not full width */
}
/* Button hover effect */
.custom-form-container button:hover {
	background: var(--deep-fushia);
}
/* Align Building, Floor, and Room fields on the same row */
.form-row {
	display: flex;
	flex-wrap: wrap; /* Ensure dropdowns wrap properly if necessary */
	gap: 10px; /* Adjust spacing between elements */
}
.form-row > div {
	flex: 1; /* Ensure each dropdown takes up equal space */
	min-width: 200px; /* Ensure minimum size to avoid excessive shrinking */
}
.select2-container {
	width: 100% !important; /* Ensures the dropdown width is limited to the container */
}
.select2-selection--single {
	height: auto !important; /* Adjusts the height to fit the container */
	padding: 6px; /* Adjust padding for better appearance */
}
.select2-selection__rendered {
	line-height: normal !important; /* Fix text alignment */
}
.select2-dropdown {
	max-width: 100% !important; /* Ensure the dropdown doesn't exceed the container width */
}

/* Overwrite default styling of selection forms */
#customForm .select2-container--default .select2-selection--single { /* Set container border and padding */
	background-color: #fff;
	border: 1px solid var(--royal-blue);
	border-radius: 15px;
	padding: 10px 15px;
}
#customForm .select2-container .select2-selection--single .select2-selection__rendered { /* Set text color and padding */
	color: var(--form-text);
	padding-left: 0;
}
#customForm .select2-container--default .select2-selection--single .select2-selection__arrow b { /* Fix dropdown arrow color and spacing */
	border-color: var(--royal-blue) transparent transparent transparent;
	margin-top: 2px;
}
#customForm .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, #customForm .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { /* Fix rounded corners when dropdown below is active */
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
#customForm .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, #customForm .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { /* Fix rounded corners when dropdown above is active */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}



/* Style for the info icon and tooltip */
.info-icon {
	font-size: 20px;
	margin-left: 5px; /* Adds a little space between the label and the icon */
	color: var(--royal-blue);
	cursor: pointer;
}
.form-row .info {
	padding-bottom: 0 !important; /* Override the default padding */
}
.input-wrapper {
	position: relative;
	width: 100%;
}
.input-wrapper input {
	width: 100%;
	padding-right: 40px; /* To avoid text overlaying the icon */
	box-sizing: border-box;
}
/* Search Styles */
.search-icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	color: var(--royal-blue); /* Adjust icon color */
}
.search-icon:hover {
	color: var(--deep-fushia); /* Change color on hover */
}
.large-search-input, .custom-form-container input.large-search-input {
	border: 1px solid var(--royal-blue);
	border-radius: 30px !important;
	box-sizing: border-box;
	color: var(--form-text);
	font-size: 14px;
	height: auto;
	padding: 10px 15px;
	width: 250px !important; /* You can adjust the width as per your requirement */
}
#accessCodeError {
	color: red;
	font-size: 14px;
	display: block; /* Ensures the error message appears below the input */
	margin-top: 5px; /* Adds space between the input and the error message */
}
.checkbox-wrapper {
	margin: -15px 0 30px 0;
}
/* Override Bootstrap checkbox margin */
input[type="checkbox"] {
	margin: 0 10px 0 0; /* Reset margin to 0, then add a small right margin */
	accent-color: var(--royal-blue); /* Change checkbox tick color to the desired color */
}
/* Ensure the checkbox and label are aligned properly on the left */
.checkbox-wrapper, div.checkbox-wrapper {
	display: flex !important; /* Ensure the wrapper stays flexible */
	align-items: flex-start !important;
	width: 100% !important; /* Force the wrapper to take the full width */
}
.checkbox-wrapper input[type=checkbox] {
	accent-color: var(--royal-blue);
	border: 1px solid var(--royal-blue);
	border-radius: 2px;
	cursor: pointer;
	left: 0;
	height: auto;
	margin: 4px 10px 0 0;
	outline: none;
	width: auto;
}
/* Ensure the label does not wrap to the next line */
.checkbox-wrapper label {
	color: var(--form-text);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 16px;
	flex: 1;
	margin-bottom: 0;
	word-wrap: break-word;
	white-space: normal;
}
/* Additional general form container styling */
.custom-form-container .input-container.full-width {
	width: 100%; /* Full width for the container */
	display: flex;
	flex-direction: column;
	margin-top: 10px
}
/* Ensure full-width for other form elements */
.custom-form-container textarea, .custom-form-container button {
	width: 100%;
}
/* Work Order Table Style*/
.custom-form-container .divider {
	border-top: 1px solid var(--medium-gray);
	padding-top: 1em;
}
.small-header {
	color: var(--royal-blue);
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 25px;
	font-weight: normal;
	margin-bottom: .75em;
	margin-top: 0;
}
.small-font-table {
	font-size: 12px; /* Adjust the font size as needed */
}
.small-font-table th {
	font-size: 16px;
}
.small-font-table td {
	color: var(--dark-gray);
}
/*.submit-btn .required-label::after {
	content: " *";
	color: red;
	margin-left: 5px;
}*/
.required-field {
	border: 1px solid red;
}
/* Style for the overlay to cover the entire screen */
.dialog-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
	z-index: 9999; /* High z-index to ensure it is above other elements */
}
/* Style for the dialog box */
.dialog-box {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); /* Center the dialog */
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
	z-index: 10000; /* Higher than overlay to ensure it appears above */
	max-width: 500px;
	width: 80%; /* Responsive width */
	text-align: center;
}
/* Style for the close button */
#closeDialogButton {
	display: block;
	margin: 20px auto;
	padding: 10px 20px;
	background-color: var(--royal-blue); /* Bootstrap primary color */
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
#closeDialogButton:hover {
	background-color: var(--deep-fushia); /* Hover */
}
/* Style the container */
.file-upload-container {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 20px;
}
/* Style the upload button (label) */
.upload-button, .custom-form-container .upload-button {
	background: #fff;
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: var(--royal-blue);
	cursor: pointer;
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	padding: 10px 90px;
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
}
.upload-button:hover {
	background: var(--deep-fushia);
	color: #fff;
}
/* Hide the actual file input */
.image-upload {
	position: absolute;
	left: -9999px; /* Hide the input element */
}
/* Style for displaying selected file names */
.file-name-display {
	font-size: 14px;
	color: var(--royal-blue);
	flex-grow: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* Style the submit button */
.submit-btn, .custom-form-container button.submit-btn {
	background: var(--royal-blue);
	border: 1px solid var(--royal-blue);
	border-radius: 30px;
	color: #fff;
	cursor: pointer;
	font-family: 'CircularXXWeb-Book', arial, verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	margin-bottom: 1em; 
	padding: 10px 90px;
	text-decoration: none;
	text-transform: none;
	transition: background .25s;
}
.submit-btn:hover, .custom-form-container button.submit-btn:hover {
	background: var(--deep-fushia);
	color: #fff;
}
.error-border {
	border: 2px solid red !important;
}
/* Ensure logo is aligned to the left */
.navbar-header .logo-wrapper {
	float: left; /* Align the logo to the left */
}
/* Ensure toggle button is aligned to the right on smaller screens */
.navbar-header .navbar-toggle {
	float: right; /* Align toggle button to the right */
}
/* Clear floats */
.navbar-header {
	width: 100%;
	overflow: hidden; /* Ensure the header doesn't collapse with floating elements */
}
.navbar-header .contact-text {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 12px;
}
/* Clearfix utility for floating elements */
.clearfix::after {
	content: "";
	clear: both;
	display: table;
}
/* Styling specifically for mobile devices */
@media (max-width: 768px) { /* Adjust max-width as needed for your mobile breakpoints */
	.urgent-call {
		color: #ffffff; /* Ensure text is white on mobile */
		background-color: #7C5293; /* Optional: Background color for better contrast */
		padding: 10px; /* Adjust padding for better tap experience */
		display: inline-block;
		border-radius: 5px;
		text-decoration: none;
		font-weight: normal; /* Ensure font weight is normal */
	}
	/* Style for when the phone number is clicked (active/visited/focus) */
	.urgent-call:active, .urgent-call:visited, .urgent-call:hover, .urgent-call:focus {
		background-color: #7C5293; /* Background color change on click */
		color: #ffffff !important; /* Ensure the text color remains white */
		text-decoration: none; /* Remove underline if applicable */
		font-weight: normal !important; /* Ensure font weight remains normal */
	}
	/* Prevent default iOS styling for clickable phone numbers */
	a[href^="tel"] {
		color: #ffffff !important; /* Force white color on iOS */
		text-decoration: none !important; /* Prevent underline */
		font-weight: normal !important; /* Set font weight to normal */
	}
}
/* Add divider to list of work orders bar */ 
#workOrderContainerWrapper {
	border-top: 1px solid var(--medium-gray);
	padding-top: 60px;
}