@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;700&family=Roboto:wght@400;700&display=swap');

.roboto {
	font-family: 'Roboto', sans-serif;
}

:root {
	--bs-primary-rgb: 95,140,175;
	--bs-btn-bg: #5f8caf;
	--bs-body-font-size: 0.9rem;
}
.btn-primary {
	--bs-btn-bg: #5f8caf;
	--bs-btn-border-color: #5f8caf;
}
.card {
	--bs-card-cap-bg: #E0E0E0;
}
.modal {
	--bs-modal-width: 600px;
}
.nav-pills {
	--bs-nav-pills-link-active-bg: #5f8caf;
}
.nav {
	--bs-nav-link-color: #5f8caf;
}

header {
	height: 64px;
}
body {
	height: 100vh;
	font-family: 'Be Vietnam Pro', sans-serif;
	letter-spacing: -0.5px;
	background: #f8f8f8;
}
.loadingOverlay {
	position: absolute;
	top: 0;
	left: 0;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #f8f8f8;
	z-index: 999;
	min-height: 60px;
}
.valign-wrapper {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
		 -ms-flex-align: center;
			align-items: center;
}
.valign-wrapper .valign {
	display: block;
}
.pointer {
	cursor: pointer;
}

#mobileNavBar {
	width: 224px;
}
.profileOption {
	min-width: 200px;
	margin-right: 1px;
}
.profileOption .avatar-autor {
	width: 30px;
	height: 30px;
	border: 0px;
	color: #fff;
	line-height: 29px;
	background-position: center;
	background-repeat: no-repeat;
	-o-background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	background-image: url("../img/bg-avatar-header.jpg");
	border-radius: 50%;
	font-size: 12px;
	text-align: center;
	font-weight: 700;
	display: inline-block;
	vertical-align: middle;
}
.profileOption a,
.profileOption p {
	color: black;
	font-size: 12px;
	line-height: 1;
}
.offcanvas-body .profileOption {
	position: absolute;
	left: 0;
	bottom: var(--bs-offcanvas-padding-y);
	width: calc(100% - var(--bs-offcanvas-padding-x));
}
.offcanvas-body a,
.offcanvas-body .profileOption p {
	color: white !important;
}
#headerNav .nav-item {
	position: relative;
}
#headerNav .nav-link:before {
	content: '';
	width: 0%;
	height: 5px;
	top: -13px;
	left: 0;
	right: 0;
	margin: 0 auto;
	position: absolute;
	background-color: var(--bs-btn-bg);
	-o-transition: 0.5s ease-out;
	-moz-transition: 0.5s ease-out;
	-webkit-transition: 0.5s ease-out;
	transition: 0.5s ease-out;
}
#headerNav .nav-link:hover:before, 
#headerNav .nav-link:focus:before, 
#headerNav .nav-link:visited:before, 
#headerNav .nav-link.active:before {
	width: calc(100% - 1rem);
}
.mainPage {
	width: 100%;
	min-height: 81vh;
	overflow: auto;
}
footer {
	height: 90px;
	overflow: hidden;
	background: white;
	font-size: 0.8rem;
}
footer div:nth-child(2) a {
	margin: 0 6px;
	text-decoration: none;
	color: black;
}
footer p {
	margin: 0;
}

.card-header,
.card-footer {
	background-color: transparent;
}
.circleInfo {
	position: absolute;
	top: 10px;
	right: 24px;
	font-size: 1.2rem;
}
.modal-header .alert {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.modal-header .alert h5 {
	display: inline-block;
	margin: 0 0 0 6px;
}
.modal-header .alert i {
	font-size: 18px;
}
table .form-check .form-check-input {
	float: none;
}
.input-group > .form-floating:not(:first-child) > .form-control {
	border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0 !important;
}
.input-group > .form-floating:not(:last-child) > .form-control {
	border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius) !important;
}
.form-control:focus {
	box-shadow:0 0 0 .05rem rgba(13,110,253,.25)
}
.form-control {
	min-width: 54px;
}

/* HOME */
.page-home {
	width: 100%;
	background: linear-gradient(
		to right,
		#F8F8F9 0%,
		#F8F8F9 50%,
		#FFFFFF 50%,
		#FFFFFF 100%
	);
}
.page-home > .container > .row .col-12:first-child {
	background-color: #F8F8F9;
}
.page-home > .container > .row .col-12:last-child {
	background-color: #FFFFFF;
}

.totalSpan {
	display: inline-block;
	min-width: 80px;
}

/* Ocultar flechas en Chrome, Safari y Edge */
input[type="number"].number-no-arrows::-webkit-outer-spin-button,
input[type="number"].number-no-arrows::-webkit-inner-spin-button {
	-webkit-appearance: none; /* Elimina la apariencia por defecto de WebKit */
	margin: 0; /* Necesario para eliminar el margen que deja el elemento */
}

/* Ocultar flechas en Firefox */
input[type="number"].number-no-arrows {
	-moz-appearance: textfield; /* Hace que Firefox lo trate como un campo de texto simple */
}

/* Opcional: Estilo genérico para todos los inputs number */
/* Esto asegura que el input tenga un tamaño consistente */
input[type="number"].number-no-arrows {
	appearance: none;
}

@media (min-width: 992px) {
	.mainPage {
		height: -moz-calc(100% - 112px);
		height: -webkit-calc(100% - 112px);
		height: calc(100% - 112px);
	}
	footer {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 48px;
		line-height: 48px;
	}
	.circleInfo {
		top: 8px;
		right: -16px;
	}
}

@media only screen and (max-width: 1500px) {
	#homeCtn {
		width: 94% !important;
		max-width: 94% !important;
	}
}