/* put your own styles to customize and override the theme */

/* pace progress bar activity. */
.pace .pace-activity {
	display: none !important;
}

/* Theme custom */

.app-header {
	box-shadow: 0 0 2px 1px rgba(20,20,31,.15), 0 1px 2px 0 rgba(20,20,31,.30);
}

.app-header-light {
}

.app-header-dark {
}

.top-bar-brand {
	padding: 0rem;
}

.background-brand-color {
}

.btn-primary {
}

/* ---------------- */

	.mainIcon {
	font-size: 50px;
}

.img-brand {
	max-width: 11rem;
	max-height: 11rem;
}

.auth-header {
}

.header-brand {
	background-size: cover;
	max-width: 100%;
	height: 100%;
	background-position: center center;
}

.bd-callout {
	padding: 1.25rem;
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	border: 1px solid #eee;
	border-left-width: .25rem;
	border-radius: .25rem;
}

.bd-callout h5 {
	margin-top: 0;
	margin-bottom: .25rem
}

.bd-callout p:last-child {
	margin-bottom: 0
}

.bd-callout + .bd-callout {
	margin-top: -.25rem
}

.bd-callout-info {
	border-left-color: #5bc0de;
}

.bd-callout-info h5 {
	color: #5bc0de
}

.bd-callout-warning {
	border-left-color: #f0ad4e;
}

.bd-callout-warning h5 {
	color: #f0ad4e
}

.bd-callout-danger {
	border-left-color: #d9534f;
}

.bd-callout-danger h5 {
	color: #d9534f
}

.bold {
	font-weight: bolder !important;
}

.dataTables_processing {
	background-color: #f8f9fa;
	z-index: 105 !important;
}

.table {
	width: 100% !important;
}

th {
	display: table-cell;
	vertical-align: middle;
}

td.all {
	display: table-cell;
	vertical-align: middle;
}

td.desktop {
	display: table-cell;
	vertical-align: middle;
}

td.tablet {
	display: table-cell;
	vertical-align: middle;
}

td.phone {
	display: table-cell;
	vertical-align: middle;
}

.width-50 {
	width: 50px !important;
	min-width: 50px !important;
}
.width-75 {
	width: 75px !important;
	min-width: 75px !important;
}
.width-100 {
	width: 100px !important;
	min-width: 100px !important;
}
.width-125 {
	width: 100px !important;
	min-width: 100px !important;
}
.width-150 {
	width: 150px !important;
	min-width: 150px !important;
}

.width-200 {
	width: 200px !important;
	min-width: 200px !important;
}

.width-225 {
	width: 225px !important;
	min-width: 225px !important;
}

.width-250 {
	width: 250px !important;
	min-width: 250px !important;
}

.width-300 {
	width: 300px !important;
	min-width: 300px !important;
}

.width-350 {
	width: 350px !important;
	min-width: 350px !important;
}

.width-400 {
	width: 400px !important;
	min-width: 400px !important;
}

.width-450 {
	width: 450px !important;
	min-width: 450px !important;
}

.width-500 {
	width: 500px !important;
	min-width: 500px !important;
}

.page-size {
	width: 21cm;
	min-height: 29.7cm;
	padding: 2cm;
	margin: 1cm auto;
}

.page-border {
	border: 1px #D3D3D3 solid;
	border-radius: 5px;
	background: white;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}


.btn-floated-top {
	position: fixed;
	
	width: 3.5rem;
	height: 3.5rem;
	font-size: 1.25rem;
	line-height: 1;
	border-radius: 3rem;
	border: 0;
	z-index: 5;
	box-shadow: 0 3px 5px -1px rgba(20, 20, 31, 0.2), 0 6px 10px 0 rgba(20, 20, 31, 0.14), 0 1px 18px 0 rgba(20, 20, 31, 0.12);
}

@media (min-width: 768px) {

}

.btn-floated-top.btn-lg, .btn-group-lg > .btn-floated-top.btn {
	width: 4rem;
	height: 4rem;
	font-size: 1.25rem;
	line-height: 1;
}

.btn-floated-top.btn-sm, .btn-group-sm > .btn-floated-top.btn {
	width: 2.5rem;
	height: 2.5rem;
	font-size: 1rem;
	line-height: 1;
}

.btn-floated-top:hover, .btn-floated-top:focus {
	box-shadow: 0 3px 5px -1px rgba(20, 20, 31, 0.2), 0 6px 10px 0 rgba(20, 20, 31, 0.14), 0 1px 18px 0 rgba(20, 20, 31, 0.12) !important;
}

.btn-floated-top:active {
	box-shadow: 0 7px 8px -4px rgba(20, 20, 31, 0.2), 0 12px 17px 2px rgba(20, 20, 31, 0.14), 0 5px 22px 4px rgba(20, 20, 31, 0.12) !important;
}

.textarea-fixed {
	resize: none;
}

.active .active-item-image {
	background: #346cb0 !important;
	color: #fff !important;
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
	color: #346CB0 !important;
}

.chart-lg {
	height: 40vh;
}

.max-vw-30{
	max-width: 30vw;
}

.single-timeline-area .timeline-date::before {
	top: 0px !important;
}

.single-timeline-area .timeline-date-secondary ::before {
	position: absolute;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	top: 0px !important;
	background-color: #a6abbd;
	content: "";
	right: 24px;
	z-index: 5;
	margin-top: -5.5px;
}

.timeline-label {
	height: 100% !important;
}

.text-box {
	color: #363642 !important;
}

.cursor-default {
	cursor: default;
}

.no-draggable {
	user-drag: none;
	-webkit-user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.flag-icon-eu {
	background-image: url(../images/flags/eu.svg);
}

.modal {
	overflow-y: auto;
}

.modal-sm-body-scrollable {
	height: 300px;
	overflow-y: auto !important;
}

.modal-body-scrollable {
	height: 500px;
	overflow-y: auto !important;
}

.modal-lg-body-scrollable {
	height: 800px;
	overflow-y: auto !important;
}


.modal-xl-body-scrollable {
	height: 1140px;
	overflow-y: auto !important;
}

.modal-asistencias-body-scrollable {
	height: 640px;
	overflow-y: auto !important;
}

.marquee {
	height: 50px;
	overflow: hidden;
	position: relative;
	background: #fefefe;
	color: #333;
	border: 1px solid #4a4a4a;
}

	.marquee p {
		position: absolute;
		width: 100%;
		height: 100%;
		margin: 0;
		line-height: 50px;
		text-align: center;
		-moz-transform: translateX(100%);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-moz-animation: scroll-left 2s linear infinite;
		-webkit-animation: scroll-left 2s linear infinite;
		animation: scroll-left 20s linear infinite;
	}

@-moz-keyframes scroll-left {
	0% {
		-moz-transform: translateX(100%);
	}

	100% {
		-moz-transform: translateX(-100%);
	}
}

@-webkit-keyframes scroll-left {
	0% {
		-webkit-transform: translateX(100%);
	}

	100% {
		-webkit-transform: translateX(-100%);
	}
}

@keyframes scroll-left {
	0% {
		-moz-transform: translateX(100%);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}

	100% {
		-moz-transform: translateX(-100%);
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
	.smartphone-only {
	}

	.tablet-only {
		all: initial;
		all: unset;
	}

	.desktop-only {
		all: initial;
		all: unset;
	}

	.dt-dropdown {
		max-width: 16px !important;
	}
}

/* Tablets (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
	.smartphone-only {
		all: initial;
		all: unset;
	}

	.tablet-only {
		
	}

	.desktop-only {
		all: initial;
		all: unset;
	}

	.dt-dropdown {
		max-width: 150px !important;
	}
}

/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
	.smartphone-only {
		all: initial;
		all: unset;
	}

	.tablet-only {
		all: initial;
		all: unset;
	}

	.desktop-only {
	}
}

.col-gap-1 {
	column-gap: 10px;
}

.col-gap-2 {
	column-gap: 20px;
}

.col-gap-3 {
	column-gap: 30px;
}

.row-gap-1 {
	row-gap: 10px;
}

.row-gap-2 {
	row-gap: 20px;
}

.row-gap-3 {
	row-gap: 30px;
}

.gap-1 {
	gap: 10px;
}

.gap-2 {
	gap: 20px;
}

.gap-3 {
	gap: 30px;
}

.chart {
	min-width: auto;
	min-height : 360px;
}

.steps .step {
	display: block;
	width: 80px;
	min-width: 80px;
	text-align: center;
}

	.steps .step .step-icon-wrap {
		display: block;
		position: relative;
		width: 100%;
		height: 30px;
		text-align: center
	}

		.steps .step .step-icon-wrap::before,
		.steps .step .step-icon-wrap::after {
			display: block;
			position: absolute;
			top: 20px;
			width: 50%;
			height: 3px;
			margin-top: -1px;
			background-color: #e1e7ec;
			content: '';
			z-index: 1
		}

		.steps .step .step-icon-wrap::before {
			left: 0
		}

		.steps .step .step-icon-wrap::after {
			right: 0
		}

	.steps .step .step-icon {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		border: 1px solid #e1e7ec;
		border-radius: 50%;
		background-color: #f5f5f5;
		color: #808080;
		font-size: 22px;
		line-height: 39px;
		z-index: 5
	}

		.steps .step .step-icon img {
			max-width: 100%;
			padding: .35rem !important;
			filter: brightness(50%);
		}

	.steps .step .step-title {
		margin-top: 16px;
		margin-bottom: 0;
		color: #606975;
		font-size: 14px;
		font-weight: 500
	}

	.steps .step .step-subtitle {
		margin-top: 16px;
		margin-bottom: 0;
		color: #808080;
		font-size: 12px;
		line-height: 2px;
	}

	.steps .step:first-child .step-icon-wrap::before {
		display: none
	}

	.steps .step:last-child .step-icon-wrap::after {
		display: none
	}

	.steps .step.completed .step-icon-wrap::before,
	.steps .step.completed .step-icon-wrap::after {
		background-color: #0da9ef
	}

	.steps .step.completed .step-title {
		color: #00a28a;
	}

	.steps .step.completed .step-icon {
		border-color: #00a28a;
		background-color: #00a28a;
		color: #fff
	}

	.steps .step.completed .step-icon img {
		max-width: 100%;
		padding: .35rem !important;
		filter: brightness(100%);
	}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.steps .step {
		width: 120px;
	}

		.steps .step .step-icon-wrap {
			height: 40px;
		}

			.steps .step .step-icon-wrap::before,
			.steps .step .step-icon-wrap::after {
				top: 23px;
			}

		.steps .step .step-icon {
			width: 45px;
			height: 45px;
			font-size: 22px;
			line-height: 43px;
		}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.steps .step {
		width: 120px;
	}

		.steps .step .step-icon-wrap {
			height: 40px;
		}

			.steps .step .step-icon-wrap::before,
			.steps .step .step-icon-wrap::after {
				top: 23px;
			}

		.steps .step .step-icon {
			width: 45px;
			height: 45px;
			font-size: 22px;
			line-height: 43px;
		}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.steps .step {
		width: 140px;
	}

		.steps .step .step-icon-wrap {
			height: 40px;
		}

			.steps .step .step-icon-wrap::before,
			.steps .step .step-icon-wrap::after {
				top: 25px;
			}

		.steps .step .step-icon {
			width: 50px;
			height: 50px;
			font-size: 22px;
			line-height: 49px;
		}
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.steps .step {
		width: 140px;
	}

		.steps .step .step-icon-wrap {
			height: 40px;
		}

			.steps .step .step-icon-wrap::before,
			.steps .step .step-icon-wrap::after {
				top: 25px;
			}

		.steps .step .step-icon {
			width: 50px;
			height: 50px;
			font-size: 22px;
			line-height: 49px;
		}
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	.steps .step {
		width:200px;
	}

		.steps .step .step-icon-wrap {
			height: 50px;
		}

			.steps .step .step-icon-wrap::before,
			.steps .step .step-icon-wrap::after {
				top: 30px;
			}

		.steps .step .step-icon {
			width: 60px;
			height: 60px;
			font-size: 35px;
			line-height: 59px;
		}
}

.steps-xs .step {
	width: 80px !important;
}

	.steps-xs .step .step-icon-wrap {
		height: 30px !important;
	}

		.steps-xs .step .step-icon-wrap::before,
		.steps-xs .step .step-icon-wrap::after {
			top: 20px !important;
		}

	.steps-xs .step .step-icon {
		width: 40px !important;
		height: 40px !important;
		font-size: 22px !important;
		line-height: 39px !important;
	}

.muted-img {
	width: 36px;
	height: 36px;
	filter: brightness(50%);
}

.custom-page-cover {
	position: relative;
	padding: 2rem 1rem 1rem;
	display: flex;
	flex-direction: column;
	background-color: #e6e8ed;
	background-size: cover;
	background-position: center;
	box-shadow: 0 1px 0 rgba(34, 34, 48, 0.1);
}

@media (min-width: 576px) {
	.custom-page-cover {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

@media (min-width: 992px) {
	.custom-page-cover {
		padding-right: 2rem;
		padding-left: 2rem;
	}
}

.control {
	max-width: 25px !important;
	min-width: 5px !important;
}

td .control{
	text-align: right !important;
	vertical-align: middle !important;
}

.list-group-item-tail {
	flex: 0;
	align-self: center;
}

.streched-link-btn {
	z-index: 2;
	position: relative;
}

@media only screen and (max-width: 575px) {
	.single-timeline-area .timeline-date {
		width: 135px !important;
	}
}

.timeline-date::after {
	height: 130% !important;
}

.margin-timeline-sidebar {
	margin-left: 35px;
	max-width: 500px;
}

.table-searchbox, .dt-search-group {
	width: 100%;
}

.d-flex .table-searchbox, .d-flex .dt-search-group {
	max-width: 500px;
}

.dt-searchbox-column-selector:disabled {
	background: transparent;
	color: black;
	border: 0px;
	text-align: left;
	padding-right: 1em;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px){
	.dt-searchbox-column-selector:disabled {
		max-width: fit-content !important;
	}
}

.spinner {
	animation: girar 1.5s linear infinite;
}

@keyframes girar {
	0% {
		transform: rotate(-360deg);
	}
}

.panel-grid {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	row-gap: 20px;
}

.custom-select-w120 {
	max-width: 120px !important;
}

.home-cover {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-top: 3px solid #ecedf1;
}


@media (min-width: 1024px) {
	.metric-home-header {
		max-width: 500px;
	}
}

@media(max-width: 600px){
	.metric-home-item {
		margin-top: 10px !important;
	}
}

.button-anim {
	cursor: pointer;
	transition: transform 0.3s ease;
}

	.button-anim:hover {
		transform: translateY(5px);
	}

.metric-home-header-bg-70 {
	background-color: rgba(255,255,255,0.70);
	backdrop-filter: blur(2px);
}

.metric-home-header-bg-black-40 {
	background-color: rgba(0,0,0,0.40);
	backdrop-filter: blur(2px);
}

.metric-home-header-bg-50 {
	background-color: rgba(255,255,255,0.50);
	backdrop-filter: blur(2px);
}

.iti {
	width: 100% !important;
}

.resize-animation {
	transition: all .5s linear;
}

.menu-link .menu-icon {
	font-size: 1.9rem !important;
	margin: 0px 0px 12px 0px !important;
}

.menu-item .menu-link {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid rgba(20,20,31,.12);
	border-radius: 2px;
	padding: 14px !important;
	margin: 0.3rem 0.5rem 0.3rem 0.5rem !important;
}

.menu-item.has-child {
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid rgba(20,20,31,.12);
	border-radius: 2px;
	padding: 0px !important;
	margin: 0.3rem 0.5rem 0.3rem 0.5rem !important;
}

	.menu-item.has-child > .menu-link {
		background-color: transparent !important;
		border-color: transparent !important;
		margin: 0px !important;
	}

	.menu-item.has-child .menu-item:last-child {
		margin-bottom: 8px !important;
	}

	.menu-item.has-child .menu .menu-link {
		padding-left: 0px !important;
		word-wrap: break-word;
		/*background-color: #fff !important;*/
		background-clip: border-box !important;
		border: 1px solid rgba(20,20,31,.12) !important;
		border-radius: 2px !important;
		padding: 12px !important;
		margin-top: 0.2rem !important;
	}

	.menu-item.has-child .menu .menu-link .menu-icon {
		font-size: 1.5rem !important;
		margin: 0px 0px 12px 0px !important;
	}

	.menu-item.has-child:hover, .menu-item.has-child.has-open {
		background-color: transparent !important;
	}

	.menu-item.has-child .menu .menu-link:hover {
		background-color: transparent !important;
	}


.menu-item.has-active .menu-link {
	background-color: transparent !important;
	/*border-color: #346cb0 !important;*/
}


.menu-item.has-child:hover, .menu-item.has-child.has-open {
	background-color: #fff !important;
}

@media (min-width: 768px) {
	.app-aside-expand-md + .app-main {
		padding-left: 9rem;
	}
	.app-aside-expand-md {
		width: 9rem;
	}
	.top-bar-brand {
		width: 9rem;
	}
}

.badge-contact {
	display: table-cell !important;
	vertical-align: middle !important;
	text-align: left !important;
	padding-left: 0.95em !important;
	min-width: 10em !important;
	width: 10em !important;
	max-width: 10em !important;
	border-radius: 0% !important;
	border: none !important;
}

	table tr:first-child .badge-contact {
		border-radius: .25em .25em 0% 0% !important;
	}

	table tr:last-child .badge-contact {
		border-radius: 0% 0% .25em .25em !important;
	}

	.p-0 table tr:first-child .badge-contact {
		border-radius: 0% 0% 0% 0% !important;
	}

	.p-0 table tr:last-child .badge-contact {
		border-radius: 0% 0% 0% .25em !important;
	}

.jstree-default a.jstree-search {
	color: black;
	font-weight: bold;
}