:root {
  scroll-behavior: smooth;
  --app-container: #f6f9ff;
  --app-body: #f6f9ff;
  --main-color: #012970;
  --secondary-color: #4a4a4a;
  --link-color: #1f1c2e;
  --link-color-hover: #c3cff4;
  --link-color-active: #fff;
  --link-color-active-bg: #1f1c2e;
  --projects-section: #fff;
  --message-box-hover: #fafcff;
  --message-box-border: #e9ebf0;
  --more-list-bg: #fff;
  --more-list-bg-hover: #f6fbff;
  --more-list-shadow: rgba(209, 209, 209, 0.4);
  --button-bg: #1f1c24;
  --search-area-bg: #fff;
  --star: #ffd92c;
  --message-btn: #fff;
  --header-color: #fff;
  --table-bg: #f7f9ff;
  --card-color: #fff;
  --table-color: #2f2f2f;
  --table-row: #fff;
  --table-row--red: #f7f9ff;
  --table-row__td: #000000;
  --nav-bar-hover: #f6f9ff;
  --color-a: #4154f1;
  --whatsapp-color: #075e54;
  --card2-bg: #f5f5f5;
  --bg-agenda: #f7f9ff;
  --bg-total: #f7f9ff;
  --color-agenda: #112452;
  --modal-background: #fff;
  --color_table: #000;
  --bg-panel: #fff;
  --invert-color: invert(0) grayscale(100%) brightness(200%);
  --color-main-text: #444444;
  --bg-page: #ffffff;
  --bg-page-darker: #f7f7f7;
  --bg-page-darkest: #b3b3b3;
  --colour-primary: #3996fb;
  --colour-primary-lightest: #e8f3ff;
  --colour-primary-darker: #1a7ee6;
  --colour-third: #419d78;
  --colour-third-lighter: #7bc9aa;
  --colour-third-lightest: #e6f7f0;
  --colour-text: #696969;
  --colour-text-lighter: #9b9b9b;
  --colour-text-darker: #626262;
  --colour-text-darkest: #363636;
  --border-color: #e8e7e7;
  --form-radius: 13px;
  --search-form-bg-colour: #f2f2f2;
  --send-form-bg-colour: #f2f2f2;
  --send-btn-box-shadow-colour: #7bbafd;
  --chat-bubble-me: #f2f2f2;
  --chat-bubble-you: var(--colour-primary);
  --bg-redalert: #ff9d9d;
  --bg-redalertAnu: #ff9d9d;
  --text-redalert-sub: #f2f2f2;
  --text-normal: #6c757d;
  --text-danger: #f5365c;
  --nav-item-bg-active: #c6d4f9;
  --color-inv-correcto: #345E3A;
  --color-inv-positivo: #0C46A0;
  --color-inv-negativo: #C60039;
  --color-ot-completo: #2e9c68;
  --color-ot-abierto: #0d6efd;
  --color-ot-adelanto: #ffc008;
  --color-ot-dia: white;
  --bg-reader: #ffffff;
  --col-card-catalogo: #444444;
  --bg-card-catalogo: white;
  --bg-line-1: #111;
  --bg-line-2: #333;
  --table-line-color: #e4e9ea;
  --pagination-bg: #012970;
  --pagination-bor: #012970;
  --message-box-hover: #fafcff;
  --message-box-border: #e9ebf0;
  --more-list-bg: #fff;
  --more-list-bg-hover: #f6fbff;
  --more-list-shadow: rgba(209, 209, 209, 0.4);
  --button-bg: #1f1c24;
  --search-area-bg: #fff;
  --star: #ffd92c;
  --message-btn: #fff;
  --bg-collapse-sb: #ebf1ff;
  --bg-link:  #1160c5;
  --invertir: invert(0);
  --invertirF: invert(0);
  --main-autocomplete: #000000;
  --alert-RedWhite:  red;
  --analisis-dispobible: #198754;
  --progressBarC: #5e8acb;
  --color-table-text: #bbbbbb;
	--color-table-text-light: #606074;
	--color-table-secondary: #b3b3b3;
	--color-table-highlight: #23232b;
	--color-table-accent: #05fbff;
	--color-table-success: rgba(1, 255, 204, 0.7);
	--color-table-danger: rgba(255, 129, 129, 0.7);
	--table-cell-width: 80px;
	--table-row-height: 70px;
	--table-transition-hover: 0.4s ease;
  --bs-btn-border-colorG: #6c757d;
  --bs-btn-colorG: #6c757d;
  --primary-gradientIA: linear-gradient(135deg, #6366f1, #8b5cf6);
  --secondary-gradientIA: linear-gradient(135deg, #f472b6, #db2777);
  --bg-colorIA: #ffffff;
  --chat-bgIA: #f8fafc;
  --text-primaryIA: #1e293b;
  --text-secondaryIA: #64748b;
  --bot-message-bgIA: #f1f5f9;
  --user-message-bgIA: #818cf8;
  --border-colorIA: #e2e8f0;
  --shadow-smIA: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-mdIA: 0 4px 6px rgba(0,0,0,0.1);
  --shadow-lgIA: 0 10px 15px rgba(0,0,0,0.1); 
  --titulo-res-cal: #2c3e50;
  --ul-list: #212529;
  --ul-border: rgba(0, 0, 0, 0.125);
  --card-hs: white; 
  --hallazgo-bg: #ffd1d1;
  --check-box-item: #dde5f0;
  --col-obs: #1f1c24;
  --fcolorRed: #f03535;

    --tituloDestacado: #fff;
    --fondoDestacado: #ced4da;
    --labelDestacado: #374151;
    --valorDestacado: #4e4e4e;

}

.dark:root {
  --app-container: #111827;
  --app-container: #1f1d2b;
  --app-body: #050e2d;
  --main-color: #fff;
  --secondary-color: rgba(255, 255, 255, 0.8);
  --projects-section: #01081f;
  --link-color: rgba(255, 255, 255, 0.8);
  --link-color-hover: rgba(195, 207, 244, 0.1);
  --link-color-active-bg: rgba(195, 207, 244, 0.2);
  --button-bg: #1f2937;
  --search-area-bg: #1f2937;
  --message-box-hover: #243244;
  --message-box-border: rgba(255, 255, 255, 0.1);
  --star: #ffd92c;
  --light-font: rgba(255, 255, 255, 0.8);
  --more-list-bg: #2f3142;
  --more-list-bg-hover: rgba(195, 207, 244, 0.1);
  --more-list-shadow: rgba(195, 207, 244, 0.1);
  --message-btn: rgba(195, 207, 244, 0.1);
  --header-color: #01081f;
  --card-color: #1f2937;
  --table-color: #fff;
  --table-bg: #050e2e;
  --table-row: none;
  --table-row--red: #222c3b;
  --table-row__td: #fff;
  --nav-bar-hover: #101c36;
  --color-a: #fff;
  --whatsapp-color: #fff;
  --card2-bg: #11151f;
  --bg-agenda: #12151f;
  --bg-total: #111827;
  --color-agenda: #fff;
  --modal-background: #01081f;
  --color_table: #FFF;
  --bg-panel: #1e293a;
  --invert-color: invert(1) grayscale(100%) brightness(200%);
  --color-main-text: #111827;
  --bg-page: #1a1a1a;
  --bg-page-darker: #363636;
  --bg-page-darkest: #818181;
  --colour-primary: #1a71d0;
  --colour-primary-lightest: #202c3a;
  --colour-primary-darker: #449ffd;
  --colour-third: #41c590;
  --colour-third-lighter: #56d6a3;
  --colour-third-lightest: #272f2c;
  --colour-text: #c7c7c7;
  --colour-text-lighter: #868686;
  --colour-text-darker: #dcdcdc;
  --colour-text-darkest: #eaeaea;
  --border-color: #4c4c4c;
  --search-form-bg-colour: #363636;
  --send-form-bg-colour: #363636;
  --send-btn-box-shadow-colour: #44515f;
  --chat-bubble-me: #363636;
  --chat-bubble-you: var(--colour-primary);
  --bg-redalert: red;
  --bg-redalertAnu: #f03535;
  --text-redalert-sub: #f2f2f2;
  --text-normal: #f2f2f2;
  --text-danger: #cdcdcd;
  --nav-item-bg-active: #0c1637;
  --color-inv-correcto: #0cba69;
  --color-inv-positivo: #0d6efd;
  --color-inv-negativo: #ff293d;
  --color-ot-completo: #1a8754;
  --color-ot-abierto: #0d6efd;
  --color-ot-adelanto: #ffc008;
  --color-ot-dia: white;
  --bg-reader: #101827;
  --col-card-catalogo: white;
  --bg-card-catalogo: #0c1637;
  --bg-line-1: #f2f2f2;
  --bg-line-2: #f2f2f2;
  --table-line-color: #050e2e;
  --pagination-bg: #6c757d;
  --pagination-bor: #6c757d;
  --link-color: rgba(255, 255, 255, .8);
  --link-color-hover: rgba(195, 207, 244, 0.1);
  --link-color-active-bg: rgba(195, 207, 244, 0.2);
  --button-bg: #1f2937;
  --search-area-bg: #1f2937;
  --message-box-hover: #243244;
  --message-box-border: rgba(255, 255, 255, .1);
  --star: #ffd92c;
  --light-font: rgba(255, 255, 255, .8);
  --more-list-bg: #2f3142;
  --more-list-bg-hover: rgba(195, 207, 244, 0.1);
  --more-list-shadow: rgba(195, 207, 244, 0.1);
  --message-btn: rgba(195, 207, 244, 0.1);
  --bg-collapse-sb: #14214b;
  --bg-collapse-sb2: #14214b;
  --bg-link:  #5796e7;
  --invertir: invert(1);
  --invertirF: invert(0.81);
  --main-autocomplete: #fff;
  --alert-RedWhite:  white;
  --analisis-dispobible: #27e68e;
  --progressBarC: #5e8acb;
  --color-table-text: #bbbbbb;
	--color-table-text-light: #606074;
	--color-table-secondary: #343442;
	--color-table-highlight: #23232b;
	--color-table-accent: #05fbff;
	--color-table-success: rgba(1, 255, 204, 0.7);
	--color-table-danger: rgba(255, 129, 129, 0.7);
	--table-cell-width: 80px;
	--table-row-height: 70px;
	--table-transition-hover: 0.4s ease;
  --bs-btn-border-colorG: white;
  --bs-btn-colorG: white;
  --bg-colorIA: #0f172a;
  --chat-bgIA: #1e293b;
  --text-primaryIA: #f1f5f9;
  --text-secondaryIA: #94a3b8;
  --bot-message-bgIA: #334155;
  --user-message-bgIA: #6366f1;
  --border-colorIA: #334155;
  --titulo-res-cal:#2c3e50;
  --ul-list: #f1f5f9;
  --ul-border: white;
  --card-hs: #051033;
  --hallazgo-bg: #1f2937;
  --check-box-item: #2d3748;
  --col-obs: #899bbd;
  --fcolorRed: #f03535;

  --tituloDestacado: #1f2937;
  --fondoDestacado: #374151;
  --labelDestacado: #bcbcbd;
  --valorDestacado: #f1f5f9;

}




/*  e84e3f
.form-control {
  background-color: #1f2937;
  color: white;
  border-color: #374151;
}

.form-control::placeholder {
  color: #94a3b8;
}

.form-control:focus {
  background-color: #1f2937;
  color: white;
  border-color: #2563eb;
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);
}*/


.active-sb {
  background: var(--bg-collapse-sb);
  border-radius: 12px;
}

.table-header-custom {
  background: var(--table-bg) !important;
  border-radius: 10px 10px 0 0;
  font-size: 0.85rem;
  color: var(--table-color) !important;
}

.RedWhite {
  color: var( --alert-RedWhite);
}


.backgroundSVG{
  filter: var(--invertir);
}

.backgroundFicha{
  filter: var(--invertirF);
}

/* CSS */
.no-permission {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 320px;
  margin: 60px auto;
  padding: 24px;
  background-color: #fff5f5;
  border: 1px solid #f8c3c3;
  border-radius: 8px;
  color: #a33232;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  text-align: center;
  animation: fadeIn 0.4s ease-out;
}

.icon-wrapper {
  font-size: 3rem;       /* controla el tamaño del SVG */
  color: #d84343;        /* color del stroke */
  margin-bottom: 16px;
  animation: pulse 2s ease-in-out infinite;
}

.no-permission h2 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  font-weight: 600;
}

.no-permission p {
  margin: 4px 0;
  line-height: 1.4;
}

.no-permission .suggestion {
  margin-top: 12px;
  font-size: 0.9rem;
  color: #732121;
}

/* Animaciones */
@keyframes pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 1) Aseguramos que el SVG herede el color */
.icon-wrapper {
  color: #d84343;
  display: inline-block;
  margin-bottom: 16px;
  animation: pulse 2s ease-in-out infinite;
}

/* 2) Definimos un tamaño claro para el SVG */
.icon-wrapper svg {
  width: 3rem;
  height: 3rem;
}

/* Animaciones (idénticas a las de antes) */
@keyframes pulse {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.05); }
}

.hidden { display: none !important; }

/*
.pagination a{
 border-radius: 5px;
}

.pagination a.active{
  border-radius: 5px;
  background-color: #4caf50 !important;
  color: white;
 }
 
 .page-link .active{
  background-color:  #4caf50 !important;
 }


 .active>.page-link, .page-link.active {
  z-index: 3;
  color:white;
  background-color: #4caf50 !important;
  border-color: #4caf50 !important;
}
 

 .page-link {
  z-index: 3;
  color:var(--main-color);
  background-color: var(--app-body);
  border-color: var(--secondary-color);
}
 */
.page-link {
  z-index: 3;
  color: var(--main-color);
  background-color: var(--app-body);
  /*border-color: var(--secondary-color);*/
}

.active>.page-link,
.page-link.active {
  z-index: 3;
  color: white;
  background-color: var(--pagination-bg);
  /*border-color: var(--pagination-bor);*/
  border-color: var(--secondary-color);
}





.note-editor.note-airframe .note-editing-area .note-editable,
.note-editor.note-frame .note-editing-area .note-editable {
  background: white;
}

body {
  font-family: "Open Sans", sans-serif;
  background-color: var(--app-body);
  color: #444444;
}

a {
  color: var(--color-a);
  text-decoration: none;
}

.whatsapp-link {
  text-decoration: none;
  color: var(--whatsapp-color);
}

.text-danger {
  color: var(--text-danger) !important
}

.bg-agenda {
  background-color: var(--bg-agenda);
  color: var(--color-agenda);
}

.bg-total {
  background-color: var(--bg-total);
  color: var(--color-agenda);
}

a:hover {
  color: #717ff5;
  text-decoration: none;
}

.perfil_texto {
  color: var(--color_table);
}


.tg {
  border-collapse: collapse;
  border-spacing: 0;
  border-color: #ccc;
}

.tg td {
  font-family: Arial, sans-serif;
  font-size: 14px;
  padding: 10px 5px;
  border-style: solid;
  border-width: 0px;
  overflow: hidden;
  word-break: normal;
  border-color: #ccc;
  color: #333;
  background-color: #fff;
}

.tg th {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  padding: 10px 5px;
  border-style: solid;
  border-width: 0px;
  overflow: hidden;
  word-break: normal;
  border-color: #ccc;
  color: #333;
  background-color: #f0f0f0;
}

.line {
  float: left;
  width: 100px;
  height: 17px;
  margin-top: 12px;
  border-radius: 7px;
  background-image: linear-gradient(90deg, #f4f4f4 0px, rgba(229, 229, 229, 0.8) 40px, #f4f4f4 80px);
  background-size: 600px;
  animation: shine-lines 2s infinite ease-out;
}


@keyframes shine-lines {
  0% {
    background-position: -100px;
  }

  40%,
  100% {
    background-position: 140px;
  }
}

.cube {
  float: left;
  width: 52px;
  height: 52px;
  background-color: #ccc;
  border-radius: 25%;
  margin: 8px;
  background-image: linear-gradient(90deg, #ddd 0px, #e8e8e8 40px, #ddd 80px);
  background-size: 600px;
  animation: shine-cube 1.6s infinite linear;
}

@keyframes shine-cube {
  0% {
    background-position: -32px;
  }

  40%,
  100% {
    background-position: 208px;
  }
}

.cube_ {
  float: left;
  width: 200px;
  height: 200px;
  background-color: #ccc;
  border-radius: 50%;
  /*margin: 8px;*/
  background-image: linear-gradient(90deg, #ddd 0px, #e8e8e8 40px, #ddd 80px);
  background-size: 600px;
  animation: shine-cube_ 1.6s infinite linear;
}

@keyframes shine-cube_ {
  0% {
    background-position: -32px;
  }

  40%,
  100% {
    background-position: 208px;
  }
}

.middle_ {
  vertical-align: middle;
  text-align: center;
  left: 16%;
  position: relative;
  /*makes left effective*/
  display: table-cell;
  margin-top: 45px;
}

.cube_div {
  float: left;
  width: 200px;
  height: 200px;
  background-color: #ccc;
  border-radius: 12px;
  /*margin: 8px;*/
  background-image: linear-gradient(90deg, #ddd 0px, #e8e8e8 40px, #ddd 80px);
  background-size: 600px;
  animation: shine-cube_ 1.6s infinite linear;
}



.modal-content {
  background-color: var(--modal-background);
}


h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Nunito", sans-serif;
}


.btn-close {
  filter: var(--invert-color);
}

table {
  border: 0;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table caption {
  text-align: left;
  font-size: 1.3em;
  margin: 0.5em 0 0.75em;
}

table thead {
  display: none;
}

table tr {
  display: block;
  /*border: 1px solid #eee;
  padding: 0.1em 0.1em 0.1em;*/
}

table tr+tr {
  margin-top: 0.625em;
}

table td {
  display: flex;
  justify-content: space-between;
  /*align-items: flex-end;*/
  align-items: center;
  border-bottom: 1px solid #eee;
  font-size: 0.8em;
  line-height: 1.35em;
}

table td:before {
  content: attr(data-label);
  font-size: 0.9em;
  text-align: left;
  font-weight: bold;
  text-transform: uppercase;
  max-width: 45%;
  color: var(--table-color);
}

table td+td {
  margin-top: 0.8em;
}

table td:last-child {
  border-bottom: 0;
}


@media screen and (max-width: 900px) {
  .producto {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    background-color: white;
    border: 1px solid #ddd;
    border-radius: .75em;
    width: 100% !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-content: center !important;
    justify-content: space-evenly !important;
  }
}

@media screen and (min-width: 1024px) {
  table caption {
    font-size: 1.5em;
  }

  table thead {
    display: table-header-group;
  }

  table tr {
    display: table-row;
    border: 0;
  }

  table th,
  table td {
    text-align: center;
  }

  table th {
    font-size: 0.85em;
    text-transform: uppercase;
  }

  table td {
    display: table-cell;
  }

  table td:before {
    display: none;
  }

  table td:last-child {
    border-bottom: 1px solid #eee;
  }
    
  table td img {
    transition: transform 0.2s ease;
  }

  table td img:hover {
    transform: scale(1.05);
  }
  .img-td-cod {
      display: flex;
      justify-content: flex-end;
  }
}

  .img-td-cod {
      display: flex;
      justify-content: flex-start;
  }

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
  margin-top: 60px;
  padding: 20px 30px;
  transition: all 0.3s;
}

@media (max-width: 1199px) {
  #main {
    padding: 20px;
  }
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
  margin-bottom: 10px;
}

.pagetitle h1 {
  font-size: 24px;
  margin-bottom: 0;
  font-weight: 600;
  color: var(--main-color);
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background: #4154f1;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #6776f4;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu {
  border-radius: 4px;
  padding: 10px 0;
  animation-name: dropdown-animate;
  animation-duration: 0.2s;
  animation-fill-mode: both;
  border: 0;
  box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
  cursor: pointer;
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
  text-align: center;
  font-size: 15px;
  padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
  color: #444444;
  text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
  text-decoration: none;
}

.dropdown-menu .dropdown-divider {
  color: #a5c5fe;
  margin: 0;
}

.dropdown-menu .dropdown-item {
  font-size: 14px;
  padding: 10px 15px;
  transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
  /*background-color: #f6f9ff;*/
  background-color: var(--modal-background);
  color: var(--main-color);
}

@media (min-width: 768px) {
  .dropdown-menu-arrow::before {
    content: "";
    width: 13px;
    height: 13px;
    background: #fff;
    position: absolute;
    top: -7px;
    right: 20px;
    transform: rotate(45deg);
    border-top: 1px solid #eaedf1;
    border-left: 1px solid #eaedf1;
  }
}

@keyframes dropdown-animate {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

  0% {
    opacity: 0;
  }
}

/* Light Backgrounds */
.bg-primary-light {
  background-color: #cfe2ff;
  border-color: #cfe2ff;
}

.bg-secondary-light {
  background-color: #e2e3e5;
  border-color: #e2e3e5;
}

.bg-success-light {
  background-color: #d1e7dd;
  border-color: #d1e7dd;
}


.bg-Mcompleto {
  background-color: #14b77b;
  border-color: #14b77b;
}


.bg-danger-light {
  background-color: #f8d7da;
  border-color: #f8d7da;
}

.bg-warning-light {
  background-color: #fff3cd;
  border-color: #fff3cd;
}

.bg-info-light {
  background-color: #cff4fc;
  border-color: #cff4fc;
}

.bg-dark-light {
  background-color: #d3d3d4;
  border-color: #d3d3d4;
}

/* Card */
.card {
  margin-bottom: 30px;
  /*border: none;*/
  border-radius: .75em;
  box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
  background-color: var(--projects-section);
  border: 1px solid var(--projects-section);
}

.text-normal {
  color: var(--text-normal);
  ;
}

.redalert {
  -moz-animation-duration: 1.2s;
  -webkit-animation-duration: 1.2s;
  -moz-animation-name: bgcoloralert;
  -webkit-animation-name: bgcoloralert;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  color: white;
  border: none;
}

@-moz-keyframes bgcoloralert {
  from {
    background: var(--projects-section);
  }

  50% {
    background: var(--bg-redalert);
  }

  to {
    background: var(--projects-section);
  }
}

@-webkit-keyframes bgcoloralert {
  from {
    background: var(--projects-section);
  }

  50% {
    background: var(--bg-redalert);

  }

  to {
    background: var(--projects-section);
  }
}

.card-header,
.card-footer {
  border-color: #ebeef4;
  background-color: #fff;

  color: #798eb3;
  padding: 15px;
}

.card-title {
  padding: 20px 0 15px 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--main-color);
  font-family: "Poppins", sans-serif;
}

.card-title span {
  color: #899bbd;
  font-size: 14px;
  font-weight: 400;
}

.card-body {
  padding: 0 20px 20px 20px;
}

.card-img-overlay {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Alerts */
.alert-heading {
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
}

/* Close Button */
.btn-close {
  background-size: 25%;
  color: var(--main-color);
}

.btn-close:focus {
  outline: 0;
  box-shadow: none;
}

/* Accordion */
.accordion-item {
  border: 1px solid #ebeef4;
}

.accordion-button:focus {
  outline: 0;
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  color: var(--main-color);
  background-color: #f6f9ff;
}

.accordion-flush .accordion-button {
  padding: 15px 0;
  background: none;
  border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
  box-shadow: none;
  color: #4154f1;
}

.accordion-flush .accordion-body {
  padding: 0 0 15px 0;
  color: #3e4f6f;
  font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
  font-size: 14px;
  font-family: "Nunito", sans-serif;
  color: #899bbd;
  font-weight: 600;
}

.breadcrumb a {
  color: #899bbd;
  transition: 0.3s;
}

.breadcrumb a:hover {
  color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
  color: #899bbd;
}

.breadcrumb .active {
  color: #51678f;
  font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
  border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
  margin-bottom: -2px;
  border: none;
  color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
  color: #4154f1;
}

.nav-tabs-bordered .nav-link.active {
  background-color: #fff;
  color: #4154f1;
  border-bottom: 2px solid #4154f1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
  line-height: 1;
}

@media (min-width: 1200px) {
  .logo {
    width: 280px;
  }
}

.logo img {
  max-height: 26px;
  margin-right: 6px;
}

.logo span {
  font-size: 26px;
  font-weight: 700;
  color: var(--main-color);
  font-family: "Nunito", sans-serif;
}

.header {
  transition: all 0.5s;
  z-index: 997;
  height: 60px;
  box-shadow: 0px 2px 20px rgba(1, 41, 112, 0.1);
  background-color: var(--header-color);
  padding-left: 20px;
  /* Toggle Sidebar Button */
  /* Search Bar */
}

.header .toggle-sidebar-btn {
  font-size: 32px;
  padding-left: 10px;
  cursor: pointer;
  color: var(--main-color);
}

.header .search-bar {
  min-width: 360px;
  padding: 0 20px;
}

@media (max-width: 1199px) {
  .header .search-bar {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    padding: 20px;
    box-shadow: 0px 0px 15px 0px rgba(1, 41, 112, 0.1);
    background: white;
    z-index: 9999;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
  }

  .header .search-bar-show {
    top: 60px;
    visibility: visible;
    opacity: 1;
  }
}

.header .search-form {
  width: 100%;
}

.header .search-form input {
  border: 0;
  font-size: 14px;
  color: var(--main-color);
  border: 1px solid rgba(1, 41, 112, 0.2);
  padding: 7px 38px 7px 8px;
  border-radius: 3px;
  transition: 0.3s;
  width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
  outline: none;
  box-shadow: 0 0 10px 0 rgba(1, 41, 112, 0.15);
  border: 1px solid rgba(1, 41, 112, 0.3);
}

.header .search-form button {
  border: 0;
  padding: 0;
  margin-left: -30px;
  background: none;
}

.header .search-form button i {
  color: var(--main-color);
}

/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
  list-style: none;
}

.header-nav>ul {
  margin: 0;
  padding: 0;
}

.header-nav .nav-icon {
  font-size: 22px;
  color: var(--main-color);
  margin-right: 25px;
  position: relative;
}

.header-nav .nav-profile {
  color: var(--main-color);
}

.header-nav .nav-profile img {
  max-height: 36px;
}

.header-nav .nav-profile span {
  font-size: 14px;
  font-weight: 600;
}

.header-nav .badge-number {
  position: absolute;
  inset: -2px -5px auto auto;
  font-weight: normal;
  font-size: 12px;
  padding: 3px 6px;
}

.header-nav .notifications {
  inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
  display: flex;
  align-items: center;
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .notifications .notification-item i {
  margin: 0 20px 0 10px;
  font-size: 24px;
}

.header-nav .notifications .notification-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

.header-nav .notifications .notification-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .notifications .notification-item:hover {
  background-color: #f6f9ff;
}

.header-nav .messages {
  inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .messages .message-item a {
  display: flex;
}

.header-nav .messages .message-item img {
  margin: 0 20px 0 10px;
  max-height: 40px;
}

.header-nav .messages .message-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #444444;
}

.header-nav .messages .message-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .messages .message-item:hover {
  background-color: #f6f9ff;
}

.header-nav .profile {
  min-width: 240px;
  padding-bottom: 0;
  top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
  font-size: 18px;
  margin-bottom: 0;
  font-weight: 600;
  color: #444444;
}

.header-nav .profile .dropdown-header span {
  font-size: 14px;
}

.header-nav .profile .dropdown-item {
  font-size: 14px;
  padding: 10px 15px;
  transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.header-nav .profile .dropdown-item:hover {
  /*background-color: #f6f9ff;*/
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
  position: fixed;
  top: 60px;
  left: 0;
  bottom: 0;
  width: 300px;
  z-index: 996;
  transition: all 0.3s;
  padding: 15px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #aab7cf transparent;
  box-shadow: 0px 0px 20px rgba(1, 41, 112, 0.1);
  background-color: var(--header-color);

}

@media (max-width: 1199px) {
  .sidebar {
    left: -300px;
  }
}

.sidebar::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #fff;
}

.sidebar::-webkit-scrollbar-thumb {
  background-color: #aab7cf;
}

@media (min-width: 1200px) {

  #main,
  #footer {
    margin-left: 300px;
  }
}

@media (max-width: 1199px) {
  .toggle-sidebar .sidebar {
    left: 0;
  }
}

@media (min-width: 1200px) {

  .toggle-sidebar #main,
  .toggle-sidebar #footer {
    margin-left: 0;
  }

  .toggle-sidebar .sidebar {
    left: -300px;
  }
}

.sidebar-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav .nav-item {
  margin-bottom: 5px;
}

.sidebar-nav .nav-heading {
  font-size: 11px;
  text-transform: uppercase;
  color: #899bbd;
  font-weight: 600;
  margin: 10px 0 5px 15px;
}

.sidebar-nav .nav-link {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  /*color: #4154f1;*/
  color: var(--main-color);
  transition: 0.3;
  /*background: var(--header-color);*/
  padding: 10px 15px;
  /*border-radius: 4px;*/
}

.sidebar-nav .nav-link i {
  font-size: 16px;
  margin-right: 10px;
  /*color: #4154f1;*/
  color: var(--main-color);
}

.sidebar-nav .nav-link.collapsed {
  color: var(--main-color);
  /*background: var(--header-color);*/
}

.sidebar-nav .nav-link.collapsed i {
  /*color: #899bbd;*/
}

.sidebar-nav .nav-link:hover {
  color: #4154f1;
  background: var(--nav-bar-hover);
  border-radius: .75em;
}

.sidebar-nav .nav-link:hover i {
  color: #4154f1;
}

.sidebar-nav .nav-link .bi-chevron-down {
  margin-right: 0;
  transition: transform 0.2s ease-in-out;
}

.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down {
  transform: rotate(180deg);
}

.sidebar-nav .nav-content {
  padding: 5px 0 0 12px;
  margin: 0;
  list-style: none;
}

.sidebar-nav .nav-content a {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--main-color);
  transition: 0.3;
  padding: 10px 0 5px 20px;
  transition: 0.3s;
}

.sidebar-nav .nav-content a i {
  /*font-size: 6px;*/
  margin-right: 8px;
  line-height: 0;
  border-radius: 50%;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
  color: #4154f1;
}

.sidebar-nav .nav-content a.active i {
  /*background-color: #4154f1;*/
}

/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/* Filter dropdown */
.dashboard .filter {
  position: absolute;
  right: 0px;
  top: 15px;
}

.dashboard .filter .icon {
  color: #aab7cf;
  padding-right: 20px;
  padding-bottom: 5px;
  transition: 0.3s;
  font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
  color: #4154f1;
}

.dashboard .filter .dropdown-header {
  padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #aab7cf;
  margin-bottom: 0;
  padding: 0;
}

.dashboard .filter .dropdown-item {
  padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
  padding-bottom: 10px;
}

.dashboard .info-card h6 {
  font-size: 28px;
  color: var(--main-color);
  font-weight: 700;
  margin: 0;
  padding: 0;
}

.dashboard .card-icon {
  font-size: 32px;
  line-height: 0;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  flex-grow: 0;
}

.dashboard .sales-card .card-icon {
  color: #4154f1;
  background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
  color: #2eca6a;
  background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
  color: #ff771d;
  background: #ffecdf;
}

.dashboard .products-card .card-icon {
  color: #2c4676;
  background: #dcf5ffe8;
}

.dashboard .mora-90-card .card-icon {
  color: #dc3545;
  background: #ffdcdce8;
}

.dashboard .care-card .card-icon {
  color: #c79400;
  background: #fff3cde8;
}

/* Activity */
.dashboard .activity {
  font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
  color: #888;
  position: relative;
  flex-shrink: 0;
  flex-grow: 0;
  min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
  content: "";
  position: absolute;
  right: -11px;
  width: 4px;
  top: 0;
  bottom: 0;
  background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
  margin-top: 3px;
  z-index: 1;
  font-size: 11px;
  line-height: 0;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid #fff;
  flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
  padding-left: 10px;
  padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
  top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
  padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item+.post-item {
  margin-top: 15px;
}

.dashboard .news img {
  width: 80px;
  float: left;
  border-radius: 5px;
}

.dashboard .news h4 {
  font-size: 15px;
  margin-left: 95px;
  font-weight: bold;
  margin-bottom: 5px;
}

.dashboard .news h4 a {
  color: var(--main-color);
  transition: 0.3s;
}

.dashboard .news h4 a:hover {
  color: #4154f1;
}

.dashboard .news p {
  font-size: 14px;
  color: #777777;
  margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
  font-size: 14px;
}

.dashboard .recent-sales .table thead {
  background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
  border: 0;
}

.dashboard .recent-sales .dataTable-top {
  padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
  padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
  font-size: 14px;
}

.dashboard .top-selling .table thead {
  background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
  border: 0;
}




.dashboard .top-selling .table tbody td {
  vertical-align: middle;
}

.dashboard .top-selling img {
  border-radius: 5px;
  max-width: 60px;
}

/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.iconslist {
  display: grid;
  max-width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.25rem;
  padding-top: 15px;
}

.iconslist .icon {
  background-color: #fff;
  border-radius: 0.25rem;
  text-align: center;
  color: var(--main-color);
  padding: 15px 0;
}

.iconslist i {
  margin: 0.25rem;
  font-size: 2.5rem;
}

.iconslist .label {
  font-family: var(--bs-font-monospace);
  display: inline-block;
  width: 100%;
  overflow: hidden;
  padding: 0.25rem;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #666;
}

/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
  max-width: 120px;
}

.profile .profile-card h2 {
  font-size: 24px;
  font-weight: 700;
  color: #2c384e;
  margin: 10px 0 0 0;
}

.profile .profile-card h3 {
  font-size: 18px;
}

.profile .profile-card .social-links a {
  font-size: 20px;
  display: inline-block;
  color: rgba(1, 41, 112, 0.5);
  line-height: 0;
  margin-right: 10px;
  transition: 0.3s;
}

.profile .profile-card .social-links a:hover {
  color: var(--main-color);
}

.profile .profile-overview .row {
  margin-bottom: 20px;
  font-size: 15px;
}

.profile .profile-overview .card-title {
  color: var(--main-color);
}

.profile .profile-overview .label {
  font-weight: 600;
  color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit label {
  font-weight: 600;
  color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit img {
  max-width: 120px;
}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
  font-size: 18px;
  font-weight: 600;
  color: #4154f1;
}

.faq .basic p {
  color: #6980aa;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
  padding: 28px 30px;
}

.contact .info-box i {
  font-size: 38px;
  line-height: 0;
  color: #4154f1;
}

.contact .info-box h3 {
  font-size: 20px;
  color: var(--main-color);
  font-weight: 700;
  margin: 20px 0 10px 0;
}

.contact .info-box p {
  padding: 0;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
  border-color: #4154f1;
}

.contact .php-email-form input {
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
  background: #4154f1;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
  background: #5969f3;
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
  padding: 30px;
}

.error-404 h1 {
  font-size: 180px;
  font-weight: 700;
  color: #4154f1;
  margin-bottom: 0;
  line-height: 150px;
}

.error-404 h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 30px;
}

.error-404 .btn {
  background: #51678f;
  color: #fff;
  padding: 8px 30px;
}

.error-404 .btn:hover {
  background: #3e4f6f;
}

@media (min-width: 992px) {
  .error-404 img {
    max-width: 50%;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  padding: 20px 0;
  font-size: 14px;
  transition: all 0.3s;
  border-top: 1px solid #cddfff;
}

.footer .copyright {
  text-align: center;
  color: var(--main-color);
}

.footer .credits {
  padding-top: 5px;
  text-align: center;
  font-size: 13px;
  color: var(--main-color);
}



.messages-page {
  height: 100vh;
}

.messages-page__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.messages-page__title {
  color: var(--colour-text-darker);
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (max-width: 1199px) {
  .messages-page__title {
    font-size: 1.5rem;
  }
}

.messages-page__dark-mode-toogler {
  width: 2.6rem;
  height: 2.6rem;
  padding: 0.35rem;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.messages-page__dark-mode-toogler:hover {
  background-color: var(--colour-primary);
  border-color: var(--colour-primary);
}

.messages-page__dark-mode-toogler:hover path {
  fill: var(--bg-page-darker);
}

.messages-page__list {
  list-style: none;
  flex-grow: 1;
  overflow-y: auto;
}

.messages-page__list-scroll {
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.custom-form {
  color: var(--colour-text-darkest);
  padding: 1.5rem;
  border-radius: 13px;
}

.custom-form__search-wrapper,
.custom-form__send-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

.custom-form__search-wrapper input::-moz-placeholder,
.custom-form__send-wrapper input::-moz-placeholder {
  color: var(--colour-text-lighter);
  font-size: 0.9rem;
}

.custom-form__search-wrapper input:-ms-input-placeholder,
.custom-form__send-wrapper input:-ms-input-placeholder {
  color: var(--colour-text-lighter);
  font-size: 0.9rem;
}

.custom-form__search-wrapper input::placeholder,
.custom-form__send-wrapper input::placeholder {
  color: var(--colour-text-lighter);
  font-size: 0.9rem;
}

.custom-form__search-wrapper input:focus,
.custom-form__send-wrapper input:focus {
  outline: none;
  box-shadow: none;
}

.custom-form__search-wrapper input {
  padding-right: 3rem;
  background-color: var(--search-form-bg-colour);
  border: 1px solid var(--bg-page);
}

.custom-form__search-wrapper input:-moz-placeholder-shown {
  background-color: var(--search-form-bg-colour);
  border: 1px solid var(--bg-page);
}

.custom-form__search-wrapper input:-ms-input-placeholder {
  background-color: var(--search-form-bg-colour);
  border: 1px solid var(--bg-page);
}

.custom-form__search-wrapper input:placeholder-shown {
  background-color: var(--search-form-bg-colour);
  border: 1px solid var(--bg-page);
}

.custom-form__search-wrapper input:focus {
  background-color: var(--bg-page);
  border-color: var(--border-color);
  color: var(--colour-text);
}

.custom-form__send-wrapper input {
  padding-right: 6rem;
  padding-left: 3.25rem;
  background-color: var(--send-form-bg-colour);
  border: none;
}

.custom-form__send-wrapper input:focus {
  background-color: var(--send-form-bg-colour);
  border-color: transparent;
  color: var(--colour-text);
}

.custom-form__search-submit {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 3.5rem;
  cursor: pointer;
  background-color: transparent;
  border: none;
  outline: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-form__search-submit:focus {
  outline: none;
  border: none;
}

.custom-form__send-submit {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  height: 2.3rem;
  width: 2.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--colour-primary);
  border-radius: 50%;
  box-shadow: 0 3px 3px var(--send-btn-box-shadow-colour);
  border: none;
  outline: none;
  text-align: center;
  font-size: 1.2rem;
  padding-top: 0.3rem;
  color: white;
  padding-right: 0.1rem;
}

.custom-form__send-submit:focus {
  outline: none;
  border: none;
}

.custom-form__send-submit:hover {
  background-color: var(--colour-primary-darker);
}

.custom-form__send-img {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  width: 2.3rem;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-form__send-emoji {
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translateY(-50%);
  width: 2.3rem;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.messaging-member {
  border-radius: var(--form-radius);
}

.messaging-member:hover {
  background-color: var(--bg-page-darker);
}

.messaging-member--new .messaging-member__name {
  color: var(--colour-text-darker);
}

.messaging-member--new .messaging-member__message {
  color: var(--colour-text-darker);
  font-weight: bold;
}

.messaging-member--online .user-status {
  background-color: var(--colour-third-lighter);
}

.messaging-member--active {
  background-color: var(--colour-primary-lightest);
}

.messaging-member--active:hover {
  background-color: var(--colour-primary-lightest);
}

@media screen and (max-width: 767px) {
  .messaging-member--active {
    background-color: var(--bg-page);
  }

  .messaging-member--active:hover {
    background-color: var(--bg-page-darker);
  }
}

.messaging-member__wrapper {
  cursor: pointer;
  padding: 0.5rem 1rem;
  border-radius: var(--form-radius);
  display: grid;
  grid-template-columns: 4rem 4fr;
  grid-template-rows: 2rem 2rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  grid-template-areas: "avatar     name""avatar     message";
}

@media screen and (max-width: 1199px) {
  .messaging-member__wrapper {
    grid-template-columns: 3.5rem 1fr;
    grid-template-rows: 1.75rem 1.75rem;
  }
}

@media screen and (max-width: 991px) {
  .messaging-member__wrapper {
    grid-template-columns: 3.2rem 1fr;
    grid-template-rows: 1.75rem 1.75rem;
  }
}

.messaging-member__avatar {
  grid-area: avatar;
  position: relative;
}

.messaging-member__avatar img {
  border-radius: 50%;
  width: 100%;
}

.messaging-member__name {
  font-weight: bold;
  grid-area: name;
  color: var(--colour-text-darker);
  margin-top: auto;
  font-size: 0.9rem;
}

.messaging-member__message {
  grid-area: message;
  white-space: nowrap;
  word-break: break-word;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 0.9rem;
}

.chat {
  height: 100%;
  width: 100%;
}

.chat__container {
  height: 100%;
  width: 100%;
}

.chat__wrapper {
  background-color: var(--bg-page);
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .chat__wrapper {
    border-left: none;
    border-right: none;
  }
}

.chat__messaging {
  width: 100%;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat__previous {
  width: 8%;
  min-width: 2rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.7rem;
  cursor: pointer;
  color: var(--colour-primary);
}

.chat__notification {
  width: 4%;
  min-width: 1.5rem;
}

.chat__notification span {
  display: none;
  width: 1.4rem;
  height: 1.4rem;
  text-align: center;
  border-radius: 50%;
  font-weight: bold;
  color: white;
  background-color: var(--colour-primary);
  font-size: 0.9rem;
}

.chat__notification--new span {
  display: block;
}

.chat__infos {
  flex-grow: 1;
}

.chat__actions {
  font-size: 5px;
  height: 2rem;
  min-width: 2rem;
  color: var(--colour-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.chat__actions ul {
  list-style: none;
  display: flex;
}

.chat__actions li {
  width: 2.6rem;
  height: 2.6rem;
  padding: 0.35rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--bg-page);
}

.chat__actions li+li {
  margin-left: 0.3rem;
}

.chat__actions li:hover {
  background-color: var(--colour-primary-lightest);
}

.chat__content {
  flex-grow: 1;
  overflow-y: auto;
}

.chat__list-messages {
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.chat__list-messages li {
  margin-bottom: 0.7rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.chat__list-messages li .chat__bubble {
  margin-bottom: 0.2rem;
}

.chat__bubble {
  position: relative;
  color: var(--colour-text-darkest);
  padding: 0.5rem 1rem;
  border-radius: 22px;
  background-color: var(--bg-page);
  max-width: 30rem;
  font-size: 0.9rem;
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
}

.chat__bubble--you {
  margin-right: 2rem;
  color: white;
  background-color: var(--chat-bubble-you);
}

.chat__bubble--me {
  margin-left: 2rem;
  background-color: var(--chat-bubble-me);
  align-self: flex-end;
}

.chat__time {
  font-size: 0.8rem;
  color: var(--colour-text-lighter);
  align-self: center;
  padding-bottom: 0.2rem;
}

.chat__send-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat-member__wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.chat-member__avatar {
  position: relative;
  width: 3.5rem;
}

.chat-member__avatar img {
  border-radius: 50%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .chat-member__avatar {
    width: 2.5rem;
  }
}

.chat-member__name {
  font-weight: bold;
  color: var(--colour-text-darker);
  margin-top: auto;
  white-space: nowrap;
  word-break: break-all;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 1rem;
}

@media screen and (max-width: 1199px) {
  .chat-member__name {
    font-size: 0.9rem;
  }
}

.chat-member__details {
  margin-left: 0.8rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .chat-member__details {
    margin-left: 1rem;
  }
}

.chat-member__age {
  font-size: 0.9rem;
  color: var(--colour-text-lighter);
  position: relative;
}

.chat-member__age::after {
  content: " . ";
  font-size: 0px;
  position: absolute;
  top: 50%;
  right: -4px;
  width: 3px;
  height: 3px;
  background-color: var(--colour-text-lighter);
  border-radius: 50%;
}

.chat-member__status {
  color: var(--colour-text-lighter);
  font-size: 0.8rem;
}

.chat__profile {
  width: 100%;
  height: 100%;
  max-width: 20rem;
}

.chat--mobile {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  transform: translateY(100%);
  display: none;
  transition: transform 0.3s ease-in-out 0.1s;
}

.chat--mobile .chat__wrapper {
  border-radius: 0;
}

.chat--mobile.chat--show {
  display: block;
  transform: translateY(0%);
  border-radius: 0;
}



.alertI * {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -ms-touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.alertI *:focus {
  outline: 0
}

.alertI {
  position: fixed;
  top: 40%;
  left: 50%;
  margin-left: -135px;
  /*margin-top: -50px;*/
  width: 275px;
  text-align: center;
  font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 13px;
  overflow: hidden;
  z-index: 9999999999999999999999998;
  background-color: rgba(255, 255, 255, 1);
  border: solid 1px lightgray;
}

.alertI .inner {
  padding: 15px;
}

.alertI .title {
  font-weight: 500;
  font-size: 18px;
}

.alertI .text {
  margin-top: 5px;
}

.alertI .button {
  position: relative;
  height: 44px;
  line-height: 44px;
  font-size: 17px;
  color: #007aff;
  border-radius: 0 0 13px 13px;
  overflow: hidden;
  cursor: pointer;
}

.alertI .button:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 1px;
  width: 100%;
  display: block;
  background-color: #c4c4c4;
  z-index: 9999999999999999999999999;
}



.sidebar-nav .nav-link.active {
  color: var(--main-color) !important;
  background: var(--nav-item-bg-active) !important;
  border-radius: .75em;
}


#g1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #0c002b, #1779ff);
  animation: animate1 2s linear infinite;
  animation-delay: 1s;
}

@keyframes animate1 {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

#g2 {
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, #0c002b, #1779ff);
  animation: animate2 2s linear infinite;
}

@keyframes animate2 {
  0% {
    transform: translateY(-100%);
  }

  100% {
    transform: translateY(100%);
  }
}

#g3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, #0c002b, #1779ff);
  animation: animate3 2s linear infinite;
  animation-delay: 1s;
}

@keyframes animate3 {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

#g4 {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to top, #0c002b, #1779ff);
  animation: animate4 2s linear infinite;
}

@keyframes animate4 {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(-100%);
  }
}

.btn--today {
  background: #012970;
  overflow: hidden;
  position: absolute;
  animation: btn-today-animation 5s linear infinite;
}

.btn--ot-completo {
  background: #012970;
  overflow: hidden;
  position: absolute;
  animation: btn-today-animation 5s linear infinite;
}

.btn--ot-pendiente {
  background: #012970;
  overflow: hidden;
  position: absolute;
  animation: btn-today-animation 5s linear infinite;
}

.btn--snakeBorder {
  background: #012970;
  /*#012970    #383cc1;*/
  overflow: hidden;

}

.btn--snakeBorder::before {
  /*content: "";*/
  position: absolute;
  /*top: 2px;
  left: 2px;
  bottom: 2px;*/
}

.btn--snakeBorder span {
  position: absolute;
}

.btn--snakeBorder span:nth-child(1) {
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #a8a8a9, #f4f4f4);
  animation: borderAnimation1 2s linear infinite;
  animation-delay: 1s;
}

@keyframes borderAnimation1 {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

.btn--snakeBorder span:nth-child(2) {
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, #a8a8a9, #f4f4f4);
  animation: borderAnimation2 2s linear infinite;
}

@keyframes borderAnimation2 {
  0% {
    transform: translateY(-100%);
  }

  100% {
    transform: translateY(100%);
  }
}

.btn--snakeBorder span:nth-child(3) {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, #a8a8a9, #f4f4f4);
  animation: borderAnimation3 2s linear infinite;
  animation-delay: 1s;
}

@keyframes borderAnimation3 {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

.btn--snakeBorder span:nth-child(4) {
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to top, #a8a8a9, #f4f4f4);
  animation: borderAnimation4 2s linear infinite;
}

@keyframes borderAnimation4 {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(-100%);
  }
}


.btn-Mparcial {
  --bs-btn-color: var(--text-redalert-sub);
  --bs-btn-bg: #fa8072;
  --bs-btn-border-color: #fa8072;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ff7261;
  --bs-btn-hover-border-color: #ff7261;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fa8072;
  --bs-btn-active-border-color: #fa8072;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8c6c0;
  --bs-btn-disabled-border-color: #f8c6c0;
}


.btn-parcial {
  --bs-btn-color: var(--bs-black);
  --bs-btn-bg: #92ccff;
  --bs-btn-border-color: #92ccff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #6aa8df;
  --bs-btn-hover-border-color: #6aa8df;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #6aa8df;
  --bs-btn-active-border-color: #6aa8df;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #6aa8df;
  --bs-btn-disabled-border-color: #6aa8df;
}

.btn-Mcompleto {
  --bs-btn-color: #fff;
  --bs-btn-bg: #14b77b;
  --bs-btn-border-color: #14b77b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #13ab79;
  --bs-btn-hover-border-color: #13ab79;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #14b77b;
  --bs-btn-active-border-color: #14b77b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #acf6bd;
  --bs-btn-disabled-border-color: #acf6bd;
}


.btn-completo {
  --bs-btn-color: #fff;
  --bs-btn-bg: #012970;
  --bs-btn-border-color: #012970;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #063991;
  --bs-btn-hover-border-color: #063991;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #063991;
  --bs-btn-active-border-color: #063991;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #012970;
  --bs-btn-disabled-border-color: #012970;
}


.btn-naranja {
  --bs-btn-color: #fff;
  --bs-btn-bg: #f57c00; /* naranja fuerte */
  --bs-btn-border-color: #f57c00;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ef6c00; /* tono más oscuro en hover */
  --bs-btn-hover-border-color: #ef6c00;
  --bs-btn-focus-shadow-rgb: 255, 138, 0; /* sombra en foco */
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e65100; /* aún más oscuro en activo */
  --bs-btn-active-border-color: #e65100;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #ffc999; /* naranja muy suave */
  --bs-btn-disabled-border-color: #ffc999;
}


.ribbon-vendido {
  position: absolute;
  top: 0;
  left: 0;
  background: #c0392b; 
  color: white;
  font-weight: bold;
  font-size: 9px;
  padding: 2px 20px;
  transform: rotate(-45deg);
  transform-origin: top left;
  z-index: 10;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

@keyframes btn-today-animation {
  0% {
    box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
    -webkit-box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
    -moz-box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
  }

  50% {
    box-shadow: 0 0 0 0 #1b1c37;
    -webkit-box-shadow: 0 0 0 0 #1b1b37;
    -moz-box-shadow: 0 0 0 0 #1b1c37;
  }

  100% {
    box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
    -webkit-box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
    -moz-box-shadow: -1px 1px 5px 2px rgba(55, 74, 249, 0.5);
  }
}



#overlay {
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimgDiv1 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimgDivBan1 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimgBanMob1 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg2 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg3 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg4 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg5 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg6 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayCarrito {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayMisCarritos {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

.cv-spinner {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg1 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg2 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg3 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg4 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg5 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg6 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerCarrito {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerMisCarritos {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimgBan1 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}


.spinner {
  width: 40px;
  height: 40px;
  border: 4px #ddd solid;
  border-top: 4px #214fe0 solid;
  border-radius: 50%;
  animation: sp-anime .8s infinite linear
}

@keyframes sp-anime {
  100% {
    transform: rotate(360deg)
  }
}

.is-hide {
  display: none
}

.magnific-img img {
  width: 100%;
  height: auto
}

.magnific-img {
  display: inline-block;
  width: 32.3%
}

a.image-popup-vertical-fit {
  cursor: -webkit-zoom-in
}





.container_catalogo {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  min-height: 100vh;
  display: grid;
  grid-auto-rows: 400px;
  grid-gap: 15px;
  /*grid-template-columns: repeat(4, minmax(200px, 300px));*/
  grid-template-columns: repeat(auto-fit, minmax(200px, 300px));
  align-items: stretch;
  justify-content: center;

}

@media screen and (max-width: 1092px) {
  .container_catalogo {
    /*grid-template-columns: 1fr;*/
    /*grid-template-columns: repeat(3, minmax(200px, 300px));*/
    margin: 50px 30px;
  }
}

@media screen and (max-width: 880px) {
  .container_catalogo {
    /*grid-template-columns: 1fr;*/
    /*grid-template-columns: repeat(2, minmax(200px, 300px));*/
    margin: 50px 30px;
  }
}

@media screen and (max-width: 754px) {
  .container_catalogo {
    grid-template-columns: 1fr;
    margin: 50px 30px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

.card_catalogo {
  position: relative;
  /*padding: 10px;*/
  color: var(--col-card-catalogo);
  background: var(--bg-card-catalogo);
  display: grid;
  grid-template-rows: 8fr 1fr 1fr;
  box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.057);
  transition: 0.2s ease-in;
  border-radius: .75em;
  border: 1px solid var(--projects-section);

}

.card_catalogo .card-content_catalogo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;

}

.card_catalogo .card-content_catalogo .top-bar_catalogo {
  width: calc(100% - 0px);
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px;
  font-family: 'Poppins';
}

.card_catalogo .card-content_catalogo .top-bar_catalogo .float-right_catalogo {
  float: right;
}

.card_catalogo .card-content_catalogo .img {
  width: 100%;
  justify-content: bottom;
  align-content: bottom;
  text-align: center;

}

.card_catalogo .card-content_catalogo .img img {
  max-width: 100%;
  max-height: 200px;
}

/*3img {
 
  animation: reveal both;
  animation-timeline: view();
  animation-range: entity 20% cover 30%;
}*/

.card_catalogo .card-description_catalogo {
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  width: calc(100%-20px);
}

.card_catalogo .card-description_catalogo .title {
  text-transform: uppercase;
  text-align: left;
}

.card_catalogo .card-description_catalogo .cart {
  float: right;
  cursor: pointer;
}

.card_catalogo .card-footer_catalogo {
  text-transform: uppercase;
  padding: 0.3em;
  border-top: 0.5px solid #ececec;
  letter-spacing: 0.1em;
  font-size: 11px;
  color: var(--main-color);
  justify-items: left;
  align-items: center;
  display: flex;
}

.card_catalogo .card-footer_catalogo .span {
  margin: 5px;
  width: auto;
  background: #dedede;
  padding: 4px 7px;
  border-radius: 2px;
  font-weight: 100;
  cursor: pointer;
}

.card_catalogo .card-footer_catalogo .span .float-right_catalogo {
  float: right;
}

.card_catalogo .card-footer_catalogo .span:hover {
  background: #aaaaaa;
}

.card_catalogo:hover {
  transition: 0.2s ease-in;
  transform: translateY(-10px);
  box-shadow: 0px 45px 60px 0px rgba(0, 0, 0, 0.087);
}

.header_catalogo {
  z-index: 99999;
  width: 100%;
  height: 70px;
  background: white;
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.091);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #cacaca;
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.card_catalogo .card-linea_catalogo {
  /*padding: 10px;*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 100;
  font-size: 11px;
  letter-spacing: 0.1em;
  width: calc(100%-20px);

  text-transform: uppercase;
  padding: 0.9em;
  border-top: 0.5px solid #ececec;

  /*color: var(--main-color);*/



}

.card_catalogo .card-linea_catalogo .linea {
  text-transform: uppercase;
  text-align: left;
}

.card_catalogo .card-linea_catalogo .stock {
  float: right;
  cursor: pointer;
}

.container_control {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  /*min-height: 100vh;*/
 
  /*grid-template-columns: repeat(4, minmax(200px, 300px));*/
   display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 300px));
  align-items: stretch;
  justify-content: center;

}

.container_control_2 {
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
  /*min-height: 100vh;*/
 
  /*grid-template-columns: repeat(4, minmax(200px, 300px));*/
  /* display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 300px));
  align-items: stretch;
  justify-content: center;*/

}

.centrar_loader{
  display: flex;
  align-items: center;
  justify-content: center;
}

#overlayimgL1 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimgL2 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimgL3 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg1 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg2 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg3 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg4 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg5 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayimg6 {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayCarrito {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

#overlayMisCarritos {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, .6)
}

.cv-spinner {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg1 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg2 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg3 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg4 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg5 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerimg6 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerCarrito {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.cv-spinnerMisCarritos {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px #ddd solid;
  border-top: 4px #214fe0 solid;
  border-radius: 50%;
  animation: sp-anime .8s infinite linear
}

@keyframes sp-anime {
  100% {
    transform: rotate(360deg)
  }
}

.is-hide {
  display: none
}

.magnific-img img {
  width: 100%;
  height: auto
}

.magnific-img {
  display: inline-block;
  width: 32.3%
}

a.image-popup-vertical-fit {
  cursor: -webkit-zoom-in
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: all .3s ease-out
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: .98
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0
}

.mfp-arrow-left:before {
  border-right: none !important
}

.mfp-arrow-right:before {
  border-left: none !important
}

.mfp-counter,
button.mfp-arrow {
  opacity: 0 !important;
  transition: opacity .2s ease-in, opacity 2s ease-out
}

.mfp-container:hover .mfp-counter,
.mfp-container:hover button.mfp-arrow {
  opacity: 1 !important
}

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1052;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: .8
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  outline: 0 !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle
}

.mfp-align-top .mfp-container:before {
  display: none
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1052
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto
}

.mfp-ajax-cur {
  cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
  cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
  -webkit-user-select: none;
  user-select: none
}

.mfp-loading.mfp-figure {
  display: none
}

.mfp-hide {
  display: none !important
}

.mfp-preloader {
  color: #ccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -.8em;
  left: 8px;
  right: 8px;
  z-index: 1044
}

.mfp-preloader a {
  color: #ccc
}

.mfp-preloader a:hover {
  color: #fff
}

.mfp-s-ready .mfp-preloader {
  display: none
}

.mfp-s-error .mfp-content {
  display: none
}

button.mfp-arrow,
button.mfp-close {
  overflow: visible;
  cursor: pointer;
  background: 0 0;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: 0;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation
}

button::-moz-focus-inner {
  padding: 0;
  border: 0
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: .65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace
}

.mfp-close:focus,
.mfp-close:hover {
  opacity: 1
}

.mfp-close:active {
  top: 1px
}

.mfp-close-btn-in .mfp-close {
  color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap
}

.mfp-arrow {
  position: absolute;
  opacity: .65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
  margin-top: -54px
}

.mfp-arrow:focus,
.mfp-arrow:hover {
  opacity: 1
}

.mfp-arrow:after,
.mfp-arrow:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: .7
}

.mfp-arrow-left {
  left: 0
}

.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
  right: 0
}

.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px
}

.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px
}

.mfp-iframe-holder .mfp-close {
  top: -40px
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, .6);
  background: #000
}

img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto
}

.mfp-figure {
  line-height: 0
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, .6);
  background: #444
}

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px
}

.mfp-figure figure {
  margin: 0
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px
}

.mfp-image-holder .mfp-content {
  max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, .6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, .6);
    position: fixed;
    text-align: center;
    padding: 0
  }
}

@media all and (max-width:900px) {
  .mfp-arrow {
    transform: scale(.75)
  }

  .mfp-arrow-left {
    transform-origin: 0
  }

  .mfp-arrow-right {
    transform-origin: 100%
  }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px
  }
}

.mfp-wrap {
  z-index: 2000
}

:root {
  --arrow-font-size: 30px;
  --arrow-color: #000000;
  --arrow-color-lightbox: #000000
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: auto !important
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: 0
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.slick-track:after,
.slick-track:before {
  display: table;
  content: ''
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px
}

[dir=rtl] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.slick-loading .slick-list {
  background: #fff url(../fonts/ajax-loader.gif) center center no-repeat
}

/*@font-face {
  font-family: slick;
  font-weight: 400;
  font-style: normal;
  src: url(../assets/fonts/slick.eot);
  src: url(../assets/fonts/slick.eot?#iefix) format("embedded-opentype"), url(../assets/fonts/slick.woff) format("woff"), url(../assets/fonts/slick.ttf) format("truetype"), url(../assets/fonts/slick.svg#slick) format("svg")
}*/

.slick-next,
.slick-prev {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 0;
  background: 0 0
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
  color: transparent;
  outline: 0;
  background: 0 0
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
  opacity: 1
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
  opacity: .25
}

.slick-next:before,
.slick-prev:before {
  font-family: slick;
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.slick-prev {
  left: -25px
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto
}

.slick-prev:before {
  content: '←'
}

[dir=rtl] .slick-prev:before {
  content: '→'
}

.slick-next {
  right: -25px
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px
}

.slick-next:before {
  content: '→'
}

[dir=rtl] .slick-next:before {
  content: '←'
}

.slick-dotted.slick-slider {
  margin-bottom: 30px
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: 0 0
}

.slick-dots li button:focus,
.slick-dots li button:hover {
  outline: 0
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
  opacity: 1
}

.slick-dots li button:before {
  font-family: slick;
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #000
}

.slick-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #000;
  transition: opacity .5s ease
}

.slick-lightbox .slick-loading .slick-list {
  background-color: transparent
}

.slick-lightbox .slick-prev {
  left: 15px
}

.slick-lightbox .slick-next {
  right: 15px
}

.slick-lightbox-hide {
  opacity: 0
}

/*.slick-lightbox-hide-init {
  position: absolute;
  top: -9999px;
  opacity: 0
}*/

.slick-lightbox-inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.slick-lightbox-slick-item {
  text-align: center;
  overflow: hidden
}

.slick-lightbox-slick-item:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -.25em
}

.slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
  margin-bottom: 20px
}

.slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
  display: block;
  text-align: center
}

.slick-lightbox-slick-item-inner {
  display: inline-block;
  vertical-align: middle;
  max-width: 90%;
  max-height: 90%
}

.slick-lightbox-slick-img {
  margin: 0 auto;
  display: block;
  max-width: 90%;
  max-height: 90%
}

.slick-lightbox-slick-caption {
  margin: 10px 0 0;
  color: #fff
}

.slick-lightbox-close {
  position: absolute;
  top: 15px;
  right: 15px;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: 0 0;
  color: transparent;
  padding: 0;
  border: none
}

.slick-lightbox-close:focus {
  outline: 0
}

.slick-lightbox-close:before {
  font-family: slick;
  font-size: 20px;
  line-height: 1;
  color: #000;
  opacity: .85;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '×'
}

.XXXXX__slide img {
  margin: 0 auto;
  max-width: 100%
}

.slick-slider:not(.hero__slider) .slick-prev+.slick-list .slick-slide {
  padding: 0 35px
}

.slick-slider:not(.hero__slider) .slick-next:before,
.slick-slider:not(.hero__slider) .slick-prev:before {
  font-size: var(--arrow-font-size);
  color: var(--arrow-color)
}

.slick-lightbox .slick-slider:not(.hero__slider) .slick-next:before,
.slick-lightbox .slick-slider:not(.hero__slider) .slick-prev:before {
  color: var(--arrow-color-lightbox)
}

.slick-slider:not(.hero__slider) .slick-next,
.slick-slider:not(.hero__slider) .slick-prev {
  height: initial;
  width: initial;
  z-index: 4
}

.slick-slider:not(.hero__slider) .slick-prev {
  left: 0
}

.slick-slider:not(.hero__slider) .slick-next {
  right: 0
}

.slick-lightbox .slick-slider:not(.hero__slider) .slick-prev {
  left: 15px
}

.slick-lightbox .slick-slider:not(.hero__slider) .slick-next {
  right: 15px
}

@media only screen and (min-width:1600px) {
  .slick-slider:not(.hero__slider) .slick-prev+.slick-list .slick-slide {
    padding: 0
  }

  .slick-slider:not(.hero__slider) .slick-prev {
    left: unset;
    right: calc(100% + 30px)
  }

  .slick-slider:not(.hero__slider) .slick-next {
    left: calc(100% + 30px);
    right: unset
  }
}

.slick-lightbox .slick-slider:not(.hero__slider) .slick-prev {
  left: 30px;
  right: unset
}

.slick-lightbox .slick-slider:not(.hero__slider) .slick-next {
  right: 30px;
  left: unset
}

.gallery__slide img {
  margin: 0 auto;
  max-width: 100%
}

table tbody tr:hover {
  background: rgba(123, 153, 218, .1) !important
}

.animate {
  animation-duration: 1s;
  animation-fill-mode: both
}

.one {
  animation-delay: 1.1s
}

.two {
  animation-delay: 1.7s
}

.three {
  animation-delay: 2s
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0)
  }

  to {
    opacity: 1;
    transform: none
  }
}

.fadeInUp {
  animation-name: fadeInUp
}

@keyframes fadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.fadeIn {
  animation-name: fadeIn
}

.fadeInDown {
  animation-name: fadeInDown
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0)
  }

  100% {
    opacity: 1;
    transform: none
  }
}

.bg-white::-webkit-scrollbar {
  display: none
}

.scrollout::-webkit-scrollbar {
  display: none
}

.bg-white {
  -ms-overflow-style: none;
  scrollbar-width: none
}

.scrollout {
  -ms-overflow-style: none;
  scrollbar-width: none
}

.avatar-upload {
  position: relative;
  max-width: 400px;
  margin: 10px auto
}

.avatar-paste {
  position: absolute;
  right: 12px;
  top: 75px;
  z-index: 1
}

.avatar-edit {
  position: absolute;
  right: 12px;
  top: 35px;
  z-index: 1
}

.avatarDiv-edit {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 1
}

.avatarDiv-trash {
  position: absolute;
  max-width: 400px;
  margin: 185px auto;
  right: 12px;
  top: -5px;
  z-index: 1
}

.avatarDivBan-edit {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 1
}

.avatarDivBan-trash {
  position: absolute;
  max-width: 400px;
  margin: 185px auto;
  right: 12px;
  top: -5px;
  z-index: 1
}

.avatar-trash {
  position: absolute;
  max-width: 400px;
  margin: 185px auto;
  right: 12px;
  top: 35px;
  z-index: 1
}

#camera {
  position: absolute;
  top: 10px;
  left: 9px
}

#trash {
  position: absolute;
  top: 10px;
  left: 9px
}

#paste {
  position: absolute;
  top: 10px;
  left: 9px
}

.txt-file {
  display: none
}

.label-upload {
  display: inline-block;
  width: 34px;
  height: 34px;
  background: #f7f7f7;
  margin-bottom: 0;
  border-radius: 100%;
  border: 1px solid #e5e5e5;
  box-shadow: 0 0 10px rgba(0, 0, 0, .5);
  cursor: pointer;
  transition: .3s ease
}

.label-trash {
  display: inline-block;
  width: 34px;
  height: 34px;
  background: #f7f7f7;
  margin-bottom: 0;
  border-radius: 100%;
  border: 1px solid #e5e5e5;
  box-shadow: 0 0 10px rgba(0, 0, 0, .5);
  cursor: pointer;
  transition: .3s ease
}

.label-paste {
  display: inline-block;
  width: 34px;
  height: 34px;
  background: #f7f7f7;
  margin-bottom: 0;
  border-radius: 100%;
  border: 1px solid #e5e5e5;
  box-shadow: 0 0 10px rgba(0, 0, 0, .5);
  cursor: pointer;
  transition: .3s ease
}

.label-upload2 {
  display: inline-block;
  width: 17px;
  height: 17px;
  background: #f7f7f7;
  position: absolute;
  margin-bottom: 0;
  margin-left: 8px;
  margin-top: 6px;
  border-radius: 100%;
  border: 1px solid #e5e5e5;
  cursor: pointer;
  transition: .3s ease
}

.label-upload:hover {
  background: #e5e5e5
}

.label-trash:hover {
  background: #e5e5e5;
  color: red
}

.label-paste:hover {
  background: #e5e5e5;
  color: var(--color-primary)
}

.avatar-preview {
  max-width: 400px;
  height: 225px;
  position: relative;
  border-radius: 20px;
  /*border: 1px solid #e5e5e5*/
}

.avatar-preview>div {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

.avatar-preview2 {
  max-width: 400px;
  height: 225px;
  position: relative;
  border-radius: 20px;
  border: 1px solid #e5e5e5
}

.avatar-preview2>div {
  width: 50%;
  height: 50%;
  border-radius: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

#btn-add-primary:hover {
  color: #139af0;
  text-decoration: none
}

#startButtonMC:hover {
  color: #139af0;
  text-decoration: none
}

.preloader {
  display: flex;
  align-items: center;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  transition: opacity .2s linear;
  width: 100%;
  z-index: 9999
}

.preloader .loader-element {
  position: relative
}

.preloader .loader-element .loader-animated-dot {
  display: block;
  width: 9px;
  height: 9px;
  background: #ee5050;
  border-radius: 50%;
  position: absolute;
  left: 116px;
  top: -3px;
  animation: bounce .6s cubic-bezier(.6, -.28, .74, .05) infinite
}

@keyframes bounce {
  0% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-3px)
  }

  100% {
    transform: translateY(0)
  }
}

.bg-soft {
  background-color: #f4f6fc !important
}

html.lb-disable-scrolling {
  overflow: hidden;
  position: static;
  height: 100vh;
  width: 100vw;
}





.time {
  line-height: 1.8;
}



@media only screen and (max-width:991px) {

  .timeline {
    padding: 1.5rem 1.5rem !important;
  }

}

.timeline {
  padding: 2.5rem 2.5rem;
  max-width: 100%;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 25px -20px rgba(0, 0, 0.2);
  text-align: left;
}

.timelineDocumentos {
  padding: 2.5rem 2.5rem;
  max-width: 100%;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 25px -20px rgba(0, 0, 0.2);
  text-align: left;
}

.tl-content .tl-header,
.tl-content .tl-body {
  padding-left: 14.2px;

  border-left: 3px solid gainsboro;
}

.tl-body {
  padding-bottom: 0.3rem;
}

.tl-content:last-child .tl-body {
  border-left: 3px solid transparent;
}

.tl-header {
  position: relative;
  display: grid;

  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.tl-title {
  font-size: 0.85em;
  border-bottom: 1px solid gainsboro;
  margin: 0em;
  font-weight: 700;
  color: var(--main-color);
}

.tl-time {
  font-size: 0.7em;
}

.tl-marker {
  display: block;
  position: absolute;

  width: 16px;
  height: 16px;
  border-radius: 50% / 50%;

  background: gainsboro;

  left: -1.1rem;
  top: 50%;

  transform: translate(50%, -50%);
}

.tl-content-active .tl-marker {
  padding: 1.6px;

  left: -1.25rem;

  width: 18px;
  height: 18px;

  border: 2px solid var(--main-color);

  background-color: var(--main-color);
  background-clip: content-box;

  box-shadow: 0 0 15px -2px var(--main-color);
}

.tl-content-active .tl-title {
  font-weight: 700;

  color: var(--main-color);
}

.tl-content .tl-marker {
  padding: 1.6px;

  left: -1.25rem;

  width: 18px;
  height: 18px;

  border: 2px solid var(--main-color);

  background-color: var(--main-color);
  background-clip: content-box;

  box-shadow: 0 0 15px -2px var(--main-color);
}


.modal {
  overflow: auto !important;
}


.three h1 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5em;
  padding-bottom: 15px;
  position: relative;
}

.three h1:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 5px;
  width: 55px;
  background-color: var(--bg-line-1);
}

.three h1:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  height: 1px;
  width: 95%;
  max-width: 255px;
  background-color: var(--bg-line-2);
}



.ribbon {
  position: absolute;
  z-index: 10;
  padding: 0px 7px;
  /* margin-left: 62.5%; */
  /* margin-right: 12.0%; */
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
  font-size: 15px;
  line-height: 32px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  zoom: 1;
  top: 21%;
  right: -3%;

  /* left: 61%; */
  min-width: 40%;
  max-width: 50%;
  height: 32px;

}

.oranger {
  background: #FF9600;
}

.bluer {
  background: #3398d9
}

.greenr {
  background: #66b94d;
}

.ribbon:after {
  content: "";
  position: absolute;
  z-index: -20;
  top: 100%;
  left: auto;
  border-style: solid;
  border-width: 0 0 10px 10px;
  right: 0;
}

.oranger:after {
  border-color: transparent #DC5F0B;
}

.blue:after {
  border-color: transparent #1e5b82;
}

.green:after {
  border-color: transparent #3e7030;
}

.no-ribbon {
  height: 41px;
  position: absolute;
  z-index: 2000;
}




@media (max-width: 768px) {

  .ribbon {
    width: 60%;
    left: 52.5%;
  }
}




@media (max-width: 545px) {
  .ribbon {
    width: 49.9%;
    left: 53.4%;
  }
}







.icon-shape {
  text-align: center;
  vertical-align: middle;
  width: 3.9rem;
  height: 3.9rem;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}




.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 5px; /* Opcional */
}

.autocomplete-image {
  width: auto; /* Mantiene el tamaño original */
  height: 100%; /* Ajusta la altura al contenedor */
  object-fit: contain; /* Asegura que la imagen cubra el contenedor */
}



ui-autocomplete {
  font-family: 'Poppins', sans-serif;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 12px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}

.ui-autocomplete>li>div {
  font-family: 'Poppins', sans-serif;
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  /*color: #333333;*/
  white-space: nowrap;
  background-color: var(--header-color);
  color: var(--main-autocomplete);

}



.ui-autocomplete>li>div>img:hover {
  transform: scale(1.5); /* Aumenta el tamaño un 50% */
  z-index: 10; /* Asegura que esté por encima de otros elementos */
   /*box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); Opcional: sombra para destacar */
}

.ui-autocomplete>li:hover {
  border:1px solid black;
}



.ui-state-hover,
.ui-state-active,
.ui-state-focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
  cursor: pointer;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}






/* Definimos el efecto fade-up */
.fade-up {
  animation: fadeUp 0.5s ease-in-out;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Estilos adicionales */
progress {
  margin-top: 10px;
}

p {
  transition: all 0.5s ease-in-out;
}




.project-boxes {
  margin: 0 0;
  overflow-y: auto;
}

.project-boxes.jsGridView {
  display: flex;
  flex-wrap: wrap;
}

.project-boxes.jsGridView .project-box-wrapper {
  /*width: 33.3%;*/
  width: 25%;
}

.project-boxes.jsListView .project-box {
  display: flex;
  border-radius: 10px;
  position: relative;
  justify-content: space-between;
  height: auto;
}

.project-boxes.jsListView .project-box>* {
  margin-right: 24px;
}

.project-boxes.jsListView .more-wrapper {
  position: absolute;
  right: 16px;
  top: 16px;
}

.project-boxes.jsListView .project-box-content-header {
  order: 1;
  max-width: 320px;
}

.project-boxes.jsListView .project-box-header {
  order: 2;
}

.project-boxes.jsListView .project-box-footer {
  order: 3;
  padding-top: 0;
  flex-direction: column;
  justify-content: flex-start;
}

.project-boxes.jsListView .project-box-footer:after {
  display: none;
}

.project-boxes.jsListView .participants {
  margin-bottom: 8px;
}

.project-boxes.jsListView .project-box-content-header p {
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.project-boxes.jsListView .project-box-header>span {
  position: absolute;
  bottom: 16px;
  left: 16px;
  font-size: 12px;
}

.project-boxes.jsListView .box-progress-wrapper {
  order: 3;
  flex: 1;
  display:none;
}

.project-box {
  --main-color-card: #dbf6fd;
  border-radius: 15px;
  padding: 10px;
  background-color: var(--main-color-card);
  height: 377px;
}

.project-box-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  color: var(--main-color);
}

.project-box-header span {
  color: #4A4A4A;
  /*opacity: 0.7;*/
  font-size: 13px;
  line-height: 16px;
}



.project-boxes.jsListView .project-box-content-header {
  text-align: center;
  margin-bottom: 16px;
  min-height: 60px;
}


.project-boxes.jsGridView .project-box-content-header {
  text-align: center;
  margin-bottom: 16px;
  /*min-height: 190px;*/
  height: 205px;
    overflow-y: auto;
}




.project-box-content-header p {
  margin: 0;
}

.project-box-wrapper {
  padding: 8px;
  transition: 0.2s;
}

.project-btn-more {
  padding: 0;
  height: 14px;
  width: 24px;
  height: 24px;
  position: relative;
  background-color: transparent;
  border: none;
  flex-shrink: 0;
  /*&:after, &:before {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--main-color);
    opacity: .8;
    left: 50%;
    transform: translatex(-50%);
  }

  &:before { top: 0;}
  &:after { bottom: 0; }*/
}

.more-wrapper {
  position: relative;
}

.box-content-header {
  font-size: 13.3px;
  line-height: 24px;
  font-weight: 700;
  /*opacity: 0.7;*/
}

.box-content-subheader {
  font-size: 12.5px;
  /*  line-height: 24px;
 opacity: 0.7;*/
}

.box-progress {
  display: block;
  height: 4px;
  border-radius: 6px;
}

.box-progress-bar {
  width: 100%;
  height: 4px;
  border-radius: 6px;
  overflow: hidden;
  background-color: #fff;
  margin: 8px 0;
}

.box-progress-header {
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  margin: 0;
}

.box-progress-percentage {
  text-align: right;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
}

.project-box-footer {
  display: flex;
  justify-content: space-between;
  padding-top: 16px;
  position: relative;
}

.project-box-footer:after {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.6);
  width: calc(100% + 20px);
  top: 0;
  left: -10px;
  height: 1px;
}

.participants {
  display: flex;
  align-items: center;
  font-weight: 900;
  font-size: 14px;
}

.participants img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
}

.participants img:not(:first-child) {
  margin-left: -8px;
}

.add-participant {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.6);
  margin-left: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.days-left {
  background-color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  border-radius: 20px;
  flex-shrink: 0;
  padding: 6px 16px;
  font-weight: 700;
}

.mode-switch.active .moon {
  fill: var(--main-color);
}

.messages-btn {
  border-radius: 4px 0 0 4px;
  position: absolute;
  right: 0;
  top: 58px;
  background-color: var(--message-btn);
  border: none;
  color: var(--main-color);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px;
  display: none;
}



@media screen and (max-width: 980px) {
  .project-boxes.jsGridView .project-box-wrapper {
    width: 50%;
  }

  .status-number,
  .status-type {
    font-size: 14px;
  }

  .status-type:after {
    width: 4px;
    height: 4px;
  }

  .item-status {
    margin-right: 0;
  }
}

@media screen and (max-width: 880px) {
  .messages-section {
    transform: translateX(100%);
    position: absolute;
    opacity: 0;
    top: 0;
    z-index: 2;
    height: 100%;
    width: 100%;
  }

  .messages-section .messages-close {
    display: block;
  }

  .messages-btn {
    display: flex;
  }
}

@media screen and (max-width: 720px) {

  .app-name,
  .profile-btn span {
    display: none;
  }

  .add-btn,
  .notification-btn,
  .mode-switch {
    width: 24px;
    height: 24px;
  }

  .add-btn svg,
  .notification-btn svg,
  .mode-switch svg {
    width: 24px;
    height: 24px;
  }

  .app-header-right button {
    margin-left: 4px;
  }
}

@media screen and (max-width: 520px) {
  .projects-section {
    overflow: auto;
  }

  .project-boxes {
    overflow-y: visible;
  }

  .app-sidebar,
  .app-icon {
    display: none;
  }

  .app-content {
    padding: 16px 12px 24px 12px;
  }

  .status-number,
  .status-type {
    font-size: 10px;
  }

  .view-btn {
    width: 24px;
    height: 24px;
  }

  .app-header {
    padding: 16px 10px;
  }

  .search-input {
    max-width: 120px;
  }

  .project-boxes.jsGridView .project-box-wrapper {
    width: 100%;
  }

  .projects-section {
    padding: 24px 16px 0 16px;
  }

  .profile-btn img {
    width: 24px;
    height: 24px;
  }

  .app-header {
    padding: 10px;
  }

  .projects-section-header p,
  .projects-section-header .time {
    font-size: 18px;
  }

  .status-type {
    padding-right: 4px;
  }

  .status-type:after {
    display: none;
  }

  .search-input {
    font-size: 14px;
  }

  .messages-btn {
    top: 48px;
  }

  /*.box-content-header {
    font-size: 12px;
    line-height: 16px;
  }

  .box-content-subheader {
    font-size: 12px;
    line-height: 16px;
  }*/

  .project-boxes.jsListView .project-box-header>span {
    font-size: 10px;
  }

  .box-progress-header {
    font-size: 12px;
  }

  .box-progress-percentage {
    font-size: 10px;
  }

  /*.days-left {
    font-size: 8px;
    padding: 6px 6px;
    text-align: center;
  }*/

  .project-boxes.jsListView .project-box>* {
    margin-right: 10px;
  }

  .project-boxes.jsListView .more-wrapper {
    right: 2px;
    top: 10px;
  }
}





.loaderSVG {
  position: relative;
  width: 200px;
  height: 200px;
}

.loaderSVG svg {
  position: absolute;
  top: 0;
  left: 0;
}

.loaderSVG svg circle {
  fill: none;
  stroke: #fff;
  stroke-width: 10px;
  stroke-linecap: round;
  animation: animateSVG 2s linear infinite;
}

.loaderSVG svg:nth-child(1) circle {
  filter: blur(10px);
  stroke: #43acff;
}

.loaderSVG svg:nth-child(2) circle {
  filter: blur(20px);
  stroke: #43acff;
}

@keyframes animateSVG {
  0% {
    stroke-dasharray: 295;
    stroke-dashoffset: 295;
  }

  50% {
    stroke-dasharray: 295;
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dasharray: 295;
    stroke-dashoffset: -295;
  }
}

@keyframes reveal {
  from {
    opacity: 0.5;
    traslate: 0 50px;
  }

  to {
    opacity: 1;
    traslate: 0 0;
  }
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
  font-weight: 600;
  color: var(--main-color) !important;
  background-color: var(--bg-collapse-sb) !important;
  /*border-color: var(--bs-nav-tabs-link-active-border-color);*/
  border-bottom: solid var(--bg-collapse-sb) ; 
}

.nav-link {
  color:var(--bg-link);

}

#indicadorProceso{
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 5px;
  color: var(--main-color) !important;
  text-align: center;
}

#downloadProgress{
  margin-bottom: 5px;
}

.projects-section {
  flex: 2;
  background-color: var(--projects-section);
 /* border-radius: 32px;
  padding: 32px 32px 0 32px;*/
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.projects-section-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 22px;
}

.view-actions {
  display: flex;
  justify-content: center;
}

.view-btn {
  width: 56px;
  height: 56px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding: 6px;
  border-radius: 4px;
  background-color: transparent;
  border: none;
  color: var(--main-color);
  margin-left: 8px;
  transition: 0.2s;
}


.view-btn.active {
  background-color: var(--link-color-active-bg);
  color: var(--link-color-active);
}
.view-btn:not(.active):hover {
  background-color: var(--link-color-hover);
  color: var(--link-color-active);
}


.message-box {
  border-top: 1px solid var(--message-box-border);
  padding: 16px;
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.message-box:hover {
  background-color: var(--message-box-hover);
  border-top-color: var(--link-color-hover);
}
.message-box:hover + .message-box {
  border-top-color: var(--link-color-hover);
}
.message-box img {
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 40px;
  height: 40px;
}

.message-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.message-header .name {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: var(--main-color);
  margin: 0;
}

.message-content {
  padding-left: 16px;
  width: 100%;
}

.star-checkbox input {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}
.star-checkbox label {
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.dark .star-checkbox {
  color: var(--secondary-color);
}
.dark .star-checkbox input:checked + label {
  color: var(--star);
}
.star-checkbox input:checked + label svg {
  fill: var(--star);
  transition: 0.2s;
}

.message-line {
  font-size: 14px;
  line-height: 20px;
  margin: 8px 0;
  color: var(--secondary-color);
  opacity: 0.7;
}
.message-line.time {
  text-align: right;
  margin-bottom: 0;
}


#map { 
  height: 500px;
  width: 100%; 
  margin-top: 10px;
}

.leaflet-popup-content-wrapper { 
  max-width: 250px; 

}

.colorPrincipal {
  color: var(--col-card-catalogo) !important;
}

.redalertAn {
  animation: bgcoloralertAn 1.2s infinite;
  /*color: white;
  border: none;*/
}

@keyframes bgcoloralertAn {
  from {
    background: var(--projects-section);
  }
  50% {
    background: var(--bg-redalert);
  }
  to {
    background: var(--projects-section);
  }
}


.input-border-custom {
  border-color: #ced4da;
  border-width: 1.9px; 
  /*box-shadow: 0 0 0 0.25rem rgba(#ced4da, 0.25);*/
}


.input-border-producto {
  position: relative; 
}

.input-border-producto::after {
  content: "";
  position: absolute;
  top: 5px; /* Ajusta según tu diseño */
  right: 5px; /* Ajusta según tu diseño */
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--circle-color, #524eee); /* Color por defecto */
  pointer-events: none; /* Evita que interfiera con el input */
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); /* Añade un ligero sombreado */
}


 /*.lazy-image {
  opacity: 0;
 transition: opacity 0.125s ease-in-out;
}

.lazy-image.loaded {
  opacity: 1;
}*/
.lazy-image {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  background: #f5f5f5;
}

.lazy-image.loaded {
  opacity: 1;
  background: transparent;
}

.badge-container {
  position: relative; /* Establece un contexto de posición */
  width: 100%; /* Asegura que el contenedor ocupe todo el ancho */
  text-align: right; /* Alinea el contenido a la derecha */
}

.badge-costo {
  position: absolute; /* Permite posicionamiento absoluto */
  right: 0px; /* Ajusta la distancia desde el borde derecho */
  top: -20px; /* Ajusta la distancia desde la parte superior */
  padding: 0.25em 0.5em;
  font-size: 0.875rem;
  font-weight: bold;
  color: white; /* Texto blanco */
  background-color: green; /* Fondo verde */
  border-radius: 0.25rem;
}


.cabeceraSeguimiento {
  background: linear-gradient(to right, #012970, #012970);
  color: white;
  font-weight: bold;
  padding: 10px 15px;
  border-radius: 8px;
}


.ui-autocomplete {
 
  max-height: 50vh; /* Limitar al 40% de la altura de la pantalla */
  overflow-y: auto; /* Habilitar desplazamiento vertical */
  overflow-x: hidden; /* Evitar desplazamiento horizontal */
  border: 1px solid #ccc; /* Opcional: bordes para destacar */
  border-radius: 8px; /* Opcional: esquinas redondeadas */
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Opcional: sombra */
  /*background-color: #fff;  Fondo blanco */
 
  z-index: 1000; /* Asegurar que esté sobre otros elementos */
}

.cardAnalisis {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0px 0 0px 0;
}

.vendedor-con-foto {
  display: flex;      
  align-items: center;   
  gap: 10px;            
}

.vendedor-info img {
  object-fit: cover;
  object-position: top center;
  border-radius: 50%;
  width: 55px;
  height: 55px;
}

.vendedor-info h6 {
  margin: 0; /* Eliminar márgenes del texto */
  font-size: 16px; /* Ajusta el tamaño de texto según lo necesites */
  line-height: 1.2; /* Ajusta el espaciado entre líneas */
}


@media only screen and (max-width: 1023px) {
  .vendedor-info {
    text-align: end;
  }
}


.ch-masonry {
  column-count: 6;
  column-gap: 15px;
  margin: 30px;
  padding: 0;
}

@media only screen and (max-width: 3139px) {
  .ch-masonry {
      column-count: 5;
  }
}

@media only screen and (max-width: 2574px) {
  .ch-masonry {
      column-count: 4;
  }
}

@media only screen and (max-width: 2009px) {
  .ch-masonry {
      column-count: 3;
  }
}


@media only screen and (max-width: 1619px) {
  .ch-masonry {
      column-count: 2;
  }
}

@media only screen and (max-width: 590px) {
  .ch-masonry {
      column-count: 1;
  }
  .gridH-container {
    /*display: block !important;*/
    padding: 0 !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 2fr)) !important;
  }
  .cardH img {
    height: 300px !important;
  }
}





.ch-masonry__item {
  display: inline-block;
  background: #fff;
  padding: 15px;
  margin: 0 0 15px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 2px 2px 4px 0 #ccc;
}

.ch-masonry__item img {
width: 100%;
max-width: 100%;
}



 /* Contenedor principal */
 .gridH-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 3fr));
  gap: 16px;
  padding: 16px;
  transition: all 0.3s ease; /* Suaviza el ajuste */
}

/* Cada tarjeta */
.cardH {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background-color: white;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

/* Estilo de la imagen */
.cardH img {
  width: 100%;
  height: 600px;
  display: block;
}

/* Información del hallazgo (oculta por defecto) */
.cardH-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.2);
  color: white;
  padding: 8px;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  font-size: 12px;
}

/* Hover para mostrar información */
.cardH:hover .cardH-info {
  transform: translateY(0);
}

/* Hover efecto en la tarjeta */
.cardH:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.btn-descargar {
  font-size: 12px;
  text-decoration: none;
  color: #fff;
  /*background-color: #6c757d;*/
  background: rgba(108, 117, 125, 0.3);
  padding: 5px 10px;
  border-radius: 5px;
  position: absolute;
  bottom: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  gap: 5px; /* Espacio entre el icono y el texto */
}

.btn-descargar i {
  font-size: 14px;
}

.btn-descargar:hover {
  background-color: #012970;
  text-decoration: none;
  color: #fff;
}


.btn-compartir {
  font-size: 12px;
  text-decoration: none;
  color: #fff;
  /*background-color: #198754;*/
  background: rgba(25, 135, 84, 0.3);
  padding: 5px 10px;
  border-radius: 5px;
  position: absolute;
  bottom: 10px;
  right: 50px;
  display: flex;
  align-items: center;
  gap: 5px; /* Espacio entre el icono y el texto */
}


.btn-compartir i {
  font-size: 14px;
}

.btn-compartir:hover {
  background-color: #1DA953;
  text-decoration: none;
  color: #fff;
}

.progressContainer {
  width: 100%;
  height: 0.4em;
  background-color: #e1e2eb;
  border-radius: 0.4em;
  margin-top: -5px;
}

.latestResults .progressContainer .progress,
.languages .progressContainer .progress {
  background-color: #5e81f4;
  border-radius: 0.4em;
  height: 10%;
}

.latestResults .progressContainer .progress.redP {
  background-color: #799eff;
}

.redP{
  background-color: var(--progressBarC);
}

.latestResults .progressText {
  font-weight: 600;
  color: #5e81f4;
}

.latestResults .progressText.red {
  color: #ff606d;
}


/* Component: Progress */

.table-progress {
	display: flex;
	align-items: center;
	column-gap: 10px;
	width: 100%;
}

.table-progress__bar {
	flex: 1;
	min-width: 150px;
	height: 7px;
	background-color: var(--color-table-secondary);
	border-radius: 100px;
}

@media screen and (max-width: 767.9px) {
	.table-progress__bar {
		min-width: 100px;
	}
}

@keyframes progress {
	to {
		max-width: 100%;
	}
}

@keyframes progress-blinking {
	0%,
	100% {
		filter: brightness(1);
		box-shadow: none;
	}

	50% {
		filter: brightness(1.5);
		box-shadow: rgba(3, 239, 255, 0.25) 0 0 10px;
	}
}

.table-progress__bar span {
	display: block;
	width: 0;
	max-width: 0;
	height: 7px;
	background: linear-gradient(
		303.71deg,
		rgba(6, 255, 255, 0.8) 30.34%,
		rgba(3, 239, 255, 0.8) 43.1%,
		rgba(0, 219, 255, 0.8) 55.85%,
		rgba(0, 203, 244, 0.8) 64.97%,
		rgba(0, 162, 215, 0.8) 82.28%,
		rgba(0, 158, 212, 0.8) 84.11%
	);
	border-radius: 100px;
	animation: progress 1s ease-in-out forwards,
		progress-blinking 5s ease-in-out infinite;
}

.table-progress__value {
	width: 55px;
}



.table-row--redEf {
  opacity: 0;
  transform: translateY(50%);
}

.table-row--redEf.animate {
  animation: fade-up 0.8s ease forwards;
  animation-delay: calc(0.1s * var(--index));
}

@keyframes fade-up {
  from {
      opacity: 0;
      transform: translateY(50%);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

.table-linkD {
	display: flex;
	align-items: end;
	column-gap: 10px;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
	/*color: var(--color-table-text);*/
	text-decoration: none;
	/*transition: opacity var(--table-transition-hover);*/
  justify-content: flex-end;
  margin-right: 35px;
}

.table-linkD::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.75008 8.81268C9.60758 8.81268 9.46508 8.76018 9.35258 8.64768C9.13508 8.43018 9.13508 8.07018 9.35258 7.85268L15.5026 1.70268C15.7201 1.48518 16.0801 1.48518 16.2976 1.70268C16.5151 1.92018 16.5151 2.28018 16.2976 2.49768L10.1476 8.64768C10.0351 8.76018 9.89258 8.81268 9.75008 8.81268Z' fill='%2305FBFF'/%3E%3Cpath d='M16.5004 5.6625C16.1929 5.6625 15.9379 5.4075 15.9379 5.1V2.0625H12.9004C12.5929 2.0625 12.3379 1.8075 12.3379 1.5C12.3379 1.1925 12.5929 0.9375 12.9004 0.9375H16.5004C16.8079 0.9375 17.0629 1.1925 17.0629 1.5V5.1C17.0629 5.4075 16.8079 5.6625 16.5004 5.6625Z' fill='%2305FBFF'/%3E%3Cpath d='M11.25 17.0625H6.75C2.6775 17.0625 0.9375 15.3225 0.9375 11.25V6.75C0.9375 2.6775 2.6775 0.9375 6.75 0.9375H8.25C8.5575 0.9375 8.8125 1.1925 8.8125 1.5C8.8125 1.8075 8.5575 2.0625 8.25 2.0625H6.75C3.2925 2.0625 2.0625 3.2925 2.0625 6.75V11.25C2.0625 14.7075 3.2925 15.9375 6.75 15.9375H11.25C14.7075 15.9375 15.9375 14.7075 15.9375 11.25V9.75C15.9375 9.4425 16.1925 9.1875 16.5 9.1875C16.8075 9.1875 17.0625 9.4425 17.0625 9.75V11.25C17.0625 15.3225 15.3225 17.0625 11.25 17.0625Z' fill='%2305FBFF'/%3E%3C/svg%3E%0A");
	background-size: 100% 100%;
}


.croppie-container {
  width: 100%;
  height: 100%;
}

.croppie-container .cr-image {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0 0;
  max-height: none;
  max-width: none;
}

.croppie-container .cr-boundary {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.croppie-container .cr-viewport,
.croppie-container .cr-resizer {
  position: absolute;
  border: 2px solid #fff;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.5);
  z-index: 0;
}

.croppie-container .cr-resizer {
z-index: 2;
box-shadow: none;
pointer-events: none;
}

.croppie-container .cr-resizer-vertical,
.croppie-container .cr-resizer-horisontal {
position: absolute;
pointer-events: all;
}

.croppie-container .cr-resizer-vertical::after,
.croppie-container .cr-resizer-horisontal::after {
  display: block;
  position: absolute;
  box-sizing: border-box;
  border: 1px solid black;
  background: #fff;
  width: 10px;
  height: 10px;
  content: '';
}

.croppie-container .cr-resizer-vertical {
bottom: -5px;
cursor: row-resize;
width: 100%;
height: 10px;
}

.croppie-container .cr-resizer-vertical::after {
  left: 50%;
  margin-left: -5px;
}

.croppie-container .cr-resizer-horisontal {
  right: -5px;
  cursor: col-resize;
  width: 10px;
  height: 100%;
}

.croppie-container .cr-resizer-horisontal::after {
  top: 50%;
  margin-top: -5px;
}

.croppie-container .cr-original-image {
  display: none;
}

.croppie-container .cr-vp-circle {
  border-radius: 50%;
}

.croppie-container .cr-overlay {
  z-index: 1;
  position: absolute;
  cursor: move;
  touch-action: none;
}

.croppie-container .cr-slider-wrap {
  width: 75%;
  margin: 15px auto;
  text-align: center;
}

.croppie-result {
  position: relative;
  overflow: hidden;
}

.croppie-result img {
  position: absolute;
}

.croppie-container .cr-image,
.croppie-container .cr-overlay,
.croppie-container .cr-viewport {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

/*************************************/
/***** STYLING RANGE INPUT ***********/
/*************************************/
/*http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html */
/*************************************/

.cr-slider {
  -webkit-appearance: none;
/*removes default webkit styles*/
/*border: 1px solid white; *//*fix for FF unable to apply focus style bug */
  width: 300px;
/*required for proper track sizing in FF*/
  max-width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: transparent;
}

.cr-slider::-webkit-slider-runnable-track {
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-radius: 3px;
}

.cr-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #ddd;
  margin-top: -6px;
}

.cr-slider:focus {
  outline: none;
}
/*
.cr-slider:focus::-webkit-slider-runnable-track {
background: #ccc;
}
*/

.cr-slider::-moz-range-track {
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-radius: 3px;
}

.cr-slider::-moz-range-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #ddd;
  margin-top: -6px;
}

/*hide the outline behind the border*/
.cr-slider:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px;
}

.cr-slider::-ms-track {
  width: 100%;
  height: 5px;
  background: transparent;
/*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
border-color: transparent;/*leave room for the larger thumb to overflow with a transparent border */
border-width: 6px 0;
color: transparent;/*remove default tick marks*/
}
.cr-slider::-ms-fill-lower {
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
}
.cr-slider::-ms-fill-upper {
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
}
.cr-slider::-ms-thumb {
border: none;
height: 16px;
width: 16px;
border-radius: 50%;
background: #ddd;
margin-top:1px;
}
.cr-slider:focus::-ms-fill-lower {
background: rgba(0, 0, 0, 0.5);
}
.cr-slider:focus::-ms-fill-upper {
background: rgba(0, 0, 0, 0.5);
}
/*******************************************/

/***********************************/
/* Rotation Tools */
/***********************************/
.cr-rotate-controls {
position: absolute;
bottom: 5px;
left: 5px;
z-index: 1;
}
.cr-rotate-controls button {
border: 0;
background: none;
}
.cr-rotate-controls i:before {
display: inline-block;
font-style: normal;
font-weight: 900;
font-size: 22px;
}
.cr-rotate-l i:before {
content: '↺';
}
.cr-rotate-r i:before {
content: '↻';
}


.containerIA {
  max-width: 1000px;
  margin: 0 auto;
  height: 80vh;
  display: flex;
  flex-direction: column;
}

.headerIA {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  background-color: var(--bg-colorIA);
  border-bottom: 1px solid var(--border-colorIA);
  box-shadow: var(--shadow-smIA);
}

.header-titleIA {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.header-titleIA h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--main-color);
}

.bot-statusIA {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--text-secondaryIA);
}

.status-indicatorIA {
  width: 8px;
  height: 8px;
  background: #dc3545;
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.2); opacity: 0.7; }
  100% { transform: scale(1); opacity: 1; }
}

.controlsIA {
  display: flex;
  gap: 1rem;
}

.theme-toggleIA {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-primaryIA);
  font-size: 1.25rem;
  padding: 0.5rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}

.theme-toggleIA:hover {
  background-color: var(--bot-message-bgIA);
}

.chat-containerIA {
  flex: 1;
  overflow-y: auto;
  padding: 2rem;
  background-color: var(--chat-bgIA);
  scroll-behavior: smooth;
}

.messageIA {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  opacity: 0;
  transform: translateY(20px);
  animation: messageAppear 0.5s ease forwards;
}

@keyframes messageAppear {
  to {
      opacity: 1;
      transform: translateY(0);
  }
}


.avatarIA {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  margin-right: 1rem;
  background: var(--primary-gradientIA);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  box-shadow: var(--shadow-mdIA);
}

.user-messageIA .avatarIA {
  background: var(--secondary-gradientIA);
}

.message-bubbleIA {
  max-width: 80%;
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  box-shadow: var(--shadow-smIA);
  line-height: 1.5;
  position: relative;
}

.bot-messageIA .message-bubbleIA {
  background-color: var(--bot-message-bgIA);
  border-top-left-radius: 0;
  color: var(--text-primaryIA);
}

.user-messageIA {
  flex-direction: row-reverse;
}

.user-messageIA .avatarIA {
  margin-right: 0;
  margin-left: 1rem;
}

.user-messageIA .message-bubble {
  background: var(--user-message-bgIA);
  color: white;
  border-top-right-radius: 0;
}

.typing-indicator {
  display: none;
  padding: 1rem 1.5rem;
  background-color: var(--bot-message-bgIA);
  border-radius: 1rem;
  width: fit-content;
  margin-left: 3.5rem;
  box-shadow: var(--shadow-smIA);
}

.typing-dots {
  display: flex;
  gap: 0.4rem;
}

.typing-dot {
  width: 8px;
  height: 8px;
  background-color: var(--text-secondaryIA);
  border-radius: 50%;
  animation: typingBounce 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(1) { animation-delay: -0.32s; }
.typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes typingBounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

.input-containerIA {
  padding: 1.5rem;
  background-color: var(--bg-colorIA);
  border-top: 1px solid var(--border-colorIA);
  box-shadow: var(--shadow-lgIA);
}

.input-wrapperIA {
  display: flex;
  gap: 1rem;
  background-color: var(--chat-bgIA);
  border-radius: 1rem;
  padding: 0.5rem;
  box-shadow: var(--shadow-smIA);
}

.message-inputIA {
  flex: 1;
  padding: 0.75rem 1rem;
  border: none;
  background: none;
  color: var(--text-primaryIA);
  font-size: 1rem;
}

.message-inputIA:focus {
  outline: none;
}

.message-inputIA::placeholder {
  color: var(--text-secondaryIA);
}

.action-buttonsIA {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem;
}

.action-buttonIA {
  background: none;
  border: none;
  padding: 0.75rem;
  color: var(--text-secondaryIA);
  cursor: pointer;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}

.action-buttonIA:hover {
  background-color: var(--bot-message-bgIA);
  color: var(--text-primary);
}

.send-buttonIA {
  background: var(--primary-gradientIA);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.send-buttonIA:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .containerIA {
      height: 100dvh;
  }

  .header-titleIA h1 {
      font-size: 1.25rem;
  }

  .chat-containerIA {
      padding: 1rem;
  }

  .message-bubbleIA {
      max-width: 85%;
  }

  .input-containerIA {
      padding: 1rem;
  }
}

@media screen and (max-width: 600px) {
  .input-wrapperIA{
    flex-direction: column;
  }

  .action-buttonsIA {
    justify-content: flex-end;
  }

}

.circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: white;
  font-weight: bold;
  margin: 0 auto;
}

.circle-green {
  background-color: #28a745; /* Verde */
  box-shadow: 0 0 5px rgba(40, 167, 69, 0.5);
}

.circle-red {
  background-color: #dc3545; /* Rojo */
  box-shadow: 0 0 5px rgba(220, 53, 69, 0.5);
}

/* Estilo para la llave de agrupación */
.group-bracket {
  font-family: sans-serif;
  font-size: 50px;
  color: #6c757d;
  font-weight: 100;
  display: inline-block;
  line-height: 1;
  transform: scaleY(1);
  margin-left: 3px;
  margin-top: -10px;
}

/* Contenedor del número en la primera columna */
.grouped-row {
  position: relative;
}

/* Agrega la llave en la primera celda de cada grupo */
.grouped-row::before {
  content: "";
  position: absolute;
  left: -10px; /* Ajusta según necesidad */
  top: 0;
  height: 100%;
  width: 5px;
  border-left: 3px solid #28a745; /* Color de la llave */
  border-radius: 5px; /* Suaviza los bordes */
}


.item.oculto {
  display: none;
}



.toggle-btn {
  background-color: transparent;
  color: #007bff;
  border: none;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  padding: 0.75rem 1rem;
  width: 100%;
  text-align: left;
  transition: color 0.2s ease;
}

.toggle-btn:hover {
  color: #0056b3;
  text-decoration: underline;
}




.usuario-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
  padding: 0 1rem;
}

.usuario-card {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  margin-top: 8px;
}

.usuario-card:hover {
  transform: translateY(-3px);
}

.usuario-header {
  display: flex;
  align-items: center;
  background: #f6f8fa;
  padding: 1rem;
  gap: 1rem;
}

.usuario-header img {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  background: #ccc;
}

.usuario-header .nombre {
  font-weight: bold;
  font-size: 1rem;
  color: #2c3e50;
}

.usuario-header .login {
  font-size: 0.8rem;
  color: #888;
}

.usuario-detalles {
  padding: 1rem;
  border-top: 1px solid #eee;
}

.usuario-detalles .item {
  font-size: 0.875rem;
  padding: 0.25rem 0;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #f1f1f1;
}

.usuario-detalles .item:last-child {
  border-bottom: none;
}

.usuario-detalles .fecha {
  color: #333;
  font-weight: 500;
}

.usuario-detalles .valor {
  color: #2c3e50;
  font-weight: bold;
}



.usuario-card {
  border-left: 6px solid #ccc;
  position: relative;
}

.usuario-card.bajo {
  border-color: #2ecc71; /* verde */
}

.usuario-card.medio {
  border-color: #f1c40f; /* amarillo */
}

.usuario-card.alto {
  border-color: #e74c3c; /* rojo */
}

.usuario-card .barra-total {
  position: relative;
  background: #ecf0f1;
  height: 8px;
  border-radius: 5px;
  margin: 0.5rem 1rem;
  overflow: hidden;
}

.usuario-card .barra-total .fill {
  height: 100%;
  background: #3498db;
  border-radius: 5px;
  transition: width 0.5s ease;
}

.form-floating>label {
  top: -2px;
}

/* 1. Inputs en dark mode */
html.dark .form-control,
html.dark .form-select,
html.dark input[type="date"] {
  background-color: #1f2937; /* gris muy oscuro */
  color: #f1f5f9; /* texto claro */
  border-color: #374151; /* gris medio */
}

/* 3. Estilo para labels flotantes */
html.dark .form-floating > label {
  color: #cbd5e1;
}

/* 4. Mejorar enfoque */
html.dark .form-control:focus,
html.dark .form-select:focus,
html.dark input[type="date"]:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);
}



.mes-panel-resumen {
  text-align: right;
}
.mes-panel-resumen .item {
  display: flex;
  justify-content: space-between;
  padding-left: 15px;
  line-height: normal;
  font-size: 15px;
}
.mes-panel-resumen .item span {
  display: inline-block;
  min-width: 140px;
}


@media screen and (max-width: 1605px) {

  .mes-panel-resumen .item {
    display: flex;
    justify-content: space-between;
    padding-left: 0px;
    line-height: normal;
    font-size: 13px;
  }
  .mes-panel-resumen .item span {
    display: inline-block;
    min-width: 0px;
  }

}


@media screen and (max-width: 1024px) {

  .mes-panel-resumen .item {
    display: flex;
    justify-content: space-between;
    padding-left: 0px;
    line-height: normal;
    font-size: 12px;
  }
  .mes-panel-resumen .item span {
    display: inline-block;
    min-width: 0px;
  }




}

@media screen and (max-width: 1023px) {
  table td.dia_adelanto:before {
    color: #000; /* o black */
  }

}





.loader-line {
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, rgba(255,193,7,0.2) 0%, rgba(255,193,7,0.5) 50%, rgba(255,193,7,0.2) 100%);
  background-size: 200% auto;
  animation: slide-line 1.2s linear infinite;
  border-radius: 2px;
}

@keyframes slide-line {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}


.rotate {
  display: inline-block;
  transition: transform 0.3s ease;
}

.offcanvas-end {
  width: 60vw !important; /* o 800px si preferís */
  max-width: 100vw;
}

.offcanvas-xl {
  width: 75vw !important;
}


@media (max-width: 576px) {
  .offcanvas-end {
    width: 100vw !important;
    max-width: 100vw;
  }
}

@media (max-width: 576px) {
  .offcanvas-full-mobile {
    width: 100vw !important;
  }
}

.offcanvas {
      background-color: var(--modal-background) !important;
}

.offcanvas-title{
    color: var(--main-color);
}

.offcanvas-footer {
  background-color: inherit;
}





.camion-alerta {
  position: absolute;
  bottom: 3px;
  right: 4px;
  font-size: 0.65rem;
  opacity: 0.9;
  /*animation: moverCamion 2.8s ease-in-out infinite;*/
}

@keyframes moverCamion {
  0%, 100% { transform: translateX(-10); }
  50% { transform: translateX(1px); }
}

#visor-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
}

.visor-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 1;
}

.visor-contenido {
  position: relative;
  z-index: 2;
  text-align: center;
}

.visor-close {
  position: absolute;
  top: -20px;
  right: -20px;
  background: rgba(0, 0, 0, 0.2);
  color: #ffffff;
  border: none;
  font-size: 1.4rem;
  font-weight: bold;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 3;
  backdrop-filter: blur(4px);
  transition: background 0.2s ease;
}

.visor-close:hover {
  background: rgba(0, 0, 0, 0.35);
}

#visor-img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  transition: transform 0.3s ease;
  cursor: grab;
  z-index: 2;
}

.visor-controles {
  margin-top: 12px;
  z-index: 3;
  position: relative;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.visor-controles button {
  background: rgba(0, 0, 0, 0.2);
  color: #ffffff;
  border: none;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  backdrop-filter: blur(4px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.visor-controles button:hover {
  background: rgba(0, 0, 0, 0.35);
  transform: scale(1.05);
}

.progress-bar.bg-low {
  background-color: #dc3545; /* rojo */
}
.progress-bar.bg-mid {
  background-color: #ffc107; /* amarillo */
}
.progress-bar.bg-high {
  background-color: #28a745; /* verde */
}

.cabeceraEncuestaOffcanvas{
  color: var(--color_table) !important;
  font-size: 1.125rem;
}


/*
   @font-face {
    font-family: 'Bariol Light';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Light'), url('../fonts/bariol/bariol_light-webfont.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Bariol Light Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Light Italic'), url('../fonts/bariol/bariol_light_italic-webfont.woff') format('woff');
    }

    
    @font-face {
    font-family: 'Bariol Regular Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Regular Italic'), url('../fonts/bariol/bariol_regular_italic-webfont.woff') format('woff');
    }

    @font-face {
    font-family: 'Bariol Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Regular'), url('../fonts/bariol/bariol_regular-webfont.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Bariol Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Bold'), url('../fonts/bariol/bariol_bold-webfont.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Bariol Bold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Bariol Bold Italic'), url('../fonts/bariol/bariol_bold_italic-webfont.woff') format('woff');
    }*/


/* Oculta ambos íconos por defecto */
.icon-theme {
  display: none;
}

/* Modo claro: mostrar luna */
html:not(.dark) .mode-switch .moon {
  display: inline;
}

/* Modo oscuro: mostrar sol */
html.dark .mode-switch .sun {
  display: inline;
}


.version-label {
  position: fixed;
  bottom: 12px;
  right: 20px;
  font-size: 0.75rem;
  color: #999;
  opacity: 0.7;
  z-index: 999;
  font-weight: 500;
  user-select: none;
}
html.dark .version-label {
  color: #ccc;
}


.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease-out forwards;
}

.fade-in-down {
  opacity: 0;
  transform: translateY(-20px);
  animation: fadeInDown 0.6s ease-out forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.stacked-img {
  border: 2px solid white;
  box-shadow: 0 0 3px rgba(0,0,0,0.1);
  border-radius: 5px;
  transition: transform 0.2s ease;
}
.stacked-img:hover {
  transform: scale(1.1);
  z-index: 99 !important;
}

.large{
  font-size: 14px;
}


.badge-soft-orange { background: rgba(253,126,20,.15); color:#fd7e14; }
.badge-soft-yellow { background: rgba(255,193,7,.20); color:#e0a800; }

.bg-primary-subtle{
    color: #dc3545;
    background: #ffdcdce8;
}

.bg-primary-totalReg{
    color: #4154f1;
    background: #f6f6fe;
}

.solo-excel {
  display: none;
}

.gapDestacado{
    padding-right: calc(0.2rem * .5);
    padding-left: calc(0.2rem * .5);
}
