/* Add here all your CSS customizations */
.botones-herramientas {
	right: 6px;
	margin: -16px 0 0 0;
	position: absolute;
}

.botones-herramientas .boton-cerrar {
	background: url("../../images/cerrar.png") no-repeat 50% 50%;
	height: 30px;
	width: 30px;
	display: block;
	float: -right;
	z-index: 2;
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	transition: transform 0.5s cubic-bezier(0.16, 0.81, 0.32, 1),
		opacity 0.5s ease;
	background-size: 67% !important;
}

td {
	vertical-align: middle !important;
}

.botones-herramientas .boton-cerrar:hover {
	transform: rotate(180deg);
}

.onHover {
	transition: background-color 0.3s ease;
}

.onHover:hover {
	background-color: #202429 !important;
}

#rangoFechas {
	background: white;
}

input.flatpickr-input.form-control[readonly] {
	background-color: #fff;
	opacity: 1;
}

.inline-icon {
	display: inline !important;
	margin-right: 0.5em;
}

/* Checkbox redondos */
.round {
	position: relative;
	margin-right: 35px;
}

.round label {
	border: 2px solid var(--gray);
	background-color: rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	cursor: pointer;
	height: 40px;
	left: 0;
	position: absolute;
	top: 0;
	width: 40px;
}

.round label:after {
	border: 4px solid #fff;
	border-radius: 2px;
	border-top: none;
	border-right: none;
	content: "";
	height: 9px;
	width: 19px;
	top: 11.5px;
	left: 9px;
	opacity: 0;
	position: absolute;
	transform: rotate(-45deg);
}

.round input[type="checkbox"] {
	visibility: hidden;
}

.round input[type="checkbox"]:checked + label {
	background-color: #66bb6a;
	border-color: #66bb6a;
}

.round input[type="checkbox"]:checked + label:after {
	opacity: 1;
}

/*! INICIO DE CUSTOM CHECKBOX */
/* 
* Source: http://www.csscheckbox.com/checkbox/43097/web-3.0-aqua-round-check/
Cambio de color: https://www.imgonline.com.ua/eng/replace-color.php
?	Uso (snippet):
?	<input type="checkbox" name="$name_and_id" id="$name_and_id" class="css-checkbox" />
?	<label for="$name_and_id" class="css-label">$label</label>
*/
input[type="checkbox"].css-checkbox {
	position: absolute;
	z-index: -1000;
	left: -1000px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

input[type="checkbox"].css-checkbox + label.css-label {
	padding-left: 23px;
	height: 18px;
	display: inline-block;
	line-height: 18px;
	background-repeat: no-repeat;
	background-position: 0 0;
	font-size: inherit;
	vertical-align: middle;
	cursor: pointer;
}

input[type="checkbox"].css-checkbox:checked + label.css-label {
	background-position: 0 -18px;
}
label.css-label {
	background-image: url(../../icons/checkbox-custom-green.png);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
/*! FIN DE CUSTOM CHECKBOX */

/*! INICIO DE CUSTOM RADIO BUTTONS */
/* Source: https://www.w3schools.com/howto/howto_css_custom_checkbox.asp */

/* Customize the label (the radio-container) */
.radio-container {
	display: block;
	position: relative;
	padding-left: 24px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default radio button */
.radio-container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom radio button */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 16px;
	width: 16px;
	background-color: #eee;
	border-radius: 50%;
	margin-top: 2.9px;
}

/* On mouse-over, add a grey background color */
.radio-container:hover input ~ .checkmark {
	background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.radio-container input:checked ~ .checkmark {
	background-color: #2196f3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the indicator (dot/circle) when checked */
.radio-container input:checked ~ .checkmark:after {
	display: block;
}

/* Style the indicator (dot/circle) */
.radio-container .checkmark:after {
	top: 4px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}

/*! FIN DE CUSTOM RADIO BUTTONS */

/* Icono de flecha para expandir toggleable animado */
.arrow-down {
	width: 50px;
	height: 50px;
	position: relative;
}

.arrow-down:after {
	border: 5px solid #fff;
	border-radius: 2px;
	border-top: none;
	border-right: none;
	content: "";
	height: 17px;
	width: 17px;
	top: 14px;
	left: 12px;
	position: absolute;
	transform: rotate(-45deg);
	transition: transform 0.5s;
}

.arrow-down.active:after {
	transform: rotate(135deg);
	top: 18px;
}

.arrow-down-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Icono de flecha para expandir toggleable animado para menus de carta porte */

.fa-arrow-down {
	position: relative;
}
.fa-arrow-down:before {
	top: -15px;
	left: 5px;
	position: absolute;
	transition: transform 0.5s;
}

.fa-arrow-down.active:before {
	transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	top: -15px;
}

/* Alinear iconos de dropdown-menu */
.alinear_iconos_menu i {
	width: 1rem;
	text-align: center;
}

/* Estilo de botones de wizard de comprobantes */
div.wizard-nav-buttons-wrapper {
	margin: 0;
	padding: 5px 0;
	text-align: center;
	display: flex;
}

div.wizard-nav-buttons-wrapper button,
.pager li > a,
.pager li > span {
	display: inline-block;
	padding: 5px 14px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 15px;
	display: inline;
	color: var(--light) !important;
	background-color: var(--primary);
}

div.wizard-nav-buttons-wrapper button:hover,
.pager li > a:hover,
.pager li > span:hover {
	color: var(--light) !important;
	background-color: var(--primary);
	filter: brightness(150%);
}

div.wizard-nav-buttons-wrapper button.siguiente,
div.wizard-nav-buttons-wrapper button.finalizar,
.flex-push-right {
	/* float: right; */
	margin-left: auto;
}

div.wizard-nav-buttons-wrapper button.finalizar {
	background-color: var(--danger);
}

div.wizard-nav-buttons-wrapper button.disabled {
	cursor: not-allowed;
	background-color: var(--light);
}

.wizard-progress-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
}

html .wizard-progress.wizard-progress-lg,
html.dark .wizard-progress.wizard-progress-lg {
	margin-bottom: 0 !important;
}

/* Estilos de los badge de rfc */

.badge-info:hover,
.copy:hover,
.copiable:hover {
	filter: brightness(120%);
}

.badge-info,
.copy,
.copiable {
	cursor: pointer;
}

.badge::selection {
	background-color: blue;
	color: white;
}

/* Estilos de tablas heredados de Verifact */
.cool-table {
	border: none;
	-webkit-box-shadow: 0px 0px 13px -2px rgba(0, 0, 0, 0.28);
	-moz-box-shadow: 0px 0px 13px -2px rgba(0, 0, 0, 0.28);
	box-shadow: 0px 0px 13px -2px rgba(0, 0, 0, 0.28);
}

.cool-table th {
	font-size: 1.1em;
	padding: 7px;
}

.table > tbody > tr > td {
	vertical-align: middle;
}

/* Fix para que los select2 multiples crezcan cuando se llenan */
.select2-selection--multiple {
	overflow: hidden !important;
	height: auto !important;
}

.form-wizard .toolbar-grid-container {
	width: 80%;
	display: grid;
	grid-template-columns: 7rem auto 13rem;
	grid-template-rows: auto auto;
	grid-gap: 10px;
	margin-top: 1.75rem;
}

.toolbar-grid-container .control-label {
	margin-top: 0.25rem;
}

.email-wrapper {
	display: flex;
	flex-grow: 1;

	grid-column-start: 2;
	grid-column-end: 3;
	grid-row-start: 1;
	grid-row-end: 3;
}

.email-wrapper .select2container {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.email-wrapper button {
	margin-left: 0.5rem;
}

.borrador-checkbox-wrapper {
	display: flex;
}

.borrador-checkbox-wrapper span {
	margin-right: 0.5rem;
	margin-top: 0.5rem;
}

.queue-container {
	grid-column-start: 2;
	grid-column-end: 3;
	grid-row-start: 2;
	grid-row-end: 3;
}

/* Poniendo en flex sin wrap para que los botones no hagan salto de linea en pantallas pequeñas */
.tabla-acciones {
	/* width: 150px; */
	display: flex;
	column-gap: 0.25rem;
	row-gap: 0.25rem;
	flex-flow: row nowrap;
	justify-content: flex-end;
}

/* Fix para el texto del numero de registros mostrados de los datatable que se veia tapado*/
.select2-container--bootstrap
	.select2-selection--single
	.select2-selection__rendered {
	margin-left: -0.4rem !important;
}

/* Fix de una linea rara que se ve atravesando la animación de carga */
.dataTables_processing {
	box-shadow: none !important;
}

/* Clases para cambiar de color iconos usando la variables definidas por el tema de bootstrap */
.i-green {
	color: var(--green) !important;
}
.i-blue {
	color: var(--blue) !important;
}
.i-indigo {
	color: var(--indigo) !important;
}
.i-purple {
	color: var(--purple) !important;
}
.i-pink {
	color: var(--pink) !important;
}
.i-red {
	color: var(--red) !important;
}
.i-orange {
	color: var(--orange) !important;
}
.i-yellow {
	color: var(--yellow) !important;
}
.i-green {
	color: var(--green) !important;
}
.i-teal {
	color: var(--teal) !important;
}
.i-cyan {
	color: var(--cyan) !important;
}
.i-white {
	color: var(--white) !important;
}
.i-gray {
	color: var(--gray) !important;
}
.i-gray-dark {
	color: var(--gray-dark) !important;
}
.i-primary {
	color: var(--primary) !important;
}
.i-blue-timbra {
	color: #0c77c2 !important;
}
.i-secondary {
	color: var(--secondary) !important;
}
.i-success {
	color: var(--success) !important;
}
.i-info {
	color: var(--info) !important;
}
.i-warning {
	color: var(--warning) !important;
}
.i-danger {
	color: var(--danger) !important;
}
.i-light {
	color: var(--light) !important;
}
.i-dark {
	color: var(--dark) !important;
}
.i-brown {
	color: #c2780c !important;
}
.i-store {
	color: #02b8d9 !important;
}

/* Clases para el color del background (útil para badges y otros componentes) */
.bg-teal {
	background: var(--teal) !important;
	color: white !important;
}
.bg-light {
	background: var(--light) !important;
	color: black !important;
	border: 1px solid var(--gray);
}
.bg-mx-green {
	background: #006847 !important;
	color: white !important;
}
.bg-mx-red {
	background: #ce1126 !important;
	color: white !important;
}
.bg-mx-white {
	background: #ffffff !important;
	color: black !important;
}
.bg-cyan {
	background: var(--cyan) !important;
}

/* Grid de Inicio del control panel */
#grid-inicio-control-panel {
	display: grid;
	grid-gap: 2.2rem;
	grid-auto-flow: row;
	grid-template-columns: auto auto;
}

#grid-inicio-control-panel #smalls-cards {
	display: grid;
	grid-gap: 2.2rem;
	grid-template-rows: fit-content(50%) fit-content(50%);
	align-content: start;
}

#grid-inicio-control-panel .card {
	margin: 0px !important;
}

@media (max-width: 1023px) {
	#grid-inicio-control-panel {
		grid-template-columns: auto !important;
	}

	#grid-inicio-control-panel #smalls-cards {
		grid-template-rows: auto !important;
	}
}

/** Estilo de card de creditos*/
.indicador-creditos-contenedor {
	background: rgba(0, 0, 0, 0.1);
	border-radius: 0.25rem;
}
.indicador-creditos-contenedor > span.badge {
	font-size: 15px;
	text-align: start;
	visibility: hidden;
	color: #fff; /* Color del texto */
	display: flex;
}
.indicador-creditos-contenedor > span.badge .porcentaje {
	margin-left: auto;
	color: #212529; /* Color del texto */
}
.indicador-creditos-animate {
	visibility: visible !important;
	animation-name: grow-creditos-asignados;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}

@keyframes grow-creditos-asignados {
	from {
		width: 0%;
	}
	to {
		width: var(--width);
	}
}

/** Layout para filtros */
.filter-row {
	display: flex;
	flex-flow: wrap;
	align-items: flex-end;
	column-gap: 1rem;
	row-gap: 1rem;
	margin-bottom: 1rem;
}

.filter-row .form-group {
	margin: 0px !important;
	flex-grow: 1;
}

/* Animación tipo placeholder para antes de que se carguen las imagenes */
.animated-placeholder {
	animation: shimmer 2s infinite linear;
	-webkit-animation: shimmer 2s infinite linear;
	background: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%);
	background-size: 1000px 100%;
}
@keyframes shimmer {
	0% {
		background-position: -1000px 0;
	}
	100% {
		background-position: 1000px 0;
	}
}

@-webkit-keyframes shimmer {
	0% {
		background-position: -1000px 0;
	}
	100% {
		background-position: 1000px 0;
	}
}

/* poniendo esto dentro del data, hace que el elemento tenga una animación de cargando, sea de bordes redondos y el texto sea transparente */
[is-placeholder] {
	border-radius: 0.25rem;
	color: rgba(0, 0, 0, 0);
	animation: shimmer 2s infinite linear;
	-webkit-animation: shimmer 2s infinite linear;
	background: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%);
	background-size: 1000px 100%;
}

.tr_cancelado {
	color: #b94a48 !important;
	background-color: #f2dede !important;
	border-color: #eed3d7 !important;
}

.btn-datatable,
.descargar-excel {
	float: right;
	margin-bottom: 1rem;
}

.has-opacity-transition {
	-webkit-transition: opacity 1s ease-in-out;
	-moz-transition: opacity 1s ease-in-out;
	-ms-transition: opacity 1s ease-in-out;
	-o-transition: opacity 1s ease-in-out;
	transition: opacity 1s ease-in-out;
}

.trim-lines {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.select_dos {
	width: 100% !important;
}

.css-table {
	display: grid;
	align-items: first baseline;
}

.two-cols {
	grid-template-columns: repeat(2, auto);
	grid-gap: 10px;
}
