/*!
 *  Custom Style by Homeland
 */

/**** Tokens de diseno Homeland (--hml-*) ****/
/* Las reglas de este archivo usan var(--hml-x, <valor de siempre>). Este archivo
   NO define los tokens: si un theme no los define, cada regla cae en su valor de
   siempre y el cliente se ve igual que antes. Para hacerle face-lift a un
   cliente, su themes/<theme>/style.css define estos tokens en :root apuntando a
   su paleta (--<cliente>-*). Contrato completo, reglas de contraste y ejemplo
   en .notas_AI/estilo/estilo_visual_mvc.md.

   Texto y superficies: --hml-text, --hml-text-muted, --hml-link, --hml-link-hover,
       --hml-bg-page, --hml-bg-surface, --hml-bg-surface-alt, --hml-bg-hover,
       --hml-bg-disabled, --hml-border, --hml-border-input, --hml-focus,
       --hml-focus-ring
   Marca: --hml-primary, --hml-primary-hover, --hml-on-primary, --hml-primary-soft,
       --hml-primary-text, --hml-accent, --hml-accent-text, --hml-header-bg,
       --hml-header-text
   Encabezado de modulo plegable (.toggle-header, opcional): --hml-module-header-bg,
       --hml-module-header-text, --hml-module-header-accent
   Estados (x = success, warning, danger, info): --hml-x, --hml-x-hover,
       --hml-on-x, --hml-x-soft, --hml-x-text
   Tipografia: --hml-font-numeric, --hml-fs-base, --hml-fs-sm, --hml-fs-xs,
       --hml-fs-h1 .. --hml-fs-h4, --hml-fw-heading
   Forma: --hml-radius, --hml-radius-lg
*/

/* Numeros: Raleway (y otras fuentes de marca) trae numeros "old style" por
   defecto (el 0 parece una o, el 2026 se lee "2o26"). Un theme con esa fuente
   define --hml-font-numeric: lining-nums tabular-nums para que los numeros
   queden alineados en columnas de reportes. */
body, input, select, textarea, button {
    font-variant-numeric: var(--hml-font-numeric, normal);
}

h1, .h1 { font-size: var(--hml-fs-h1, 36px); }
h2, .h2 { font-size: var(--hml-fs-h2, 30px); }
h3, .h3 { font-size: var(--hml-fs-h3, 24px); }
h4, .h4 { font-size: var(--hml-fs-h4, 18px); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: var(--hml-fw-heading, 500);
}
/**** FIN tokens ****/

/**** Barra de acciones de un formulario (estandar de ubicacion de botones) ****/
/* <div class="hml-actions"> al final del form, botones en orden de lectura:
   secundarios primero, el principal AL FINAL (queda a la derecha). Una accion
   destructiva (Eliminar) lleva class="hml-actions-left" y se va sola a la
   izquierda, lejos del principal. En celular (<768px) los botones se apilan a
   todo lo ancho y el principal queda ARRIBA (column-reverse). Clase nueva: no
   cambia nada en pantallas que no la usan. Ver .notas_AI/estilo/estilo_visual_mvc.md. */
.hml-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
}
.hml-actions > .hml-actions-left {
    margin-right: auto;
}
@media (max-width: 767px) {
    .hml-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .hml-actions > * {
        width: 100%;
        margin: 0;
    }
    .hml-actions > .hml-actions-left {
        margin-right: 0;
    }
}
/**** FIN barra de acciones ****/

/**** Dashboard highlights (tarjetas al inicio de la home de la UI nueva) ****/
/* Accesos rapidos y cajas que cada profile declara en
   profiles/<site_profile>/dashboard_highlights.php (ver
   core/functions_dashboard_highlights.php). Global (no opt-in) porque las
   filas de wt_sideboxes salen aqui para todos los clientes; los colores caen
   en su fallback si el theme no tiene face-lift. El color lo pone la seccion
   (hml-section-<seccion>) con los tokens --hml-box-*.
   Accesos (.hml-highlights-accesos): tarjetas verticales centradas (titulo,
   imagen o icono, texto, botones opcionales), todas del mismo alto.
   Las cajas con contenido (html, sideboxes) no usan esto: son widgets normales
   del dashboard (draw_header_dashboardbox) dentro de la fila principal. */
.hml-highlights {
    display: flex;
    flex-wrap: wrap;
}
/* Los accesos centrados, igual que las cajas de la fila principal (aunque sea uno solo) */
.hml-highlights-accesos {
    justify-content: center;
}
.hml-highlights-accesos > [class*="col-"] {
    display: flex;
}
.hml-highlight {
    width: 100%;
    background: var(--hml-bg-surface, #fff);
    border: 1px solid var(--hml-border, #ddd);
    border-top: 3px solid var(--hml-box-accent, #3c8dbc);
    border-radius: var(--hml-radius, 4px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    color: var(--hml-text, #333);
}
.hml-highlight-titulo {
    display: block;
    font-weight: 600;
    font-size: var(--hml-fs-base, 16px);
    line-height: 1.3;
    color: var(--hml-box-header-text, #444);
}
.hml-highlight-texto {
    display: block;
    margin-top: 2px;
    font-size: var(--hml-fs-sm, 14px);
    line-height: 1.35;
    color: var(--hml-text-muted, #666);
}

/* Acceso rapido: vertical y centrado (titulo, imagen o icono, texto) */
.hml-highlight-acceso {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 120px;
    padding: 12px 14px;
    text-align: center;
}
.hml-highlight-media img {
    max-width: 100%;
    max-height: 110px;
    width: auto;
    height: auto;
}
.hml-highlight-media .fa {
    font-size: 40px;
    line-height: 1;
    color: var(--hml-box-accent, #3c8dbc);
}
.hml-highlight-cuerpo {
    display: block;
}
.hml-highlight-acceso .hml-highlight-contenido {
    width: 100%;
}
.hml-highlight-acceso .hml-highlight-contenido img {
    max-width: 100%;
    height: auto;
    margin-bottom: 6px;
}
.hml-highlight-botones {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
}
a.hml-highlight-link,
a.hml-highlight-link:link,
a.hml-highlight-link:visited {
    color: var(--hml-text, #333);
    text-decoration: none;
}
a.hml-highlight-link:hover,
a.hml-highlight-link:focus {
    background: var(--hml-box-header-bg, #f5f5f5);
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Acceso delgado ("formato" => "chip"): una linea horizontal, icono font awesome a la
   izquierda, titulo y texto a la par. Para links simples (ej. manual de convivencia). */
.hml-highlight-acceso.hml-highlight-chip {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 0;
    padding: 8px 14px;
    text-align: left;
}
.hml-highlight-chip .hml-highlight-media {
    order: -1;
    flex: 0 0 auto;
}
.hml-highlight-chip .hml-highlight-media .fa {
    font-size: 22px;
}
.hml-highlight-chip .hml-highlight-titulo {
    font-size: var(--hml-fs-sm, 14px);
    white-space: nowrap;
}
.hml-highlight-chip .hml-highlight-cuerpo {
    min-width: 0;
}
.hml-highlight-chip .hml-highlight-texto {
    margin-top: 0;
    font-size: var(--hml-fs-xs, 12px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Cajas html de los highlights en la fila principal (equal-height): el body llena el alto de la
   fila y su contenido queda centrado; el contenido con hml-llenar-alto se reparte en todo ese alto
   (ej. dos banners apilados que ocupen lo mismo que la caja mas alta de la fila). */
.row.equal-height .box.hml-highlight-html:not(.collapsed-box) > .box-body,
.row.equal-height .dashboard-nobox > .dashboard-nobox {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* Resto de cajas de la fila principal (widgets de modulos): el body queda centrado en el alto que
   sobra de la caja estirada. Con margin auto y no con flex, para no cambiar el layout interno del
   body (floats, margenes). */
.content-wrapper > .container-fluid > .row.equal-height > [class^="col-"] > .box:not(.collapsed-box) > .box-body {
    margin-top: auto;
    margin-bottom: auto;
}
/* Highlight con "al_final" => true: su columna va despues de todo lo demas de la fila (las filas son
   flex). Solo cambia el orden visual; sin soporte de :has() sale en su lugar normal. */
.row > [class*="col-"]:has(> .hml-orden-final) {
    order: 1;
}
/* Highlight "link" con "fila" => "principal": el body completo de la caja es el link */
a.hml-highlight-caja-link,
a.hml-highlight-caja-link:link,
a.hml-highlight-caja-link:visited {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 8px;
    text-align: center;
    color: var(--hml-text, #333333);
    text-decoration: none;
}
a.hml-highlight-caja-link .fa {
    font-size: 72px;
    line-height: 1;
    color: var(--hml-box-accent, #3c8dbc);
}
a.hml-highlight-caja-link img {
    max-width: 100%;
    height: auto;
}
a.hml-highlight-caja-link:hover .hml-highlight-texto {
    text-decoration: underline;
}
.hml-llenar-alto {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 8px;
}

/* Debajo de lg (tablet y celular): la caja que queda sola en su renglon (o el sobrante de un renglon)
   llena el ancho en vez de quedar pegada a la izquierda. El ancho de la clase col-* sigue siendo el
   tamano base (flex-basis auto = width); flex-grow reparte lo que sobra entre las del mismo renglon.
   En lg solo la fila principal (ver abajo); la de accesos sigue centrada. */
@media (max-width: 1199px) {
    .content-wrapper > .container-fluid > .row.equal-height,
    .row.hml-highlights {
        display: flex;
        flex-wrap: wrap;
    }
    .content-wrapper > .container-fluid > .row.equal-height > [class*="col-"],
    .row.hml-highlights > [class*="col-"] {
        flex-grow: 1;
    }
}
/* En lg tambien (decision 2026-09-29): una caja sola en su renglon de la fila principal llena el ancho
   (ej. Circulares de la quincena en DSG). Ojo: si un renglon no suma 12, lo que sobra se reparte entre
   sus cajas (no solo cuando queda una). */
@media (min-width: 1200px) {
    .content-wrapper > .container-fluid > .row.equal-height > [class*="col-"] {
        flex-grow: 1;
    }
}
/* Highlights "link" en la columna de la UI vieja (dashboard_highlights_dibujar_legacy) */
a.hml-highlight-legacy,
a.hml-highlight-legacy:link,
a.hml-highlight-legacy:visited {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 6px 4px;
    text-align: center;
    text-decoration: none;
}
a.hml-highlight-legacy img {
    max-width: 100%;
    height: auto;
}
a.hml-highlight-legacy .fa {
    font-size: 40px;
    color: var(--hml-box-accent, #3c8dbc);
}
/**** FIN dashboard highlights ****/


.main-sidebar {
    z-index: 90;
    padding-top: 60px;
}

.sidebar-mini.sidebar-collapse .main-sidebar {
    z-index: 90;
}

.main-header {
    z-index: 95;
}

.control-sidebar {
    z-index: 91;
}

.control-sidebar-bg {
    z-index: 90;
}

/*Forms*/
.field_textbox, .field_listbox, .field_selectbox, .field_checkbox, .field_filebox {
  /*display: block;
  width: 100%;
  height: 34px;      */
  margin: 3px;
  padding: 3px;
  /*font-size: 12px;*/
  line-height: 1.42857143;
  color: var(--hml-text, #555);
  background-color: var(--hml-bg-surface, #fff);
  background-image: none;
  border: 1px solid var(--hml-border-input, #ccc);
  border-radius: var(--hml-radius, 4px);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.field_textbox:focus,.field_listbox:focus, .field_selectbox:focus, .field_checkbox:focus, .field_filebox:focus {
  border-color: var(--hml-focus, #66afe9);
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px var(--hml-focus-ring, rgba(102, 175, 233, .6));
          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px var(--hml-focus-ring, rgba(102, 175, 233, .6));
}

/*Class Button*/
.button{
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    /*font-size: 14px;*/
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
      touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: var(--hml-radius, 4px);
}

.button:hover,
.button:focus,
.button.focus {
  color: var(--hml-text, #333);
  text-decoration: none;
}

.button {
  color: var(--hml-text, #333);
  background-color: var(--hml-bg-surface, #fff);
  border-color: var(--hml-border-input, #ccc);
}
.button:focus,
.button.focus {
  color: var(--hml-text, #333);
  background-color: var(--hml-bg-hover, #e6e6e6);
  border-color: var(--hml-focus, #8c8c8c);
}
.button:hover {
  color: var(--hml-text, #333);
  background-color: var(--hml-bg-hover, #e6e6e6);
  border-color: var(--hml-text-muted, #adadad);
}

/*
20180625 Comentariado por AG pues se veian mal unas plantillas de adminlte
.button, .btn{
    margin: 3px;
}
*/

/*Panel*/
.panel{
    margin: 10px;
}

.panel-heading{
    /*font-size: 12px;*/
    font-weight: bold;
}

.panel-body {
    padding: 10px;
}

/*Icons*/
.fa{
    line-height: unset;
}

.alert1{
    color: #f0ad4e;
}

.alert2{
    color: #f08241;
}

.alert3{
    color: #d9534f;
}

/*.fa-search, */
.fa-caret-right, .fa-files-o, .fa-refresh, .fa-floppy-o{
    color: var(--hml-primary-text, #428bca);
}

.fa-check{
    color: var(--hml-success-text, #398439);
}

.fa-ban, .fa-trash{
    color: var(--hml-danger-text, #d9534f);
}

.fa-plus, a > .fa-plus, a > .fa-pencil-square-o{
    color: var(--hml-success-text, #5cb85c);
}

.button_green, .button_green:hover{
    border-color: var(--hml-success-text, #5cb85c);
    color: var(--hml-success-text, #5cb85c);
}

.button_blue, .button_blue:hover{
    border-color: var(--hml-primary-text, #428bca);
    color: var(--hml-primary-text, #428bca);
}

.button_orange, .button_orange:hover{
    border-color: var(--hml-warning-text, #f0ad4e);
    color: var(--hml-warning-text, #f0ad4e);
}

.button_red, .button_red:hover{
    border-color: var(--hml-danger-text, #d9534f);
    color: var(--hml-danger-text, #d9534f);
}


/*Dialog Jquery*/
.ui-widget-content{
    background: var(--hml-bg-surface, #ffffff) !important;
}

/*Main Menu*/
.navbar{
    margin-bottom: 0;
    border-radius: 0;
}

.dropdown-menu {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.176);
}

.dropdown-submenu{
    position:relative;
}
.dropdown-submenu > .dropdown-menu
{
    top:0;
    left:100%;
    margin-top:-6px;
    margin-left:-1px;
    -webkit-border-radius:0 6px 6px 6px;
    -moz-border-radius:0 6px 6px 6px;
    border-radius:0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu{
    display:block;
}

.dropdown-submenu > a:after{
    display:block;
    content:" ";
    float:right;
    width:0;
    height:0;
    border-color:transparent;
    border-style:solid;
    border-width:5px 0 5px 5px;
    border-left-color:#cccccc;
    margin-top:5px;
    margin-right:-10px;
}

.dropdown-submenu:hover > a:after{
    border-left-color:#ffffff;
}

.dropdown-submenu .pull-left{
    float:none;
}

.dropdown-submenu.pull-left > .dropdown-menu{
    left:-100%;
    margin-left:10px;
    -webkit-border-radius:6px 0 6px 6px;
    -moz-border-radius:6px 0 6px 6px;
    border-radius:6px 0 6px 6px;
}

.root:hover > .dropdown-menu{
    display: block;
}


/*Pagination*/
.pagination{
    margin: 0;
}

/*Custom bg color*/
.bg-danger{
    background-color: #d9534f !important;
    color: var(--hml-on-danger, #ffffff);
    padding: 2px;
}

.bg-success{
    background-color: #5cb85c !important;
    color: var(--hml-on-success, #ffffff);
    padding: 2px;
}

.bg-warning{
    background-color: #f0ad4e !important;
    color: var(--hml-on-warning, #ffffff);
    padding: 2px;
}

.table-bordered {
    border: 1px solid var(--hml-border, #ddd);
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--hml-bg-surface-alt, #f9f9f9);
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
    border-top: 0px solid #ddd;
}

td, th {
    padding: 2px;
}
/* Botones legacy de hml_html que se arman con una tabla de imagenes (esquinas de 4px, html_input_button.php sin
   bootstrap): el padding de arriba le ganaba al cellpadding="0" de su tabla, las esquinas quedaban de 8px y el marco
   se desarmaba. Las tablas dentro de un boton no llevan padding. (2026-10-09) */
button table td,
button table th {
    padding: 0;
}

.cell_padding_0 {
    padding: 0 !important;
}

.cell_padding_2 {
    padding: 2px !important;
}

.cell_padding_5 {
    padding: 5px !important;
}

.table_padding_0 td, th {
    padding: 0;
}

.table_padding_2 td, th {
    padding: 2px;
}

.table_padding_5 td, th {
    padding: 5px;
}

.table_spacing_0 {
    border-spacing: 0px;
    border-collapse: separate;
}

.table_spacing_2 {
    border-spacing: 2px;
    border-collapse: separate;
}

.table_spacing_5 {
    border-spacing: 5px;
    border-collapse: separate;
}

/********LOADING*******/
.g-af-loading{
    position: fixed;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    z-index: 1050;
    opacity: 0;
    background: rgba(0,0,0,0.8);
    padding-top: 150px;
    overflow-x: hidden;
    overflow-y: auto;
    visibility: hidden;

    -webkit-transition: all 0.1s; /* Safari */
    -webkit-transition-timing-function: linear;
    transition: all 0.1s;
    transition-timing-function: linear;
}
.g-af-loading-show{
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.5s; /* Safari */
    -webkit-transition-timing-function: linear;
    transition: all 0.5s;
    transition-timing-function: linear;
}
.g-af-loading-obj{
    position:relative;
    width:234px;
    height:28px;
    margin:auto;
}
.g-af-loading-lbl{
    position: relative;
    width: 234px;
    height: 28px;
    margin: auto;
    color: white;
    text-align: center;
    font-weight: bold;
    font-size: 26px;
}
.fountainG{
    position:absolute;
    top:0;
    background-color:rgb(5,75,255);
    width:28px;
    height:28px;
    animation-name:bounce_fountainG;
    -o-animation-name:bounce_fountainG;
    -ms-animation-name:bounce_fountainG;
    -webkit-animation-name:bounce_fountainG;
    -moz-animation-name:bounce_fountainG;
    animation-duration:1s;
    -o-animation-duration:1s;
    -ms-animation-duration:1s;
    -webkit-animation-duration:1s;
    -moz-animation-duration:1s;
    animation-iteration-count:infinite;
    -o-animation-iteration-count:infinite;
    -ms-animation-iteration-count:infinite;
    -webkit-animation-iteration-count:infinite;
    -moz-animation-iteration-count:infinite;
    animation-direction:normal;
    -o-animation-direction:normal;
    -ms-animation-direction:normal;
    -webkit-animation-direction:normal;
    -moz-animation-direction:normal;
    transform:scale(.3);
    -o-transform:scale(.3);
    -ms-transform:scale(.3);
    -webkit-transform:scale(.3);
    -moz-transform:scale(.3);
    border-radius:19px;
    -o-border-radius:19px;
    -ms-border-radius:19px;
    -webkit-border-radius:19px;
    -moz-border-radius:19px;
}
.fountainG_1{
    left:0;
}
.fountainG_2{
    left:29px;
    animation-delay:0.14s;
    -o-animation-delay:0.14s;
    -ms-animation-delay:0.14s;
    -webkit-animation-delay:0.14s;
    -moz-animation-delay:0.14s;
}
.fountainG_3{
    left:58px;
    animation-delay:0.28s;
    -o-animation-delay:0.28s;
    -ms-animation-delay:0.28s;
    -webkit-animation-delay:0.28s;
    -moz-animation-delay:0.28s;
}
.fountainG_4{
    left:88px;
    animation-delay:0.42s;
    -o-animation-delay:0.42s;
    -ms-animation-delay:0.42s;
    -webkit-animation-delay:0.42s;
    -moz-animation-delay:0.42s;
}
.fountainG_5{
    left:117px;
    animation-delay:0.56s;
    -o-animation-delay:0.56s;
    -ms-animation-delay:0.56s;
    -webkit-animation-delay:0.56s;
    -moz-animation-delay:0.56s;
}
.fountainG_6{
    left:146px;
    animation-delay:0.70s;
    -o-animation-delay:0.70s;
    -ms-animation-delay:0.70s;
    -webkit-animation-delay:0.70s;
    -moz-animation-delay:0.70s;
}
.fountainG_7{
    left:175px;
    animation-delay:0.84s;
    -o-animation-delay:0.84s;
    -ms-animation-delay:0.84s;
    -webkit-animation-delay:0.84s;
    -moz-animation-delay:0.84s;
}
.fountainG_8{
    left:205px;
    animation-delay:1s;
    -o-animation-delay:1s;
    -ms-animation-delay:1s;
    -webkit-animation-delay:1s;
    -moz-animation-delay:1s;
}
@keyframes bounce_fountainG{
    0%{
        transform:scale(1);
        background-color:rgb(5,75,255);
    }
    100%{
        transform:scale(.3);
        background-color:rgb(255,255,255);
    }
}
@-o-keyframes bounce_fountainG{
    0%{
        transform:scale(1);
        background-color:rgb(5,75,255);
    }
    100%{
        transform:scale(.3);
        background-color:rgb(255,255,255);
    }
}
@-ms-keyframes bounce_fountainG{
    0%{
        transform:scale(1);
        background-color:rgb(5,75,255);
    }
    100%{
        transform:scale(.3);
        background-color:rgb(255,255,255);
    }
}
@-webkit-keyframes bounce_fountainG{
    0%{
        -webkit-transform:scale(1);
        background-color:rgb(5,75,255);
    }
    100%{
        -webkit-transform:scale(.3);
        background-color:rgb(255,255,255);
    }
}
@-moz-keyframes bounce_fountainG{
    0%{
        -moz-transform:scale(1);
        background-color:rgb(5,75,255);
    }
    100%{
        -moz-transform:scale(.3);
        background-color:rgb(255,255,255);
    }
}

@media print {
    a[href]:after {
        content: none !important;
    }
}

/*Cards*/
.card {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}

.card > hr {
    margin-right: 0;
    margin-left: 0;
}

.card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.card-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: 0.75rem;
}

.card-subtitle {
    margin-top: -0.375rem;
    margin-bottom: 0;
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-link:hover {
    text-decoration: none;
}

.card-link + .card-link {
    margin-left: 1.25rem;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-header + .list-group .list-group-item:first-child {
    border-top: 0;
}

.card-footer {
    padding: 0.75rem 1.25rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
    margin-right: -0.625rem;
    margin-bottom: -0.75rem;
    margin-left: -0.625rem;
    border-bottom: 0;
}

.card-header-pills {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem;
}

.card-img {
    width: 100%;
    border-radius: calc(0.25rem - 1px);
}

.card-img-top {
    width: 100%;
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.card-img-bottom {
    width: 100%;
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.card-deck .card {
    margin-bottom: 15px;
}

@media (min-width: 576px) {
    .card-deck {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        margin-right: -15px;
        margin-left: -15px;
    }
    .card-deck .card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-right: 15px;
        margin-bottom: 0;
        margin-left: 15px;
    }
}

.card-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.card-group > .card {
    margin-bottom: 15px;
}

@media (min-width: 576px) {
    .card-group {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    }
    .card-group > .card {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%;
        margin-bottom: 0;
    }
    .card-group > .card + .card {
        margin-left: 0;
        border-left: 0;
    }
    .card-group > .card:first-child {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .card-group > .card:first-child .card-img-top,
    .card-group > .card:first-child .card-header {
        border-top-right-radius: 0;
    }
    .card-group > .card:first-child .card-img-bottom,
    .card-group > .card:first-child .card-footer {
        border-bottom-right-radius: 0;
    }
    .card-group > .card:last-child {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .card-group > .card:last-child .card-img-top,
    .card-group > .card:last-child .card-header {
        border-top-left-radius: 0;
    }
    .card-group > .card:last-child .card-img-bottom,
    .card-group > .card:last-child .card-footer {
        border-bottom-left-radius: 0;
    }
    .card-group > .card:only-child {
        border-radius: 0.25rem;
    }
    .card-group > .card:only-child .card-img-top,
    .card-group > .card:only-child .card-header {
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
    }
    .card-group > .card:only-child .card-img-bottom,
    .card-group > .card:only-child .card-footer {
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
    }
    .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
        border-radius: 0;
    }
    .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
    .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
    .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
    .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
        border-radius: 0;
    }
}

.card-columns .card {
    margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
    .card-columns {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        -webkit-column-gap: 1.25rem;
        -moz-column-gap: 1.25rem;
        column-gap: 1.25rem;
    }
    .card-columns .card {
        display: inline-block;
        width: 100%;
    }
}


/*BG*/
.bg-primary {
    background-color: var(--hml-primary, #007bff) !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
    background-color: var(--hml-primary-hover, #0062cc) !important;
}

.bg-secondary {
    background-color: #6c757d !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
    background-color: #545b62 !important;
}

.bg-success {
    background-color: var(--hml-success, #28a745) !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
    background-color: var(--hml-success-hover, #1e7e34) !important;
}

.bg-info {
    background-color: var(--hml-info, #17a2b8) !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
    background-color: var(--hml-info-hover, #117a8b) !important;
}

.bg-warning {
    background-color: var(--hml-warning, #ffc107) !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
    background-color: var(--hml-warning-hover, #d39e00) !important;
}

.bg-danger {
    background-color: var(--hml-danger, #dc3545) !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
    background-color: var(--hml-danger-hover, #bd2130) !important;
}

.bg-light {
    background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
    background-color: #dae0e5 !important;
}

.bg-dark {
    background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
    background-color: #1d2124 !important;
}

.bg-white {
    background-color: #fff !important;
}

.bg-transparent {
    background-color: transparent !important;
}

.border-0 {
    border: 0 !important;
}

.border-0 .ui-widget-header {
    border: 0 !important;
}

/* 20200909 AG: Para que el mouse over del auto complete no tenga bold pues es confuso para el usuario que le tamano cambie al pasar el mouse encima. */
.ui-menu-item .ui-menu-item-wrapper.ui-state-active {
    font-weight: 400;
}

.nav-avatar-container {
    padding: 0;
    margin: 0;
    display: inline-block;
    vertical-align: middle;
    position: relative;
}
.nav-avatar-container img {
    display: block;
    transform: translateY(-6px);
}

/* Overrides de adminlte */
/* Para el alto de la fila del logo */
.main-header .logo {
    height: 60px;
    line-height: 60px;
}
.main-header .sidebar-toggle {
    padding: 18px 10px;
}
@media (max-width: 768px) {
    .control-sidebar {
        padding-top: 120px;
    }

    .main-header .sidebar-toggle {
        padding: 8px 2px 5px;
    }

    .main-header .navbar {
        min-height: 20px;
        max-height: 40px;
    }

    .nav-tabs {
        margin-top: 40px;
    }
}
@media (min-width: 768px) {
    .control-sidebar {
        padding-top: 60px;
    }
}

.nav > li > a {
    padding: 18px 15px;
}
/* fin del alto de la fila del logo*/

/* re ajustes al tamano de los fonts porque si se arruinan por los otros css */
.fa {
    font-size: 14px;
    line-height: 14px;
}

.navbar > a {
    font-size: 18px;
    line-height: 18px;
}

.navbar-custom-menu > ul > li > a > i {
    font-size: 18px;
    line-height: 18px;
}

.navbar-custom-menu > ul > li > a > .nav-avatar-container > i {
    font-size: 18px;
    line-height: 18px;
}

.navbar-custom-menu > ul > li > a > span {
    font-size: 18px;
    line-height: 18px;
}

.navbar-custom-menu .navbar-nav > li > a {
    padding-top: 5px;
    padding-bottom: 5px;
}

.nav > li > a {
    padding: 5px 2px;
}

@media (min-width: 1px) {
    .navbar > a {
        font-size: 18px;
        line-height: 18px;
    }

    .navbar-custom-menu > ul > li > a > i {
        font-size: 18px;
        line-height: 18px;
    }

    .navbar-custom-menu > ul > li > a > .nav-avatar-container > i {
        font-size: 18px;
        line-height: 18px;
    }

    .navbar-custom-menu > ul > li > a > span {
        font-size: 18px;
        line-height: 18px;
    }

    .navbar-custom-menu .navbar-nav > li > a {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .nav > li > a {
        padding: 5px 2px;
    }
}

@media (min-width: 576px) {
    .navbar > a {
        font-size: 20px;
        line-height: 20px;
    }

    .navbar-custom-menu > ul > li > a > i {
        font-size: 20px;
        line-height: 20px;
    }

    .navbar-custom-menu > ul > li > a > .nav-avatar-container > i {
        font-size: 20px;
        line-height: 20px;
    }

    .navbar-custom-menu > ul > li > a > span {
        font-size: 20px;
        line-height: 20px;
    }

    .navbar-custom-menu .navbar-nav > li > a {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .nav > li > a {
        padding: 7px 7px;
    }
}

@media (min-width: 768px) {
    .navbar-custom-menu .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .nav > li > a {
        padding: 15px 7px;
    }
}

@media (min-width: 992px) {
    .navbar-custom-menu .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .nav > li > a {
        padding: 15px 15px;
    }
}

.treeview > a > span {
    font-size: 14px;
    line-height: 14px;
}

.treeview > a > span {
    font-size: 14px;
    line-height: 20px;
}

/*A veces se definen fonts para el sitio web y arruinan esta definicion de font awesome.*/
.main-header .sidebar-toggle {
    font-family: fontAwesome !important;
}

/* Hacer mas ancho el hover del menu en mini sidebar */
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
    width: 380px;
}
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
    width: 380px;
}
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container {
    left: 366px !important;
    top: 0 !important;
}

/* Para el word wrapping de los links del menu */
.sidebar-menu, .main-sidebar .user-panel, .sidebar-menu > li.header {
    white-space: normal;
    word-wrap: break-word;
}

/* Para que los iconos del menu queden como bullets y los textos no hagan wrap abajo del mismo */
.sidebar-menu.tree li a {
    display: flex; /* Makes the icon and text align properly */
    align-items: start; /* Ensures they are vertically aligned */
    gap: 6px; /* Adds spacing between icon and text */
}

.sidebar-menu.tree li a i {
    flex-shrink: 0; /* Prevents the icon from shrinking */
    width: 17px; /* Ensure the icon has a fixed width (adjust as needed) */
    text-align: start; /* Ensures proper alignment */
    margin-top: 4px;
}

.sidebar-menu.tree li a span {
    text-align: start; /* Ensures proper alignment */
    flex-grow: 1; /* Allows text to wrap without breaking layout */
}

/* A veces los inputs hacen un salto de linea, con esto se puede quitar */
.style_inline {
    display:inline;
}

.text-dark-gray {
    color: var(--hml-text-muted, #85898d) !important;
}

/*
ESTILOS HENRRY
2019-05-10
*/
/* UI vieja (body sin skin): estos encabezados solo tenian fondo con body.skin-red/skin-blue, asi que en la UI vieja
   quedaban sin fondo (y .widget-alert con su texto blanco de respaldo, sobre blanco). Solo aplica sin skin, asi que la
   UI nueva no cambia; pesa mas que .widget-alert {color} de abajo. (2026-10-09) */
body:not([class*="skin-"]) .widget-alert {
    background-color: var(--hml-header-bg, #e9ecef);
    color: var(--hml-header-text, #212529);         /* respaldo: 13.0 sobre #e9ecef */
}
body.skin-red .widget-alert{
    background-color: var(--hml-header-bg, #f39321);
    color: var(--hml-header-text, inherit);         /* 2026-10-09: sin esto heredaba el texto gris del body (1.6 sobre el petroleo de VV) */
}
body.skin-blue .widget-alert{
    background-color: var(--hml-header-bg, #3c8dbc);
    color: var(--hml-header-text, inherit);
}
/* Encabezado de modulo plegable (ej. adm_access.php). Con face-lift lo pinta el cliente con sus tokens
   --hml-module-header-bg / -text / -accent (fondo claro + raya de -accent a la izquierda y checkboxes del mismo color),
   para no verse igual que el titulo de la ventana. Sin esos tokens se ve como antes: como el titulo (--hml-header-*) y
   sin raya. Los themes no llevan reglas de .toggle-header, solo los tokens (2026-10-09). */
body:not([class*="skin-"]) .toggle-header {
    background-color: var(--hml-module-header-bg, var(--hml-header-bg, #e9ecef));
    color: var(--hml-module-header-text, var(--hml-header-text, #212529));
    box-shadow: inset 4px 0 0 var(--hml-module-header-accent, transparent);
}
body.skin-red .toggle-header{
    background-color: var(--hml-module-header-bg, var(--hml-header-bg, #f39321));
    color: var(--hml-module-header-text, var(--hml-header-text, inherit));
    box-shadow: inset 4px 0 0 var(--hml-module-header-accent, transparent);
}
body.skin-blue .toggle-header{
    background-color: var(--hml-module-header-bg, var(--hml-header-bg, #3c8dbc));
    color: var(--hml-module-header-text, var(--hml-header-text, inherit));
    box-shadow: inset 4px 0 0 var(--hml-module-header-accent, transparent);
}
.toggle-header input[type="checkbox"] {
    accent-color: var(--hml-module-header-accent, auto);
}
body.skin-red .ui-tabs .ui-tabs-nav .fa{
    color: var(--hml-accent, #f39321);
}
body.skin-blue .ui-tabs .ui-tabs-nav .fa{
    color: var(--hml-accent, #3c8dbc);
}
.custom-row:after{
    content: '';
    display: block;
    clear: both;
}
.custom-col-11{
    width: 91.66%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-8{
    width: 66.66%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-7{
    width: 58.33%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-6{
    width: 50%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-5{
    width: 41.66%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-4{
    width: 33.33%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-col-3{
    width: 25%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}
.clearfix{
    clear: both;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.toggle-header{
    cursor: pointer;
    padding: 10px 20px;
    margin-top: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
/* Contenedor de cada modulo plegable (adm_access.php). Con face-lift: blanco con borde fino, para que se vea la zebra
   de las filas (.row1 es --hml-bg-surface-alt y .row2 suele ser transparente; con el contenedor en surface-alt las
   dos salian iguales). El borde va con box-shadow para no mover el layout. Sin face-lift no hay tokens y queda el
   #e6e6e6 de siempre, sin borde (2026-10-09). */
.toggle-container{
    padding: 20px 50px;
    background-color: var(--hml-bg-surface, #e6e6e6);
    box-shadow: inset 0 0 0 1px var(--hml-border, transparent);
}

.justify-content-center {
    justify-content: center !important;
}

.admin-user.ui-widget-content,
.admin-user .ui-widget-content{
    background-color: #F2F2F2 !important;
}
.admin-user .ui-widget-header{
    background: transparent;
    border: none;
}

.admin-user .ui-widget-header .ui-state-active,
.admin-user .ui-widget-header .ui-state-hover{
    border-color: transparent;
    background: transparent;
}
.admin-user.ui-tabs .ui-tabs-nav .ui-tabs-anchor{
    color: #909090;
    padding: 20px 15px;
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 30px auto;
}
.widget{
    padding: 35px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 18px;
}
.widget-alert{
    color: var(--hml-header-text, #fff);
    padding: 40px;
    margin-top: 30px;
}
.widget-error{
    color: #fff;
    background-color: #707070;                      /* 5.0 con blanco (el #909090 de antes daba 3.2) */
    margin-top: 30px;
}
/* Icono de los widgets (antes icon-alert.png, blanco: no se veia sobre un fondo claro). Toma el color del texto de la
   caja, asi contrasta con cualquier fondo. (2026-10-09) */
.widget .widget-icono {
    font-size: 48px;
    line-height: 1;
}
.widget-usuario{
    background-color: #0E45DB;
    padding: 5px 15px;
    color: #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
/* Menu lateral colapsado (sidebar-mini): los "universos" quedan apilados encima de los links y el activo, que toma el
   fondo del menu para verse como pestana abierta hacia abajo (asi funciona con el menu expandido), se confundia con un
   link mas. Colapsado: el activo sin fondo y con raya a la izquierda, y una linea que separa los universos de los links.
   Tokens con respaldo: sin face-lift la raya usa el color del icono y la linea el del texto del menu. (2026-10-09) */
body.sidebar-mini.sidebar-collapse .main-sidebar .control-sidebar-tabs {
    border-bottom: 2px solid rgba(255, 255, 255, .55);
    border-bottom: 2px solid color-mix(in srgb, var(--hml-sidebar-text, currentColor) 55%, transparent);
}
body.sidebar-mini.sidebar-collapse .main-sidebar .control-sidebar-tabs > li.active > a,
body.sidebar-mini.sidebar-collapse .main-sidebar .control-sidebar-tabs > li.active > a:hover,
body.sidebar-mini.sidebar-collapse .main-sidebar .control-sidebar-tabs > li.active > a:focus {
    background: transparent;
    box-shadow: inset 4px 0 0 var(--hml-accent, currentColor);
}

/* Fechas de phpdbform (dia/mes/ano + hora): no partirlas en dos renglones cuando la celda queda angosta. Todo campo
   de fecha termina en un hidden <nombre>_hidPickDate (phpdbform_explicit_date.php), asi que se detecta sin tocar el
   HTML. La etiqueta (<b>) y la leyenda (<i>) del campo si pueden partirse, para que un titulo largo no ensanche la celda. */
:where(td, div):has(> input[name$="_hidPickDate"]) {
    white-space: nowrap;
}
:where(td, div):has(> input[name$="_hidPickDate"]) > :is(b, i) {
    white-space: normal;
}

#frmAccess input[type="text"],
#frmAccess select,
#drawform .field_textbox,
#drawform .field_listbox{
    border: 1px solid #c4c4c4;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    height: 30px;
    margin: 0;
}
.ui-tabs .ui-tabs-nav .fa{
    font-size: 3em;
    margin-right: 5px;
}
.field_checkbox.empresa_localidad{
    margin-left: 50px;
}
/**** FIN ESTILOS HENRRY ****/

/**** AG Para que esta fila se dibuje con todas sus celdas del mismo alto, tambien el box que haya adentro de cada celda. ****/
.row.equal-height {
    flex-wrap: wrap;
    justify-content: center;
}
@media (min-width: 768px) {
    .row.equal-height {
        display: flex;
    }
}
.row.equal-height > [class^="col-"] {
    display: flex;
    flex-direction: column;
}
.row.equal-height .dashboard-nobox {
    flex-grow: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.row.equal-height .box:not(.collapsed-box) {
    flex-grow: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
}
/**** FIN ****/

.vertical-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}


/**** AG: Me adelanto a clases de boostrap 5 ****/
.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

.text-wrap {
    white-space: normal !important;
}

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.m-auto {
    margin: auto !important;
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.mx-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
}

.mx-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

.my-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

.mt-auto {
    margin-top: auto !important;
}

.me-0 {
    margin-right: 0 !important;
}

.me-1 {
    margin-right: 0.25rem !important;
}

.me-2 {
    margin-right: 0.5rem !important;
}

.me-3 {
    margin-right: 1rem !important;
}

.me-4 {
    margin-right: 1.5rem !important;
}

.me-5 {
    margin-right: 3rem !important;
}

.me-auto {
    margin-right: auto !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 0.25rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.mb-auto {
    margin-bottom: auto !important;
}

.ms-0 {
    margin-left: 0 !important;
}

.ms-1 {
    margin-left: 0.25rem !important;
}

.ms-2 {
    margin-left: 0.5rem !important;
}

.ms-3 {
    margin-left: 1rem !important;
}

.ms-4 {
    margin-left: 1.5rem !important;
}

.ms-5 {
    margin-left: 3rem !important;
}

.ms-auto {
    margin-left: auto !important;
}

.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.px-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
}

.px-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 0.25rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pt-3 {
    padding-top: 1rem !important;
}

.pt-4 {
    padding-top: 1.5rem !important;
}

.pt-5 {
    padding-top: 3rem !important;
}

.pe-0 {
    padding-right: 0 !important;
}

.pe-1 {
    padding-right: 0.25rem !important;
}

.pe-2 {
    padding-right: 0.5rem !important;
}

.pe-3 {
    padding-right: 1rem !important;
}

.pe-4 {
    padding-right: 1.5rem !important;
}

.pe-5 {
    padding-right: 3rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 0.25rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

.pb-3 {
    padding-bottom: 1rem !important;
}

.pb-4 {
    padding-bottom: 1.5rem !important;
}

.pb-5 {
    padding-bottom: 3rem !important;
}

.ps-0 {
    padding-left: 0 !important;
}

.ps-1 {
    padding-left: 0.25rem !important;
}

.ps-2 {
    padding-left: 0.5rem !important;
}

.ps-3 {
    padding-left: 1rem !important;
}

.ps-4 {
    padding-left: 1.5rem !important;
}

.ps-5 {
    padding-left: 3rem !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

/* Util cuando un celular agranda iconos que no debiera estar agrandando */
.fixed-size-icon {
    width: auto !important;
    height: auto !important;
}
/**** FIN ****/