/* put your own styles to customize and override the theme */

/* pace progress bar activity. */
.pace .pace-activity {
	display: none !important;
}

/* Theme custom */
.app-header-light {
}

.app-header-dark {
}

.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-secondary ::before {
	position: absolute;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #a6abbd;
	content: "";
	top: 50%;
	right: 24px;
	z-index: 5;
	margin-top: -5.5px;
}

.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;
	}
}

.custom-file-input:lang(en) ~ .custom-file-label::after {
	content: "Browse";
}

.custom-file-input:lang(es) ~ .custom-file-label::after {
	content: "Examinar";
}

.custom-file-input:lang(fr) ~ .custom-file-label::after {
	content: "Examinar";
}

.custom-file-input:lang(eu) ~ .custom-file-label::after {
	content: "Examinar";
}

.custom-file-input-preview {
	object-fit: contain;
}

.hr-gradient {
	border: 0;
	height: 1px;
	background-image: -webkit-linear-gradient(left, transparent, rgba(0, 0, 0, 0.2), transparent);
	background-image: -moz-linear-gradient(left, transparent, rgba(0, 0, 0, 0.2), transparent);
	background-image: -ms-linear-gradient(left, transparent, rgba(0, 0, 0, 0.2), transparent);
	background-image: -o-linear-gradient(left, transparent, rgba(0, 0, 0, 0.2), transparent);
	background-image: linear-gradient(left, transparent, rgba(0, 0, 0, 0.2), transparent);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d6d6d6', endColorstr='#d6d6d6',GradientType=0 ); /* IE6-9 */
}

.viewport-fit {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.text-middle {
	display: inline-block;
	line-height: normal;
}

.button-anim {
	cursor: pointer;
	transition: transform 0.3s ease;
}

	.button-anim:hover {
		transform: translateY(5px);
	}

	.button-anim:active {
		transform: translateY(10px);
	}

.img-imem-brand {
	background: url(../images/banners/imem/city-1900w.jpg);
	object-fit: scale-down;
}

.img-gle-brand {
	background: url(../images/banners/gle/city-1900w.jpg);
	object-fit: scale-down;
}

.img-mega-brand {
	background: url(../images/banners/mega/city-1900w.jpg);
	object-fit: scale-down;
}

.btn-img {
	border-radius: 1em;
	width: 100%;
}

.btn-img:not(.btn-img-active) {
	transition: filter 0.3s ease;
	filter: grayscale(100%);
}

.big-icon {
	font-size: 4em;
}

.header-banner {
	background-color: white;
	/*filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.2));*/
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
}

.img-fit {
	height: auto;
	width: auto;
	object-fit: scale-down;
}

@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 2s linear infinite;
}

@keyframes girar {
	0% {
		transform: rotate(-360deg);
	}
}