@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

* {
	box-sizing: border-box; /* Padding y borde no incrementan el ancho */
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

:root {
	--color-body: #000000;
	--color-clear: #ffffff;
	--color-border: #000000;
	--color-blue: #00205C;
	--color-dark-blue: #01173e;
	--color-dark-black: #000000;
	--color-yellow: #ffbf3c;
	--color-link: #ffbf3c;
	--color-bg-gray: #f2f2f2;
	--color-bg-menu: #00205C;
	--font-body: Roboto, Helvetica Neue, Helvetica, sans-serif;
	--font-headers: "Montserrat", Helvetica Neue, Helvetica, sans-serif;
}

.color-clear {
	color: var(--color-clear);
}

.color-dark-black {
	color: var(--color-dark-black);
}

.color-blue {
	color: var(--color-blue);
}

.color-yellow {
	color: var(--color-yellow) !important;
}

.bg-dark-blue {
	background-color: var(--color-dark-blue) !important;
}

.bg-dark-black {
	background-color: var(--color-dark-black) !important;
}

body {
	color: var(--color-body);
	background-color: var(--color-blue);
	font-family: var(--font-body);
	font-weight: 200;
	background-image: url('../img/bg_main.png'), url('../img/bg_point.png');
	background-repeat: no-repeat, repeat;
	background-size: cover, auto;
	background-position: center 50px, initial;
	background-attachment: fixed;
}

body.clear {
	color: var(--color-body);
	background-color: #ffffff;
	font-family: var(--font-body);
	font-weight: 200;
	background-image: url('../img/bg-main-clear.jpg'), url('../img/bg_point.png');
	background-repeat: no-repeat, repeat;
	background-size: cover, auto;
	background-position: center 50px, initial;
	background-attachment: fixed;
}

h1 {
	font-weight: 700;
	font-family: var(--font-headers);
	line-height: 0.9em;
}

h2 {
	font-weight: 600;
	font-size: 26px;
	font-family: var(--font-headers);
}

h3 {
	font-size: 1.5rem;
	margin-top: 20px;
	font-weight: 600;
	font-family: var(--font-headers);
	
}

h4 {
	font-family: var(--font-headers);
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.4em;
}

p {
	font-size: 1.1rem;
	font-weight: 300;
}

a {
	color: var(--color-body);
}

a:link {
	color: var(--color-link);
	text-decoration: none;
	
}

a:visited {
	color: var(--color-link);
	text-decoration: none;
	
}

a:hover {
	color: var(--color-link);
	text-decoration: underline;
}

/*HEADER*/

header#header_nav {
	background-color: var(--color-bg-menu);
	border-bottom: 1px solid var(--color-border);
	position: fixed;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	top: 0;
	z-index: 999;
	height: 70px;
}

header#header_nav_pago {col-12 col-xl-2
	position: fixed;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	top: 0;
	z-index: 999;
	height: 70px;
}

header#header_nav .logo {
  margin-left: 15px;
  margin-top: 3px;
	width: 85px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s; 

}

header#header_nav.hdr-small .logo {
	margin-left: 15px;
	margin-top: 8px;
	width: 65px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s; 
}

/* change header */

header#header_nav.hdr-small {
	background-color: var(--color-bg-menu);
	padding: 0;
	height: 52px;
}

header#header_nav.hdr-small .toggle-button {
	top: 4px;
}

header#header_nav.hdr-small nav.main {
	top: 52px;
}

/* end change header */

/*NAV*/

nav.main {
	display: none;
	background-color: var(--color-dark-blue);
	position: absolute;
	top: 70px;
	padding-top: 10px;
	padding-bottom: 10px;
	overflow: visible !important;
}

nav.main ul {
	padding-left: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 0;
	margin-left: 9px;
}

nav.main ul li {
	list-style-type: none;
	font-weight: 300;
	position: relative;
	display: block;
	height: auto;
	padding: 5px 0;
}

nav.main ul li a {
	color: #fff;
}

nav.main ul li .submenu {
    display: none;
    position: relative;
    top: 100%;
    left: 0;
    background: var(--color-dark-blue);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    min-width: 180px;
    z-index: 1000;
    white-space: nowrap; /* Evita que los elementos del submenú se rompan en varias líneas */
    padding: 0;

}

/* Estilo de los subítems */
nav.main ul li .submenu li {
    display: block;
    height: auto;
    padding: 8px 2px;
    border-bottom: 1px solid var(--color-border); /* Línea separadora */
}

nav.main ul li .submenu li a {
    color: var(--color-yellow);
    text-decoration: none;
    font-weight: 400;
    display: block;
}

/* Mostrar el submenú al hacer hover sobre Backoffice */
nav.main ul li.dropdown:hover .submenu {
    display: block;
}


/* Eliminar la línea del último elemento */
nav.main ul li .submenu li:last-child {
    border-bottom: none;
}

/*FOOTER*/

footer {
	padding-top: 15px;
	padding-bottom: 15px;
	margin-top: 40px;
	width: 100%;
}

footer p {
	font-size: 0.9em;
	padding: 0;
	margin: 0;
}

footer .logo {
	margin: 0 5px;
	vertical-align: top;
}

footer.p-fixed {
	position: fixed;
	bottom: 0;
	margin-top: auto;
}

.menu-transition {
	cursor: pointer;
	display: block;
}

.hamburger-lines {
	height: 22px;
	width: 30px;
	position: absolute;
	top: 24px;
	right: 20px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.hamburger-lines .line {
	display: block;
	height: 2px;
	width: 100%;
	background: #fff;
}

.hamburger-lines .line1 {
	transform-origin: 0% 0%;
	transition: transform 0.4s ease-in-out;
}

.hamburger-lines .line2 {
  transition: transform 0.2s ease-in-out;
}

.hamburger-lines .line3 {
  transform-origin: 0% 100%;
  transition: transform 0.4s ease-in-out;
}

.checkbox {
	display: none;
}

input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
	transform: rotate(45deg);
  }

input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
	transform: scaleY(0);
}

input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
	transform: rotate(-45deg);
}

.hdr-small .hamburger-lines {
    top: 12px !important;
}

/* -- CONTENIDO -- */

section.top {
	margin-top: 100px;
}

section.top-mobile {
	margin-top: 90px;
}

.w-arrow:before {
	content: url('../img/arrow-right.png');
	display: inline-block;
	vertical-align: middle;
	margin-right: 4px;
	transform: scale(0.7); /* Reduce el tamaño al 70% */
}

h1.inicio {
	font-size: 1.6rem;
	font-weight: 400;
}

h1.inicio span {
	color: var(--color-yellow);
	font-weight: 600;
}

h1.w-profile:before {
	content: url('../img/person-circle.png');
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.ico-perfil {
	color: var(--color-yellow);
	font-size: 2em;
	vertical-align: middle;
	margin-right: 10px;
}

.item-perfil {
	color: var(--color-clear);
}

.item-perfil i {
	color: var(--color-yellow);
}

.cerrar-sesion {
	cursor: pointer;
	font-size: 1.4em;
	vertical-align: middle;
	margin-left: 10px;
}

.arrow-misc-btn {
	width: 11px;
	vertical-align: text-top;
	margin: 0 5px;
}

.table-auto {
	width: auto;
}

.box-pdf a {
	background-color: rgba(1, 23, 62, 0.5);
	border-radius: 8px;
	color: var(--color-clear);
	display: inline-block;
	text-align: center;
	padding: 20px;
	width: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.box-pdf a:hover {
	text-decoration: none;
  background-color: rgba(1, 23, 62, 1.0);
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.5); /* Glow blanco suave */
  opacity: 0.9;
}

.box-pdf h3 {
	font-size: 1.2em;
	margin-top: 20px;
}

.box-pdf .ico {
	width: 160px;
}

.box-icono-inicio a {
	display: inline-block;
	width: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}


.box-icono-inicio a:hover {
	text-decoration: none;
 	transform: translateY(-5px);
 	box-shadow: 0 4px 15px rgba(255, 255, 255, 0.5); /* Glow blanco suave */
}

.separador-top {
	border-top: 1px solid var(--color-border);
}

.txt-perfil {
	color: var(--color-yellow);
}

.txt-perfil .tit-perfil {
	color: #ffffff;
	font-weight: 500;
}

.content-datos {
	background-color: rgba(1, 23, 62, 0.5);
    border-radius: 8px;
    color: var(--color-clear);
    display: inline-block;

    padding: 20px 20px 10px;
    width: 100%;
}

.row.menu-iconos {
	margin-left: 0px;
	margin-right: 0px;
}

.menu-iconos .cont-icono {
	background-color: var(--color-yellow);
	text-align: center;
	border-radius: 5px;
    width: 100%; /* O usa un valor fijo si prefieres */
    aspect-ratio: 1/1; /* Mantiene la proporción cuadrada */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.menu-iconos .cont-icono img {
	width: 32px;
	filter: invert(11%) sepia(97%) saturate(2825%) hue-rotate(210deg) brightness(93%) contrast(101%);
}

.menu-iconos .txt {
	font-weight: 400;
	font-size: 0.75em;
	color: #ffffff;
	text-transform: uppercase;
	text-align: center;
	margin-top: 10px;
}

.cont-bateria {
	background-color: var(--color-yellow);
	margin-top: 6rem;
	border-radius: 10px;
	padding-bottom: 20px;
}

.distribucion .row {
	padding-left: 10px;
	padding-right: 10px;
}

.cont-bateria img {
	width: 70%;
	margin-top: -5rem;
}

.cont-bateria h2 {
	text-transform: uppercase;
	font-size: 1.2em;
}

.cont-bateria h3 {
	font-size: 2.6em;
	margin: 0;
	line-height: 0.9em;
}

strong, .strong {
	font-weight: 600;
}

hr.hr-1-w {
	margin: 1rem 0;
    border: 0;
    border-top: 1px solid #ffffff;
    opacity: .25;
}

/* Forms */

 input.form-control {
 	color: var(--color-dark-black);
 	background-color: transparent;
 	border-radius: 0;
 	border: 0;
 	border-bottom: 1px solid var(--color-clear);
 }

 input:-webkit-autofill {
    color: #000000 !important; /* Color del texto */
    -webkit-text-fill-color: black !important; /* Hace que el texto sea blanco */
    transition: background-color 5000s ease-in-out 0s; /* Asegura que el color se mantenga */
  }

.form-floating input:focus ~ label {
    color: var(--color-dark-black); /* Cambia el color del label */
    opacity: 1 !important;
}

.form-floating i.icon {
  position: absolute;
  right: 10px; /* Ajusta la posición horizontal */
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; /* Tamaño del icono */
  color: var(--color-dark-black); 
  /* pointer-events: none; */
}

.filtro-fecha label {
	font-size: 0.9em;
	margin-bottom: 5px;
}

select.form-select {
	font-size: 0.9em;
 	color: var(--color-clear) !important;
 	background-color: transparent !important;
 	border-radius: 0;
 	border: 1px solid var(--color-border);
 	border-radius: 5px;
 	padding: .56rem .75rem;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  cursor: pointer;

    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffbf3c"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px;
  padding-right: 30px; /* Espacio para la flecha */
}

/* Opciones dentro del select */
.form-select option {
  background-color: rgba(1, 23, 62, 1) !important; /* Fondo oscuro */
  color: white !important; /* Letra blanca */
}

 textarea.form-control {
	font-size: 0.9em;
 	color: var(--color-dark-black) !important;
 	background-color: transparent !important;
 	border-radius: 0;
 	border: 1px solid var(--color-border);
 	border-radius: 5px;
 	padding: .56rem .75rem;
 }

.filtro-fecha input.form-control {
	font-size: 0.9em;
 	color: var(--color-dark-black);
 	background-color: transparent;
 	border-radius: 0;
 	border: 1px solid var(--color-border);
 	border-radius: 5px;
 	padding: .56rem .75rem;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(72%) sepia(57%) saturate(400%) hue-rotate(0deg);
  transform: scale(1.3); /* Aumenta el tamaño del icono */
}

form label {
	color: #ffffff;
	margin-bottom: 5px;
}

.msg-error {
	color: red;
	text-align: center;
}

.msg-success {
	color: cyan;
	text-align: center;
}

.form-abm .col-12:has(select) {
    border-bottom: 1px solid #ffffff;
    padding-bottom: 20px;
}

.form-abm .no-floating input::placeholder {
    color: var(--color-yellow) !important; /* Fuerza el color */
    opacity: 1; /* Asegura que el color se vea bien */
}

.form-abm .no-floating textarea::placeholder {
    color: var(--color-yellow) !important; /* También para textareas */
    opacity: 1;
}

.form-abm .no-floating label {
	margin-bottom: 0;
}

/* TABLAS */

.table-custom {
	border-bottom: 2px solid var(--color-yellow);;
	border-radius: 5px;
}

.table-custom th {}

.table-custom th, .table-custom td {
	color: var(--color-dark-black);
	border-bottom: 1px solid var(--color-border);
	font-size: 0.9em;
}

.table-custom-lg th, .table-custom-lg td {
	color: var(--color-dark-black);
	border-bottom: 1px solid var(--color-border);
	font-size: 1.1em;
}

.tabla-r-back th, .tabla-r-back td {
	white-space: nowrap;  /* Evita el salto de línea */
    overflow: visible;  /* Permite que el contenido se muestre */
    vertical-align: middle;
}

.tabla-r-back th i, .tabla-r-back td i {
	font-size: 1.2em;
}

/* Reset botones */

.btn-primary {
	background-color: var(--color-dark-black);
	border: 0;
	color: var(--color-clear);
	text-transform: uppercase;
	min-width: 150px;
	padding: 0.7em;
	font-weight: 500;
}

/*.btn-primary:hover {
	background-color: var(--color-border) !important;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
	background-color: #797878;
}*/

.btn-secondary {
	background-color: var(--color-dark-black);
	border: 0;
	color: var(--color-clear);
	text-transform: uppercase;
	min-width: 150px;
	padding: 0.7em;
	font-weight: 500;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
	color: #fff;
	background-color: #333; /* Reset Press Azul */
	box-shadow: none;
    outline: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

/* Reset Glow Azul*/

.form-control:focus, .form-select:focus {
	color: var(--color-clear);
  border-color: var(--color-border); !important;
  background: transparent;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.form-control:focus label {
	color: red;
}

.transition {
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s; 
}

/****************************/
/* MEDIA QUERIES */
/****************************/

/* 768 */
@media screen and (min-width: 768px) {

body {
	padding-bottom: 80px;
}

}
footer.p-md-fixed {
	position: fixed;
	bottom: 0;
	margin-top: auto;
}

/* 992 */
@media screen and (min-width: 992px) {

}

/* 1280 */
@media screen and (min-width: 1270px) {

section.top {
	margin-top: 130px;
}

.toggle-button {
	display: none;
}

header#header_nav {
	height: 70px;
}

header#header_nav .logo {
	margin-left: 5px;
	margin-top: 6px;
	width: 90px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s; 
}

header#header_nav.hdr-small .logo {
	margin-left: 5px;
	margin-top: 8px;
	width: 75px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s; 
}

nav.main {
	position: relative;
	top: 0;
	background: transparent;
	display: block !important;
	overflow: hidden;
	padding-top: unset;
	padding-bottom: unset;
}

nav.main ul {
	margin-left: 0;
	padding-top: 2px;
	padding-bottom: 0;
}

nav.main ul li {
	font-size: 14px;
	height: unset;
	padding: 0;
}

nav.main ul li.nav_search, nav.main ul li.nav_user {
	display: block;
	margin-top: 0;
	margin-left: 12px;
	margin-right: 12px;
}

nav.main ul li a {
	display: inline-block;
	padding: 4px 20px;
	border-bottom: 4px solid transparent;
}

nav.main ul li a:hover {
	color: var(--color-yellow);
	text-decoration: none;
}

nav.main ul li.item-perfil {
	margin-left: 15px;
	padding-right: 10px;

}

nav.main ul li.item-perfil a {
	border-left: 1px solid rgba(2550, 255, 255, 0.2);
	padding-left: 30px;
}

header#header_nav.hdr-small nav.main {
	top: 0px;
}

header#header_nav.hdr-small nav.main ul li a {
	padding: 0px 20px 0px;
}

nav.main ul li .submenu {
	position: absolute;
}

.w-arrow:before {
	margin-right: 12px;
	transform: scale(1); /* Reduce el tamaño al 70% */
}

.cerrar-sesion {
	margin-left: 0px;
}

h1.inicio {
	font-size: 2.5em;
}

}

/* 1366 */
@media screen and (min-width: 1360px) {

}

/* 1440 */
@media screen and (min-width: 1400px) {
	section.top {
		margin-top: 140px;
	}

header#header_nav {
	height: 80px;
}

nav.main ul li {
	font-size: 16px;
	height: unset;
	padding: 0;
}

.menu-iconos .cont-icono img {
	width: 40px;
}

.menu-iconos .txt {
	font-size: 0.9em;
}

}


/* 1680 */
@media screen and (min-width: 1680px) {
	section.top {
		margin-top: 150px;
	}

body {
	padding-bottom: 0px;
}

}
#table-auditoria-container,
#form-container{
	display: none;
}

.btn-danger {
	border: 0;
	text-transform: uppercase;
	min-width: 150px;
	padding: 0.7em;
	font-weight: 500;
}

.table-responsive.tabla-r-back.mt-4 {
	overflow-x: auto;
	scrollbar-color: #1d3d7a #0a1a3a;
	/* Para Firefox */
	scrollbar-width: thin;
}

/* WebKit (Chrome, Safari, Edge) */
.table-responsive.tabla-r-back.mt-4::-webkit-scrollbar {
	height: 10px;
}

.table-responsive.tabla-r-back.mt-4::-webkit-scrollbar-track {
	background: #0a1a3a;
	border-radius: 10px;
}

.table-responsive.tabla-r-back.mt-4::-webkit-scrollbar-thumb {
	background: #1d3d7a;
	border-radius: 10px;
	border: 2px solid #0a1a3a;
}

.table-responsive.tabla-r-back.mt-4::-webkit-scrollbar-thumb:hover {
	background: #ffc107;
}
.paginacion-label {
	color: var(--color-clear);
	font-size: 0.9em;
}

@media screen and (max-width: 1270px) {
	#pagination-container {
		margin-bottom: 65px;
	}

	#pagination-container>div {
		align-items: start !important;
		flex-direction: column !important;
	}

	#pagination-container>div>div {
		margin: 10px 0 !important;
	}
}

input:-internal-autofill-selected{
	background-color: transparent !important;	
}
.form-control:disabled{
	background-color: inherit;
    opacity: 0.5;
}

table #reclamos-table-body .consulta_abm_mesa_ayuda{
	text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 200px;
}