*:focus {
	outline: none;
}

a:hover {
	color: var(--light-blue);
}

a:focus {
	color: var(--light-blue);
}	

td:focus {
	background: inherit !important;
}

input[type=text] {
	color: #4f4f4f !important;
}

th.sorting::before, th.sorting::after {
	color: rgb(182, 182, 182);
}

th.sorting_asc::before {
	color: grey;
}

th.sorting_asc::after {
	color: rgb(182, 182, 182);
}

th.sorting_desc::before {
	color: grey;
}

th.sorting_desc::after {
	color: grey;
} 


.cui__menuLeft__outer {
	background: #172550 !important;
}

.cui__menuLeft__logo__container {
	margin-top: 10px;
}

.cui__menuLeft__item__link {
	color: #fff !important;
}

.cui__menuLeft__item__link:hover {
	background: #ffffff0d !important;
	color: white !important;
}

.cui__menuLeft__item__link::before, .cui__menuLeft__item__link::after {
	background: #ffffff !important;
}

.cui__menuLeft__item__link:hover::before, .cui__menuLeft__item__link:hover::after {
	background: white !important;
}

.cui__menuLeft__submenu--toggled {
    background: rgba(185, 226, 255, 0.07) !important;
}

.cui__utils__content {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.cui__menuLeft__submenu--toggled > .cui__menuLeft__navigation > .cui__menuLeft__item > .cui__menuLeft__item__link {
    padding-right: 13px !important;
}

.modal-content {
	border-radius: 10px !important;
}

.modal-header .close {
	background: none !important;
	border: none !important;
}

.modal-header .close:hover {
	background: none !important;
	border: none !important;
}

.main-menu-flex {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.dtr-title {
	font-weight: 600 !important;
	padding-right: 5px !important;
	padding-left: 5px !important;
}

.dtr-title::after {
	content: ":";
}

.cui__menuLeft__item__link {
    padding-left: 13px !important;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.cui__menuLeft__item__title {
	margin-left: 7px !important;
}

.cui__menuLeft__navigation {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.cui__menuLeft__item__link i {
    width: 15px;
}

.cui__menuLeft__item__link i.large-icon {
    font-size: 16px !important;
}


.pointer-cursor {
	cursor: pointer;
}

/* Colors */

.dark-blue-font {
	color: var(--dark-blue);
}

.light-blue-font {
	color: var(--light-blue);
}

.light-grey-font {
	color: var(--light-grey);
}

.black-font {
	color: var(--black);
}

.soft-green-font {
	color: var(--soft-green);
}

.soft-yellow-font {
	color: var(--soft-yellow);
}

.soft-red-font {
	color: var(--soft-red);
}

.soft-grey-font {
	color: var(--soft-grey);
}

.dark-blue-border {
	border-color: var(--dark-blue);
}	

.light-blue-border {
	border-color: var(--light-blue);
}

.light-grey-border {
	border-color: var(--light-grey);
}

.black-border {
	border-color: var(--black);
}

.soft-green-border {
	border-color: var(--soft-green);
}

.soft-yellow-border {
	border-color: var(--soft-yellow);
}

.soft-red-border {
	border-color: var(--soft-red);
}

.main-wrapper {
	display: flex;
	flex-direction: column;
 	width: 100%
}

/* Flexbox Justifys */

.justify-left {
	justify-content: flex-start;
}

.justify-right {
	justify-content: flex-end;
}

.justify-center {
	justify-content: center;
}

.justify-space-between {
	justify-content: space-between;
}

.justify-stretch {
	justify-content: stretch;
}

/* Flexbox Aligns */

.align-left {
	align-items: flex-start;
}

.align-right {
	align-items: flex-end;
}

.align-center {
	align-items: center;
}

.align-stretch {
	align-items: stretch;
}

/* Flexbox Gaps */
.gap-0 {
	gap: 0px !important;
}

.gap-5 {
	gap: 5px !important;
}

.gap-10 {
	gap: 10px !important;
}

.gap-15 {
	gap: 15px !important;
}

.gap-20 {
	gap: 20px !important;
}

.full-width {
	max-width: none;
	width: 100%;
}

.full-height {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.flex-column {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	padding: 80px 30px;
	margin: auto;
}

.flex-column-p0 {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	padding: 0px 0px;
	margin: 0;
}

.flex-row {
	display: flex;
	flex-direction: row;
	gap: 20px;
	width: 100%;
	padding: 80px 30px;
	margin: auto;
}

.flex-row-p0 {
	display: flex;
	flex-direction: row;
	gap: 20px;
	width: 100%;
	padding: 0px 0px;
	margin: 0;
}

.create-button {
    background: var(--dark-blue);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
	transition: background .3s ease;
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.create-button:hover {
    background: #2a3f7e;
    color: white;
}

.create-button:active {
	background: #2a3f7e !important;
	color: white !important;	
}

.create-button:focus {
	background: #2a3f7e !important;
	color: white !important;	
}

.create-button-secondary {
	background: none;
	color: var(--dark-blue);
	border: 1px solid var(--dark-blue);
	padding: 9px 20px;
	border-radius: 8px;
	transition: background .3s ease, color .3s ease;
}

.create-button-secondary:hover {
	background: #2b3f7e;
	color: white;
}

.search-input {
	border-radius: 8px 0px 0px 8px !important;
	border-right: none !important;
	height: 42px !important;
	transition: border-color 0.15s ease-in-out;
	border: 1px solid #e4e9f0;
}

.search-button {
	border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #a1a1c2;
    background: #ffffff !important;
    border-top: 1px solid #e4e9f0 !important;
    border-right: 1px solid #e4e9f0 !important;
    border-bottom: 1px solid #e4e9f0 !important;
	border-left: none !important;
    padding-right: 12px !important;
	transition: all 0.15s ease-in-out;
}

.search-button:hover {
	border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #737e98 !important;
    background: #ffffff !important;
    padding-right: 12px !important;
}

.search-button:focus {
	border-color: var(--dark-blue);
	outline: none;
	box-shadow: none;
}

.search-button:focus-within {
	border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #7d88a4 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--dark-blue) !important;
    border-right: 1px solid var(--dark-blue) !important;
    border-bottom: 1px solid var(--dark-blue) !important;
    padding-right: 12px !important;
}	

.search-input:focus-within + .search-button {
	border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #7d88a4 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--dark-blue) !important;
	border-right: 1px solid var(--dark-blue) !important;
	border-bottom: 1px solid var(--dark-blue) !important;
	padding-right: 12px !important;
}

.search-button:active {
	border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #7d88a4 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--dark-blue) !important;
	border-right: 1px solid var(--dark-blue) !important;
	border-bottom: 1px solid var(--dark-blue) !important;
	padding-right: 12px !important;
}


.search-button::before {
	font-family: "FontAwesome";
	content: "\f002";
	padding-right: 5px !important;
}

.password-group {
    position: relative;
}

.password-requirements {
	display: none;
	position: static;
	margin-top: 10px;
	width: 100%;
	box-shadow: none;
	background: transparent;
	padding: 10px 0px 5px 0px;
}

.password-group input:focus ~ .password-requirements {
    display: block;
}

.requirement {
    margin-bottom: 8px;
    color: var(--soft-grey);
    display: flex;
    align-items: center;
    gap: 8px;
}

.requirement i {
    opacity: 0.3;
}

.requirement.met {
    color: var(--soft-green);
}

.requirement.met i {
    opacity: 1;
}

.requirement-title {
	font-weight: 400;
	margin-bottom: 10px;
	color: var(--soft-grey);
}

.select2-dropdown {
	border-color: #e4e9f0;
}

.sweet-alert {
	border-radius: 10px;
	padding: 30px;
}

.sweet-alert h2 {
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	margin-top: 0px !important;
}

.sweet-alert .lead {
	font-size: 15px !important;
	color: var(--black) !important;
}

.sweet-alert .confirm {
	background: var(--dark-blue) !important;
	border-radius: 8px !important;
	color: white !important;
	transition: background .3s ease;
}

.sweet-alert .confirm:hover {
	background: #2a3f7e !important;
	color: white !important;	
}

.sweet-alert .confirm:active {
	background: #2a3f7e !important;
	color: white !important;	
}

.sweet-alert .confirm:focus {
	background: #2a3f7e !important;
	color: white !important;	
}

.sweet-alert .cancel {
	background: #e9e9e9 !important;
	border-radius: 8px !important;
	color: var(--black) !important;
	transition: background .3s ease;
}

.sweet-alert .cancel:hover {
	background: #d9d9d9 !important;
	color: var(--black) !important;
}

.sweet-alert .cancel:active {
	background: #d9d9d9 !important;
	color: var(--black) !important;
}	

.sweet-alert .cancel:focus {
	background: #d9d9d9 !important;
	color: var(--black) !important;
}

.sa-icon.sa-warning {
    transform: scale(0.5); 
    transform-origin: center center;
}

.sa-icon.sa-warning.pulseWarning {
    margin: 0px auto !important;
}

.select2-selection__clear {
    margin-right: 30px !important;
    margin-top: auto;
    margin-bottom: auto;
    height: 100% !important;
    z-index: 4;
}
.dataTable .btn {
	width: 30px !important;
    border-radius: 5px !important;
    height: 30px !important;
    padding: 0px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.btn-danger {
	background: var(--soft-red) !important;
	border: none !important;
	transition: background .3s ease;
}

.btn-danger:hover {
	background: #df6767 !important;
}

.btn-danger:active {
	background: #df6767 !important;
}

.btn-danger:focus {
	background: #df6767 !important;
}

.btn-default {
	background: #b6b6b6 !important;
	border: none !important;
	transition: background .3s ease;
}

.btn-default:hover {
	background: #a6a6a6 !important;
}

.btn-default:active {
	background: #a6a6a6 !important;
}

.btn-default:focus {
	background: #a6a6a6 !important;
}

.form-control-sm {
	max-height: 39px !important;
	border-radius: 6px !important;
	padding: 4px 7px !important;
}

td.fw-grid-col-expand::before {
    background: var(--light-blue) !important;
	display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    left: 10px !important;
}

td.child {
	background: inherit !important;
}

td.child:hover {
	background: inherit !important;
}

tr.child:nth-child(odd) {
	background: inherit !important;
}

tr.child:nth-child(even) {
	background: inherit !important;
}


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

.loader-spin {
	animation: spin 1s linear infinite;
	display: inline-block;
}
/* Begin Mobile Styling */
@media screen and (max-width: 767px) {

	.cui__utils__content {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.flex-column {
		padding: 50px 20px;
	}
	
	.flex-row {
		padding: 50px 20px;
	}
	
	.password-requirements {
        position: static;
        margin-top: 10px;
        width: 100%;
        box-shadow: none;
        background: transparent;
        padding: 10px 0;
    }
	
	.rt-wrap-mobile {
		flex-wrap: wrap;
	}

	.mobile-hide {
		display: none;
	}

	.sweet-alert .sa-confirm-button-container {
		width: 100%;
	}

	.sweet-alert .confirm {
		width: 100%;
		height: 45px;
	}

	.sweet-alert .cancel {
		width: 100%;
		height: 45px;
	}
}

@media screen and (min-width: 768px) {
	.desktop-hide {
		display: none;
	}

}

.search-button-focused {
    border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #7d88a4 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--dark-blue) !important;
    border-right: 1px solid var(--dark-blue) !important;
    border-bottom: 1px solid var(--dark-blue) !important;
    padding-right: 12px !important;
}

.search-input:focus-within + .search-button {
    border-radius: 0px 8px 8px 0px !important;
    height: 42px !important;
    color: #7d88a4 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--dark-blue) !important;
    border-right: 1px solid var(--dark-blue) !important;
    border-bottom: 1px solid var(--dark-blue) !important;
    padding-right: 12px !important;
}