body {
	/*user-select: none;*/
	/*-webkit-user-select: none; !* Safari *!*/
	/*-moz-user-select: none;    !* Firefox *!*/
	/*-ms-user-select: none;     !* Internet Explorer/Edge *!*/
}

.debug {
	display: table;
	position: absolute;
	bottom: 0;
	right: 0;
	font-family: Verdana, "Courier New", Tahoma;
	background: #fff;
	z-index: 500;
	border: 1px solid #07cc00;
	border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
}

.debug .header {
	margin: 0 auto;
	padding: 10px;
	position: relative;
	width: 100%;
	height: 35px;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
	background-image: url('../img/debug/header_background.png');
	background-size: contain;
	border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
}

.debug .header .title {
	float: left;
	margin-top: -3px;
}

.debug .header .button {
	float: right;
	cursor: pointer;
	margin-top: 0;
}

.debug .header .button .minimize {
	display: inline-block;
	margin-right: 3px;
	width: 15px;
	height: 15px;
	background: url('../img/debug/minimize.png') no-repeat bottom;
	background-size: 100%;
}

.debug .header .button .restore {
	display: inline-block;
	margin-right: 5px;
	width: 15px;
	height: 15px;
	background: url('../img/debug/restore.png') no-repeat bottom;
	background-size: 100%;
}

.debug .header .button .close {
	display: inline-block;
	width: 15px;
	height: 15px;
	background: url('../img/debug/close.png') no-repeat bottom;
	background-size: 100%;
}

.debug .body {
	margin: 0 auto;
	padding: 10px;
	position: relative;
	width: 750px;
	height: 230px;
	resize: both;
	overflow-y: scroll;
	overflow-x: scroll;
	background: #fff;
}

.debug .body pre {
	display: initial;
	margin: initial;
	overflow: initial;
	font-size: initial;
	color: initial;
}

.execution-time {
    position: fixed;
    bottom: 0;
    right: 0;
	padding: 5px 10px;
	margin: 0;
    font-family: Verdana, "Courier New", Tahoma;
    font-size: 10px;
	background-color: rgba(255, 255, 255, 0.3);
	border-color: #ccc;
	border-style: solid;
	border-width: 1px 0 0 1px;
	border-radius: 10px 0 0 0;
	-moz-border-radius: 10px 0 0 0;
	-webkit-border-radius: 10px 0 0 0;
	z-index: 2147483647;
}

.tela-size {
    position: fixed;
	left: 0;
    bottom: 0;
    padding: 5px 10px;
    margin: 0 auto;
    font-family: Verdana, "Courier New", Tahoma;
    font-size: 10px;
    background-color: rgba(255, 255, 255, 0.3);
    border-color: #ccc;
    border-style: solid;
    border-width: 1px 1px 0 0;
    border-radius: 0 10px 0 0;
    -moz-border-radius: 0 10px 0 0;
    -webkit-border-radius: 0 10px 0 0;
    z-index: 2147483647;
}

.tela-size div {
	display: inline;
}

.hide {
	display: none;
	visibility: hidden;
}

/*
	 mail protected
	 <my-email data-user="john" data-domain="gmail.com"></my-email>
*/
my-email::after {
	content: attr(data-domain);
}

my-email::before {
	content: attr(data-user) "\0040";
}

.select2-selection__rendered {
	padding-left: 15px !important;
	line-height: 45px !important;
}

.select2-selection--single {
	height: calc(1.5em + .75rem + 12.4px) !important;
}

/**
DataTable
 */
.dt-center {
	text-align: center;
}

.dt-left {
	text-align: left;
}

.child ul, li{
	text-align: left !important;
}

/*
	Enfeitando form
*/
.form-ok {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238dbf42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem);
	border-color: #8dbf42 !important;
}

.form-ok-select {
	border-color: #8dbf42 !important;
}

.form-ok:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40,167,69,.25);
}

.form-nok,
.form-custom-nok {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e7515a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem);
	border-color: #dc3545 !important;
}

.form-nok-select {
	border-color: #dc3545 !important;
}

.form-nok:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220,53,69,.25);
}

.warning-feedback {
	display: none;
	width: 100%;
	margin-top: .25rem;
	color: #e7515a;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
}

.btn-wait-one-time-on {
	pointer-events: none!important;
}
.btn-wait-one-time-on svg {
	display: inline;
	visibility: visible;
	pointer-events: none!important;
}

.input-wait-one-time-on {
	pointer-events: none!important;
}
.input-wait-one-time-on svg {
	display: inline;
	position: absolute;
	top: 42px;
	right: 5px;
	visibility: visible;
	pointer-events: none!important;
	background-color: #fff;
}

.loader {
	border: 7px solid #f1f2f3;
	border-radius: 50%;
	border-top: 7px solid #1b55e2;
	width: 58px;
	height: 58px;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}
.loader.dual-loader {
	border-bottom: 7px solid #1b55e2;
}
.loader.multi-loader {
	border-bottom: 7px solid #e2a03f;
	border-right: 7px solid #8dbf42;
	border-left: 7px solid #e7515a;
}
@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
	}
}
@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@-webkit-keyframes spinner-border {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes spinner-border {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.spinner-border {
	position: relative;
	display: inline-block;
	width: 2rem;
	height: 2rem;
	overflow: hidden;
	text-indent: -999em;
	border: .25em solid;
	border-color: currentColor transparent currentColor currentColor;
	border-radius: 50%;
	-webkit-animation-name: spinner-border;
	animation-name: spinner-border;
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

.spinner-border-reverse {
	border-color: transparent currentColor transparent transparent;
}
.spinner-border-reverse::after {
	position: absolute;
	top: -.25em;
	right: -.25em;
	bottom: -.25em;
	left: -.25em;
	display: inline-block;
	content: "";
	border: 0.25em solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
}
@-webkit-keyframes spinner-grow {
	0% {
		opacity: 0;
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes spinner-grow {
	0% {
		opacity: 0;
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.spinner-grow {
	position: relative;
	display: inline-block;
	width: 2rem;
	height: 2rem;
	overflow: hidden;
	text-indent: -999em;
	background-color: currentColor;
	border-radius: 50%;
	-webkit-animation-name: spinner-grow;
	animation-name: spinner-grow;
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
.loader-lg {
	width: 2.5rem;
	height: 2.5rem;
	border-width: 0.35em;
}
.loader-sm {
	width: 1.5rem;
	height: 1.5rem;
	border-width: 0.15em;
}

/**
Others
 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px white inset !important;
}

/**
Fire do tinho
 */
input {
	filter: unset!important;
}

/**
Modal timeout
 */
.layout-px-spacing {
	min-height: calc(100vh - 190px)!important;
}

h4.modal-title { color: #000; }
.modal-content {
	border: none;
	box-shadow: 0 0 15px 1px #ebedf2;
	border: 1px solid #bfc9d4;
}
.modal-body { text-align: center; }
.modal-body p {
	color: #3b3f5c;
	font-weight: 600;
	margin-bottom: 0; }
p span.countdown-holder { color: #e7515a; font-size: 18px; }
.modal-footer { border: none; }
.progress {
	width: 50%;
	margin: 0 auto;
	border-radius: 30px;
	height: 10px;
}
.modal-backdrop { background-color: #fff; }

@media (min-width: 576px) { .modal-dialog { max-width: 350px; } }

.bootstrap-maxlength {
	z-index: 1052 !important;
}

/**
Ajustes datatable mobile
 */
li.wrapok {
	white-space: normal;
}

.dataTables_info {
	white-space: normal !important;
}

/**
Ajuste para load
 */
.btn-submit svg {
	position: unset!important;
	color: #fff!important;
}

/**
Profile and frame check
 */
.profile-ok, .frame-ok {
	border: solid 1px #8dbf42;
}

.profile-nok, .frame-nok {
	border: solid 1px #e7515a;
}

.border-radius {
	border-radius: 6px;
}

.modal-default {
	width: calc(100vw - 120px);
	max-width: 1480px !important;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 20%, 0);
		transform: translate3d(0, 20%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.txt-upper {
	text-transform: uppercase !important;
}

.txt-lower {
	text-transform: lowercase !important;;
}

.txt-cap {
	text-transform: capitalize !important;;
}

h5.sub-title {
	position: relative;
    font-size: 18px;
    font-weight: 600;
    color: #3b3f5c;
    margin: 6px 0 0 0;
}

h5.sub-title:after {
    position: absolute;
    content: "";
    height: 2px;
    width: 60px;
    background: #1b55e2;
    border-radius: 50%;
    bottom: -3px;
    left: 15px;
}

@media (min-width: 992px) {
	.topbar-nav.header nav#topbar ul.menu-categories li.menu .submenu li.sub-sub-submenu-list .sub-submenu li.active a {
		color: #1b55e2;
		font-weight: 600;
	}
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

i.info-tooltip {
    color: #0d21dc;
    background: linear-gradient(45deg, #8f8f8f, #fdfdfd);
    width: 16px;
    height: 16px;
    padding-left: 6px;
    padding-top: 3px;
    border-radius: 50%;
    font-size: .7em;
    text-shadow: 1px 1px 1px white;
    /* margin-bottom: 0px; */
    margin-left: 5px;
    cursor: help;
}

.reload {
	margin-right: 5px;
	display: inline;
	cursor: pointer;
	transition: transform 0.5s ease;
	background: transparent;
	border: none;
	color: #0c47d8;
}

.reload:hover {
	transform: rotate(360deg);
}

.form-group input {
	padding-right: 35px !important;
	padding-left: 10px;
}

.dt-actions-dropdown {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}