﻿/* Custom styles
-------------------------------------------------- */
.bg-grey-05 {
	background-color: var(--grey-05-color);
}

.bg-grey-10 {
	background-color: var(--grey-10-color);
}

.bg-grey-15 {
	background-color: var(--grey-15-color);
}

.bg-grey-35 {
	background-color: var(--grey-35-color);
}

.bg-ims-primary {
	background-color: var(--ims-primary-color);
}

.bg-ims-secondary {
	background-color: var(--ims-secondary-color);
}

.bg-yellow {
	background-color: var(--yellow);
}

.bg-light-grey {
	background-color: var(--lightgrey);
}

.bg-input-group {
	background-color: var(--input-group-color);
}

.bg-success-muted {
	background-color: var(--success-muted-color);
}

.bg-warning-muted {
	background-color: var(--warning-muted-color);
}

.bg-danger-muted {
	background-color: var(--danger-muted-color);
}

.bg-secondary-muted {
	background-color: var(--secondary-muted-color);
}

.text-acrobat {
	color: #ff0000;
}

.text-excel {
	color: #008000;
}

.text-yellow {
	color: var(--yellow);
}

.text-ims-primary {
	color: var(--text-primary-color);
}

.text-ims-secondary {
	color: var(--text-secondary-color);
}

.grey-footer {
	background-color: #d9d9d9 !important;
	color: black;
}

border-ims-primary {
	border-color: var(--text-primary-color);
}

.border-grey-05 {
	border-color: var(--grey-05-color) !important;
}

.border-grey-10 {
	border-color: var(--grey-10-color) !important;
}

.border-grey-15 {
	border-color: var(--grey-15-color) !important;
}

.border-grey-35 {
	border-color: var(--grey-35-color) !important;
}

.input-text-group-color {
	color: #495057 !important;
}

.show-pointer {
	cursor: pointer;
}

/* Utilities */

.no-minimum-width {
	min-width: 0;
}

/* Page Structure */

div.content-section {
	padding: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
	color: #ffffff;
	background: #6c757d;
	border-color: #60686f;
	width: 100%;
}

/* Spinners */

.spinner {
	margin: 0 auto 0;
	width: 2rem;
	text-align: center;
	display: inline;
}

	.spinner > div {
		margin-right: .1rem;
		margin-bottom: .1rem;
		width: .4rem;
		height: .4rem;
		background-color: #6c757d;
		border-radius: 100%;
		display: inline-block;
		-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
		animation: sk-bouncedelay 1.4s infinite ease-in-out both;
	}

	.spinner .bounce1 {
		-webkit-animation-delay: -0.32s;
		animation-delay: -0.32s;
	}

	.spinner .bounce2 {
		-webkit-animation-delay: -0.16s;
		animation-delay: -0.16s;
	}

@-webkit-keyframes sk-bouncedelay {
	0%, 80%, 100% {
		-webkit-transform: scale(0)
	}

	40% {
		-webkit-transform: scale(1.0)
	}
}

@keyframes sk-bouncedelay {
	0%, 80%, 100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1.0);
		transform: scale(1.0);
	}
}


/* Body Elements */

body {
	font-family: "Segoe UI", "Source Sans Pro", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

table a {
	font-weight: 700;
}

a.dropdown {
	cursor: pointer;
}

td.min, th.min {
	width: 1%;
	white-space: nowrap;
}

span.field-validation-error, div.field-validation-error {
	font-size: .75rem;
}

span.field-message {
	font-size: .75rem;
}

span.field-info {
	font-size: .75rem;
	color: #6c757d !important;
}

input[data-val-required]:not([data-val-required=""]):not(.is-invalid),
select[data-val-required]:not([data-val-required=""]):not(.is-invalid),
textarea[data-val-required]:not([data-val-required=""]):not(.is-invalid),
input[type=file][data-val-required]:not([data-val-required=""]) + label.custom-file-label,
.is-warning {
	border-color: #ffc107;
	/* set z-index above ESTs for visible left border. */
	z-index: 10;
}

/* Required border color for select2 select inputs. */

select[data-val-required]:not([data-val-required=""]) ~ .select2 .select2-selection {
	border-color: #ffc107;
	margin-left: 1px !important;
}

/* Validation error border color for select2 select inputs. */

.input-validation-error ~ .select2 .select2-selection {
	border: 1px solid red !important;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.input-validation-error ~ .select2 .select2-selection--single {
	background-position: right calc(1.375em + 0.1875rem) center !important;
}

/* Valdiation Error for inputs type file*/
input.input-validation-error[type=file][data-val-required]:not([data-val-required=""]) + label.custom-file-label {
	border-color: #dc3545;
}

option:disabled {
	color: #bbbbbb;
}

.inline {
	display: inline;
}

.link-button {
	background: none;
	border: none;
	cursor: pointer;
}

	.link-button:focus {
		outline: none;
	}

.circle {
	border-radius: 50%;
}

.circle-widget-icon {
	width: 56px;
	height: 56px;
	line-height: 56px;
}

.font-size-48 {
	font-size: 48px;
}

.font-size-40 {
	font-size: 40px;
}

.subtitle {
	margin-top: -.375rem
}

/* TODO: Lifted from AdminLTE theme; needs better implementation */

.form-control.input-validation-error[data-val-required]:not([data-val-required=""]),
input[type=file].input-validation-error + label.custom-file-label {
	border-color: #dc3545;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

select.form-control.input-validation-error {
	background-position: center right 1.3rem !important;
}

table.table-crud tbody tr:first-child {
	background-color: rgba(51,102,153,.4) !important;
}

table.table-crud thead th:first-child, table.table-crud tbody td:first-child {
	/* Better horizontal centering for checkbox switches */
	text-align: center;
	width: 1%;
	padding-right: 1.5rem !important;
}

table.table-crud tbody td:first-child {
	/* Better vertical centering for checkbox switches */
	padding-top: .75rem;
}

/* Row Styles */

.odd-row {
	background-color: rgba(0, 0, 0, 0.05);
}

.new-row {
	background-color: rgba(255, 255, 0, 0.05);
}



/* Customer checkbox switches (mimics AdminLTE theme but without extra right padding */

input.checkbox-switch {
	height: 0;
	width: 0;
	visibility: hidden;
}

label.checkbox-switch {
	cursor: pointer;
	text-indent: -9999px;
	width: 2rem;
	height: 1rem;
	background: grey;
	border-radius: 1rem;
	position: relative;
	margin: 0px;
	border: #145523 solid 1px;
}

	label.checkbox-switch:after {
		content: '';
		position: absolute;
		top: 1px;
		left: 1px;
		width: calc(1rem - .25rem);
		height: calc(1rem - .25rem);
		background: #fff;
		border-radius: .5rem;
		transition: 0.3s;
	}

input.checkbox-switch:checked + input + label.checkbox-switch {
	/*background: #bada55;*/
	background: #28a745;
}

	input.checkbox-switch:checked + input + label.checkbox-switch:after {
		left: calc(100% - 1px);
		transform: translateX(-100%);
		background: #86e29b;
	}

input.checkbox-switch:checked + label.checkbox-switch {
	background: #28a745;
}

	input.checkbox-switch:checked + label.checkbox-switch:after {
		left: calc(100% - 1px);
		transform: translateX(-100%);
		background: #86e29b;
	}

label.checkbox-switch:active:after {
	width: 1rem;
}

/* Articles */

#article-content img {
	max-width: 100%;
}

/* Control Sidebar */

.control-sidebar-scroll {
	overflow-y: auto;
}

/* Widgets */

div.ims-widget-card {
	font-size: .9rem;
	font-weight: normal;
}

div.ims-widget-info-box {
	margin-bottom: 0px;
	background-color: unset;
	box-shadow: unset;
	border: none;
	padding: .25rem;
	min-height: unset;
}

	div.ims-widget-info-box div.info-box-content {
		padding-left: .5rem;
	}

div.ims-widget-card .ims-widget-card-menu {
	cursor: pointer;
	z-index: 999;
	font-size: 1rem;
	position: absolute;
	right: 1rem;
	top: .5rem;
}

div.ims-widget-info-box ul.fa-ul {
	margin-left: .5rem;
}

	div.ims-widget-info-box ul.fa-ul li {
		word-break: break-word;
		list-style-position: inside;
		margin-left: 1.1rem;
	}

div.ims-widget-info-box .fa-ul.info-box-title {
	margin-bottom: 0px;
}

div.ims-widget-info-box .fa-ul.info-box-details {
	margin-top: .5rem;
	margin-bottom: 0px;
}

div.ims-widget-info-box span.info-box-icon {
	margin-left: .25rem;
	margin-top: .5rem;
	width: auto;
	font-size: 1.25rem;
	align-items: normal;
}

div.info-box-content span.info-box-title {
	font-weight: bold;
	font-size: 1rem;
	display: block;
	margin-bottom: 0;
}

div.info-box-content span.info-box-subtitle {
	font-style: italic;
	font-size: .85rem;
	margin-bottom: .25rem;
	display: block;
}

div.ims-widget-info-box .fa-ul.info-box-title li.subtitle {
	font-weight: unset;
	font-size: unset;
}

div.ims-widget-info-box span.progress-description {
	white-space: normal;
}

div.invit-bk-widgets-container {
	width: 18rem;
}

#page-title i {
	border-radius: 0.25rem !important;
	background-color: var(--ims-secondary-color);
	color: var(--text-secondary-color);
	padding: .5rem;
}

	#page-title i.fa-fw {
		width: unset;
	}

.hide-widgets {
	display: none;
}

/*	Example of fading out overflow content
	.fade-out:after {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	top: 0;
	width: 2rem;
	content: "";
	background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(51,102,153,1) 50%, rgba(51,102,153,1) 100%);
}*/

/* Progress tracker: */

@media (min-width: 576px) {
	.arrow-steps .step {
		max-width: 50%;
	}
}

.clearfix:after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}

.arrow-steps {
	display: flex;
	flex-wrap: wrap;
	margin-right: 15px;
}

	.arrow-steps .step {
		font-size: 14px;
		text-align: center;
		cursor: default;
		margin: 0 3px;
		padding: 10px 10px 10px 30px;
		min-width: 180px;
		flex-basis: 0;
		flex-grow: 1;
		position: relative;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		background-color: #eeeeee;
		color: black;
		line-height: 1.15;
		margin-bottom: 2.5px;
		margin-top: 2.5px;
	}

		.arrow-steps .step:after,
		.arrow-steps .step:before {
			content: " ";
			position: absolute;
			top: 0;
			right: -17px;
			width: 0;
			height: 0;
			border-top: 19px solid transparent;
			border-bottom: 17px solid transparent;
			border-left: 17px solid #eeeeee;
			z-index: 2;
		}

		.arrow-steps .step:before {
			right: auto;
			left: 0;
			border-left: 17px solid #fff;
			z-index: 0;
		}

		.arrow-steps .step:first-child:before {
			border: none;
		}

		.arrow-steps .step:first-child {
			border-top-left-radius: 4px;
			border-bottom-left-radius: 4px;
		}

		.arrow-steps .step span {
			position: relative;
		}

		.arrow-steps .step.completed {
			color: #fff;
			background-color: var(--ims-primary-color);
		}

			.arrow-steps .step.completed:after {
				border-left: 17px solid var(--ims-primary-color);
			}

		.arrow-steps .step.active {
			color: #fff;
			background-color: var(--ims-info-color);
		}

			.arrow-steps .step.active:after {
				border-left: 17px solid var(--ims-info-color);
			}


/* Product Configurator Classes */

.svg-Container {
	max-width: 500px;
}

/* Wizard Side Bar */

#wizardSidebar {
	max-width: 75px;
	overflow: hidden;
	transition: all .3s ease-in-out;
	position: sticky;
	top: 0;
	background-color: var(--ims-primary-color);
}

	#wizardSidebar.expand {
		max-width: 300px;
	}

	#wizardSidebar > .nav > .nav-link > i,
	#wizardSidebar > .nav > .nav-link > span {
		color: #ffffff5c !important;
	}

	#wizardSidebar > .nav > .nav-link.active > i,
	#wizardSidebar > .nav > .nav-link.active > span {
		color: var(--ims-primary-color) !important;
	}

	#wizardSidebar > .nav > .nav-link.active:hover > i,
	#wizardSidebar > .nav > .nav-link.active:hover > span {
		color: var(--ims-primary-color) !important;
	}

	#wizardSidebar > .nav > .nav-link.active {
		background-color: #ffffff !important;
	}

	#wizardSidebar > .nav > .nav-link:hover > i,
	#wizardSidebar > .nav > .nav-link:hover > span {
		color: #ffffff !important;
	}

	#wizardSidebar .nav-link {
		white-space: nowrap;
		max-width: 284px;
		overflow: hidden;
	}

		#wizardSidebar .nav-link .nav-link-text {
			display: block;
			max-width: 268px;
			overflow: hidden;
		}

		/* 
	Currently in use in Invoices
    Can be used to make any boostrap-alert overlay the entire parent container
	If you need another color, use the boostrap hexcode + 'bf' for the transparency
*/
		/* Project Services */
		.project-services > div {
			padding-bottom: 5px;
			padding-top: 5px;
		}

.project-services .card {
	margin-bottom: 0;
}

	.project-services .card .card-header {
		padding: .5rem .75rem .5rem .75rem;
	}

		.project-services .card .card-header .card-header-title {
			font-size: .85rem;
			font-weight: bold;
		}

		.project-services .card .card-header .card-header-subtitle {
			font-size: .7rem;
			display: block;
			white-space: nowrap;
		}

.project-services .card-body {
	padding: .75rem;
	font-size: .75rem;
}

	.project-services .card-body .badge {
		font-size: .7rem;
		padding: .25rem;
	}

.alert-overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 5;
}

.alert-overlay-danger {
	color: #ffffff;
	background: #dc3545bf;
	border-color: #d32535;
}

/* data-toggle="collapse" caret icon */

[data-toggle="collapse"] .fa:before {
	content: "\f107";
}

[data-toggle="collapse"].collapsed .fa:before {
	content: "\f105";
}


/*Small devices (landscape phones, 576px and up)*/

@media (min-width: 576px) {
	.bg-sm-grey-15 {
		background-color: var(--grey-15-color) !important;
	}

	.bg-sm-grey-10 {
		background-color: var(--grey-10-color) !important;
	}

	.bg-sm-grey-05 {
		background-color: var(--grey-05-color) !important;
	}
}

/*Medium devices (tablets, 768px and up)*/

@media (min-width: 768px) {
	.bg-md-grey-15 {
		background-color: var(--grey-15-color) !important;
	}

	.bg-md-grey-10 {
		background-color: var(--grey-10-color) !important;
	}

	.bg-md-grey-05 {
		background-color: var(--grey-05-color) !important;
	}
}

/*Large devices (desktops, 992px and up)*/

@media (min-width: 992px) {
	.bg-lg-grey-15 {
		background-color: var(--grey-15-color) !important;
	}

	.bg-lg-grey-10 {
		background-color: var(--grey-10-color) !important;
	}

	.bg-lg-grey-05 {
		background-color: var(--grey-05-color) !important;
	}
}

/*Extra large devices (large desktops, 1200px and up)*/

@media (min-width: 1200px) {
	.bg-xl-grey-15 {
		background-color: var(--grey-15-color) !important;
	}

	.bg-xl-grey-10 {
		background-color: var(--grey-10-color) !important;
	}

	.bg-xl-grey-05 {
		background-color: var(--grey-05-color) !important;
	}
}

/* Cards */

.card .card-header .card-tools.card-tools-absolute-right {
	position: absolute;
	right: 1em;
	top: .6em;
}

.card.maximized-card .card-body {
	overflow: auto;
}

/* Buttons */

.btn-group-floating {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 99;
	border: none;
	outline: none;
	opacity: .4;
	color: white;
	cursor: pointer;
	padding: 15px;
	border-radius: 10px;
	font-size: 13px;
}

	.btn-group-floating span {
		display: none;
	}

	.btn-group-floating:hover {
		opacity: 1;
	}

		.btn-group-floating:hover * {
			display: inline;
		}

.btn-hover:hover {
	background-color: lightgray;
}

/* BK Info Rail + Detail Container */

div.bk-info {
	background-color: #00000007;
}

div.bk-info-no-border {
	border: none;
}

div.bk-info-row {
	display: flex;
	justify-content: flex-start !important;
}

div.bk-info-row-rail {
	color: white;
	text-align: center;
	background-color: #00000045;
	min-width: 2rem;
	padding-top: .75rem;
}

	div.bk-info-row-rail .btn {
		color: white;
		padding-left: 0rem;
		padding-right: 0rem;
		padding-top: .0rem;
		border: none;
	}

		div.bk-info-row-rail .btn.dropdown {
			padding-left: .5rem;
			padding-right: .5rem;
		}

div.bk-info-row-detail {
	padding: .75rem .5rem 0 .5rem;
	flex: 1 1 auto !important;
}

div.bk-info-row.odd-row {
	background-color: #00000007;
}

div.bk-info-row-new {
	background-color: #ffc10715 !important;
}

	div.bk-info-row-new.odd-row {
		background-color: #ffc10725 !important;
	}

div.bk-info-row-success > div.bk-info-row-rail {
	background-color: #28a74599;
}

div.bk-info-row-warning > div.bk-info-row-rail {
	background-color: #ffc10799;
}

div.bk-info-row-danger > div.bk-info-row-rail {
	background-color: #dc354599;
}

div.bk-info-row-draggable {
	cursor: move;
}

	div.bk-info-row-draggable:hover {
		background-color: #cfe6fc !important;
		background: linear-gradient(45deg, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 4%,rgba(0,0,0,0) 29%,rgba(0,0,0,0) 29%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 57%,rgba(0,0,0,0) 57%,rgba(0,0,0,0) 86%,rgba(0,0,0,0) 87%,rgba(0,0,0,.3) 100% );
		background-size: 8px 8px;
	}

/* Folder Products */
div.card .folder-panel-card {
	background-color: var(--grey-10-color);
	margin-right: 1.5rem;
	float: left;
	width: 9rem;
}

	div.card .folder-panel-card div.card-body {
		padding: 0.75rem 1rem 0.75rem 1rem;
		text-align: center;
	}

		div.card .folder-panel-card div.card-body div.folder-panel-preview p {
			font-size: 0.875rem;
			font-weight: bold;
			margin-bottom: 0.5rem;
		}

		div.card .folder-panel-card div.card-body div.folder-panel-preview div.folder-panel-header {
			color: #ffffff;
			background-color: #6c757d;
			border: 1px solid #60686f;
			border-radius: 0.25rem;
			font-weight: normal;
			padding: .25rem;
			margin-bottom: 0.5rem;
		}

		div.card .folder-panel-card div.card-body div.folder-panel-preview:not(:last-child) {
			margin-bottom: 0.5rem;
			font-weight: bold;
		}

		div .card .folder-panel-card div.card-body button.folder-panel-toggle {
			padding: 0.5rem;
			width: 100%;
		}

/* Search */

div.advanced-search {
	background-color: var(--grey-05-color);
	border-radius: 0.25rem !important;
	padding: 1rem !important;
	margin-top: 1rem;
}

div.advanced-search.pb-0 {
	padding-bottom: 0px !important;
}

/* Menus */

.dropdown-menu .columns-2 {
	columns: 2;
}

.dropdown-menu .columns-3 {
	columns: 3;
}

/* Deprecated */

div.ims-widget-info-box .fa-ul.info-box-title li {
	font-weight: bold;
	font-size: 1rem;
}

span.select2 {
	/* Keep content from breaking out of container */
	overflow-x: hidden
}

.input-group-prepend ~ .input-group-select2-container .select2-container--default .select2-selection--multiple {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

/* Draggable Card*/
div.draggable-card {
	cursor: move;
}

	div.draggable-card:hover {
		background-color: #cfe6fc !important;
		background: linear-gradient(45deg, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 4%,rgba(0,0,0,0) 29%,rgba(0,0,0,0) 29%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 57%,rgba(0,0,0,0) 57%,rgba(0,0,0,0) 86%,rgba(0,0,0,0) 87%,rgba(0,0,0,.3) 100% );
		background-size: 8px 8px;
	}

/*Smallification of the UI*/
/*$("label").addClass("small");
$("label").css("margin-bottom", "0.1rem");
$(".form-control").addClass("form-control-sm");
$(".input-group").addClass("input-group-sm");
$(".form-group").css("margin-bottom", ".25rem");*/
/*.card-body .form-group {
    margin-bottom: .25rem;
}

    .card-body .form-group .col-form-label,
    .card-body .custom-control-label,
    .card-body .form-group label,
    .card-body td,
    .card-body th {
        font-size: smaller;
        margin-bottom: 0.1rem;
    }
        .card-body td .dropdown{
            font-size:medium !important;
        }*/
/*
        .card-body td .fa, .card-body td .fas, .card-body td .far {
            font-size: xx-small;
        }*/

/*.card-body .custom-control-label {
            text-align: end;
        }

        .card-body .form-group .form-control {
            height: calc(1.8125rem + 2px) !important;
            padding: 0.25rem 0.5rem !important;
            font-size: 0.875rem;
            line-height: 1.5;
            border-radius: 0.2rem;
        }

    .card-body .form-group .input-group {
        height: 30px;
        padding: 5px 10px;
        font-size: 12px;
        line-height: 1.5;
        border-radius: 3px;
    }

    .card-body .form-group .select2-container--default .select2-selection--multiple {
        min-height: calc(1.8125rem + 2px) !important;
        font-size: 0.875rem;
    }

    .card-body .form-group .select2-selection__rendered {
        padding: 0 0.25rem 0.25rem;
        margin-bottom: -0.375rem;
        margin-top: -0.1rem;
    }*/
