@charset "utf-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
::-moz-selection {
  color: #fff;
  background: var(--button-bg);
}
::selection {
  color: #fff;
  background: var(--button-bg);
}

body.darkmode ::-moz-selection {
  color: var(--button-bg);
  background: #fff;
}
body.darkmode ::selection {
  color: var(--button-bg);
  background: #fff;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.clearfix {
  display: inline-table;
}

/* Hides from IE-mac */

* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

/* End hide from IE-mac */

* {
  box-sizing: border-box;
  scroll-behavior: smooth;
  -webkit-transition: all 0.06s linear;
  -moz-transition: all 0.06s linear;
  -o-transition: all 0.06s linear;
  transition: all 0.06s linear;
  caret-color: transparent;
}
body {
  min-height: 100vh;
  float: none;
  position: relative;
  padding: 0;
  margin: 0;
  color: #434343;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
  overscroll-behavior: auto;
  overflow-x: hidden;
  background-color: var(--body-bg-light);
  -webkit-overflow-scrolling: touch;
}
body.app *{
    font-family: "Montserrat", sans-serif;
}
body.lp *{
    font-family: "Montserrat Alternates", sans-serif;
}
body.darkmode {
  background-color: var(--body-bg);
}

/* ------------------------------------------------------------------------------------------ */
/* Carousel --------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

.carousel {
  position: relative;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
}

.carousel-items {
  display: flex;
  flex-wrap: nowrap;
}

.carouselItem {
  position: absolute;
  display: flex;
  height: 100%;
  width: 100%;
  justify-content: center;
  align-items: center;
  opacity: 0;
  border: 1px solid #8097bd;
  pointer-events: none;
  transition: opacity 0.5s ease-in-out;
}
body.darkmode .carouselItem{
  border: 1px solid #8097bd;
}
.carouselItem.active{
pointer-events: all;
opacity: 1;
}
.carouselItem .bg{
  position: absolute;
  content: '';
  height: inherit;
  width: inherit;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
.carouselContent{
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: 100%;
  background: rgba(58, 79, 112, 0.85);
  background: linear-gradient(90deg,rgba(58, 79, 112, 1) 0%, rgba(58, 79, 112, 0.91) 50%, rgba(58, 79, 112, 0.72) 100%);
  padding: 24px 44px;
}
.carouselContent h3{
  font-size: 32px;
}
.carouselContent p{
  text-align: left !important;
}
.carousel-indicators {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 512px;
  backdrop-filter: blur(16px);
  border-radius: 16px;
  padding: 0 5px 0 5px;
  margin-top: 12px;
  margin-left: 12px;
  z-index: 4;
  gap: 8px;
}

.indicator {
  position: relative;
  display: flex;
  align-items: center;
  height: 16px;
  width: 100%;
  cursor: pointer;
}
.indicator::after{
position: absolute;
content: '';
left: 0;
width: 100%;
height: 6px;
background-color: #BAC6DB;
border-radius: 6px;
}

.indicator.active::after {
  background-color: var(--button-bg);
}

.carouselItem img {
  max-width: 100%;
  height: auto;
}
.carouselItem h3{
  color: #fff;
}
.carouselItem .post {
  text-align: center;
  font-size: 14px;
  margin-top: 10px;
  color: #fff;
}
.carouselItem .link{
  position: absolute;
  right: 16px;
  bottom: 16px;
}

@media only all and (max-width: 1024px) {  
  .carouselContent{
    background: rgba(58, 79, 112, 0.85);
  }
}
@media only all and (max-width: 676px) {  
  .carousel-indicators {
    max-width: calc(100% - 12px - 12px);
  }
}

/* ------------------------------------------------------------------------------------------ */
/* Texts ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

h1{
  width: 179px;
  height: 46px;
  background-image: url('../assets/logos/optipet_alt.svg');
  background-size: cover;
  background-repeat: no-repeat;
  filter: invert(1);
  color: transparent;
}
a {
  text-decoration: none;
  font-size: 14px;
  color: inherit;
  cursor: pointer;
}
p {
  font-size: 16px;
  color: #4d4d4d;
  font-family: "Montserrat", sans-serif !important;
}
.barcode{
  font-family: "Libre Barcode 128", system-ui !important;
  font-size: 44px !important;
  line-height: 18px;
  padding-top: 18px;;
}
body.darkmode p{
  color: #fff;
}
h2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 32px;
  line-height: 44px;
  color: var(--button-bg);
  font-weight: 600;
  text-align: center;
}
body.darkmode h2{
  color: #fff;
}
h2 img {
  margin: 0 16px 0 0;
}
h3 {
  font-size: 16px;
  margin: 0;
  padding: 0;
  color: var(--button-bg);
  font-weight: 700;
}
h4{
  font-weight: 600;
  font-size: 16px;
  color: var(--button-bg);
}
body.darkmode h3,
body.darkmode h4{
  color: #fff;
}
h4 {
  font-size: 16px;
  font-weight: 400;
}
header {
  font-size: 54px;
  text-align: center;
  margin-bottom: 64px;
  color: #314a63;
}
body.darkmode header{
  color: #fff;
}
body.darkmode div{
  color: #fff;
}
.form_warning_big{
  display: flex;
  width: 100%;
  max-width: 764px;
  font-size: 16px;
  border-radius: 6px;
  padding: 16px;
  border: 1px solid #C52929;
  grid-column: 1 / span 2;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
  border: 1px solid #314a63;
  gap: 8px;
}
.form_warning_big p{
  color: #314a63;
}
body.darkmode .form_warning_big p{
  color: #314a63;
}
.form_warning_big a{
  text-decoration: underline;
}

/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */
/* Context menu ----------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

.context-menu {
  position: fixed;
  display: none;
  flex-direction: column;
  width: 100%;
  max-width: 320px;
  background-color: #fff;
  border: 1px solid var(--box-border-light);
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.04);
  transition: none !important;
  padding: 12px;
  border-radius: 6px;
  z-index: 1000;
}
body.darkmode .context-menu{
  background-color: var(--box-bg);
  border: 1px solid var(--box-border);
}
.context-menu button{
  color: #1c1c1c;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  box-shadow: none;
}
body.darkmode .context-menu button{
  color: #fff;
  background-color: rgba(255, 255, 255, 0);

}
.context-menu button img,
.context-menu button.btnArrow::after{
  filter: invert(0);
  opacity: 0.32;
}
body.darkmode .context-menu button img,
body.darkmode .context-menu button.btnArrow::after{
  filter: invert(1);
  opacity: 0.32;
}
.context-menu button:hover{
  background-color: rgba(0, 0, 0, 0.024);
  color: #000;
  filter: invert(22%) sepia(37%) saturate(2248%) hue-rotate(194deg) brightness(97%) contrast(86%);
  box-shadow: none;
}
body.darkmode .context-menu button:hover{
  background-color: rgba(255, 255, 255, 0.08);
  filter: invert(0);
}

/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */
/* Colors ----------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

.brown{
  color: #000 !important;
  filter: invert(30%) sepia(11%) saturate(1668%) hue-rotate(314deg) brightness(99%) contrast(86%);
}
body.darkmode .brown{
  color: #000 !important;
  filter: invert(49%) sepia(4%) saturate(1650%) hue-rotate(314deg) brightness(89%) contrast(94%);
}
.cyan{
  color: #000 !important;
  filter: invert(76%) sepia(59%) saturate(337%) hue-rotate(119deg) brightness(99%) contrast(88%);
}
body.darkmode .cyan{
  color: #000 !important;
  filter: invert(76%) sepia(59%) saturate(337%) hue-rotate(119deg) brightness(99%) contrast(88%);
}
.blue{
  color: #000 !important;
  filter: invert(22%) sepia(37%) saturate(2248%) hue-rotate(194deg) brightness(97%) contrast(86%);
}
body.darkmode .blue{
  color: #000 !important;
  filter: invert(88%) sepia(19%) saturate(1148%) hue-rotate(181deg) brightness(100%) contrast(108%);
}
.green{
  color: #000 !important;
  filter: invert(57%) sepia(10%) saturate(3112%) hue-rotate(78deg) brightness(101%) contrast(66%);
}
body.darkmode .green{
  color: #000 !important;
  filter: invert(76%) sepia(56%) saturate(487%) hue-rotate(71deg) brightness(91%) contrast(96%);
}
.red{
  color: #000 !important;
  filter: invert(46%) sepia(15%) saturate(1878%) hue-rotate(312deg) brightness(94%) contrast(94%);
}
body.darkmode .red{
  color: #000 !important;
  filter: invert(46%) sepia(71%) saturate(828%) hue-rotate(318deg) brightness(119%) contrast(110%);
}
.yellow{
  color: #000 !important;
  filter: invert(73%) sepia(42%) saturate(883%) hue-rotate(338deg) brightness(98%) contrast(86%);
}
.orange{
  color: #000 !important;
  filter: invert(87%) sepia(40%) saturate(3473%) hue-rotate(320deg) brightness(103%) contrast(103%);
}
.purple{
  color: #000 !important;
  filter: invert(30%) sepia(76%) saturate(379%) hue-rotate(240deg) brightness(88%) contrast(85%);
}
body.darkmode .purple{
  color: #000 !important;
  filter: invert(73%) sepia(42%) saturate(2452%) hue-rotate(286deg) brightness(79%) contrast(83%);
}
body.darkmode .orange{
  color: #000 !important;
  filter: invert(60%) sepia(95%) saturate(343%) hue-rotate(337deg) brightness(102%) contrast(102%);
}
.dark_gray{
  color: #000 !important;
  filter: invert(26%) sepia(0%) saturate(2005%) hue-rotate(156deg) brightness(88%) contrast(86%);
}
.marine_blue{
  color: #000 !important;
  filter: invert(68%) sepia(24%) saturate(575%) hue-rotate(142deg) brightness(91%) contrast(88%);
}

/* ------------------------------------------------------------------------------------------ */
/* Buttons ---------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

.rotate {
  animation: rotateTwice 1s cubic-bezier(0.55, 0.1, 0.55, 0.9);
}

@keyframes rotateTwice {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(720deg);
  }
}

div[data-toggle="modal"] {
  cursor: pointer;
}
button {
  position: relative;
  display: flex;
  height: 42px;
  width: auto;
  color: white;
  background-color: var(--button-bg);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0px 6px 6px 0px rgba(88, 129, 137, 0.04);
  transition: transform 0.5s cubic-bezier(0.55, 0.1, 0.55, 0.9), border-radius 20ms;
  padding: 0 16px;
  border-radius: 4px;
  flex-shrink: 0;
  font-size: 14px;
  align-items: center;
  align-self: center;
  justify-content: flex-start;
  flex-direction: row;
  grid-column: 1 / span 2;
  cursor: pointer;
  fill: #fff;
  overflow: hidden;
  white-space: nowrap;
  text-decoration: none;
  user-select: none;
  gap: 8px;
}
button.label{
  justify-content: space-between;
  background-color: transparent !important;
  width: 100%;
  height: fit-content;
  padding: 0 !important;
  border: none !important;
}
button.label .item{
  width: 100% !important;
}
button:active {
  scale: 0.98;
  border-radius: 8px;
}
body.darkmode button{
  background-color: var(--dm-button-bg);
  color: #fff;
  box-shadow: none;
}
body.darkmode button:hover{
  background-color: #90aad3;
}
button:hover {
  background-color: #1a3767;
  text-decoration: none !important;
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.04);
}
button img {
  width: 24px;
  filter: invert(1);
  opacity: 0.64;
  pointer-events: none !important;
  flex-shrink: 0;
}
body.darkmode button img{
  opacity: 1;
}
button .counter{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  font-size: 12px;
  height: 22px;
  right: 10px;
  min-width: 26px;
  padding: 0px 4px;
  color: #fff;
  background-color: var(--button-bg);
  border: 2px solid #fff;
  border-radius: 20px;
  z-index: 2;
}
body.darkmode button .counter{
  background-color: rgba(255, 255, 255, 1);
  color: var(--button-bg);
  border: 2px solid var(--box-bg);
  font-weight: 500;
}
button.active .counter{
  border: 2px solid #E5F0FF
}
body.darkmode button.active .counter{
  background-color: #fff;
  color: var(--button-bg);
  border: 2px solid var(--dm-button-bg);
  font-weight: 500;
}
button.btnArrow .counter{
  right: calc(24px + 10px + 10px);
}
button.btnArrow{
  position: relative;
}
button.btnArrow::after{
  position: absolute;
  height: 24px;
  width: 24px;
  right: 0;
  content: '';
  background: url('../assets/icons/chevron_right.svg') no-repeat;
  box-sizing: content-box;
  padding-right: 10px;
  opacity: 0.72;
  filter: invert(1);
}
.arrow_left,
.arrow_right{
  filter: invert(27%) sepia(52%) saturate(644%) hue-rotate(169deg) brightness(93%) contrast(90%) !important;
  opacity: 0.24;
}
button.icon{
  justify-content: center;
  padding: 0 !important;
}

button.icon .btnContent{
  font-weight: 500;
  justify-content: center;
}
button.btn_transparent{
  background-color: transparent;
  box-shadow: none;
  border: none;
}
body.darkmode button.btn_transparent,
body.darkmode button.btn_transparent:hover{
  background-color: transparent;
}
button.tiny{
  height: 24px;
  width: fit-content;
  background-color: transparent;
  box-shadow: none;
  padding: 0px !important;
  border: none;
  color: #444444;
}
button.tiny:hover{
  text-decoration: underline !important;
  color: #282828;
}
body.darkmode button.tiny{
  background-color: transparent;
  color: #fff;
  opacity: 0.64;
}
body.darkmode button.tiny:hover {
  text-decoration: underline !important;
  opacity: 1;
}
button.tiny img{
  filter: invert(26%) sepia(55%) saturate(0%) hue-rotate(259deg) brightness(76%) contrast(83%);
}
body.darkmode button.tiny img{
  filter: invert(1);
}
button.whatsapp{
  background-color: #5ab96a !important;
}
button.whatsapp img{
  filter: invert(89%) sepia(23%) saturate(117%) hue-rotate(95deg) brightness(103%) contrast(107%);
}

body.darkmode button.whatsapp{
  background-color: #5ab96a !important;
}
body.darkmode button.whatsapp img{
  filter: invert(1);
}
button.blue_gray{
  background-color: #9EAFC6;
}
button.small{
  height: 36px;
  width: fit-content;
  background-color: #dae2ee;
  box-shadow: none;
  font-size: 11px;
  text-transform: uppercase;
  padding: 0px 18px;
  border: none;
  color: #1f385f;
}
button.small .btnContent{
  font-weight: 500;
}
button.small img{
  height: 20px;
  width: 20px;
  filter: invert(22%) sepia(37%) saturate(2248%) hue-rotate(194deg) brightness(97%) contrast(86%);
}
button.small:hover{
  background-color: #cbd6e8;
}
body.darkmode button.small{
  color: #fff;
  background-color: #3a4e6f;
}
body.darkmode button.small:hover{
  background-color: #556c94;
}
body.darkmode button.small img{
  filter: invert(1);
}
button:hover{
  text-decoration: underline;
}
button:disabled{
  cursor: not-allowed;
}
button.progressCursor{
  cursor: progress !important;
}
button.back {
  border: 1px solid #839ac6;
  background-color: #c9d3e6;
  padding: 0 12px 0 28px;
}
button.back::after{
  position: absolute;
  content: '';
  height: 24px;
  width: 24px;
  left: 4px;
  background-image: url('../assets/icons/chevron_left.svg');
  background-repeat: no-repeat;
  opacity: 0.64;
}
body.darkmode button.back::after{
  filter: invert(1);
}
body.darkmode button.back{
  background-color: #293345;
  border: 1px solid rgba(255,255,255,0.24);
  opacity: 0.90;
}
button.back .btnContent{
  color: rgba(0,0,0,0.64);
}
body.darkmode button.back .btnContent{
  color: #fff;
}
button.error{
  background-color: #C65959 !important;
}
body.darkmode button.error{
  background-color: #C65959 !important;
}
button.error img{
  filter: invert(1);
}
button.error::after{
  content: '';
  background: none;
}
button.small.warning{
  background-color: #d78b6066 !important;
}
button.small.warning .btnContent{
  color: #763e1e;
}
button.small.warning:hover{
  background-color: #ffb185 !important;
}
body.darkmode button.small.warning img{
  filter: invert(1) !important;
}
body.darkmode button.small.warning{
  background-color: #d78b60cf !important;
}
body.darkmode button.small.warning .btnContent{
  color: #fff;
}
button.warning{
  background-color: #D78B60 !important;
}
button.warning:hover{
  background-color: #ca7c4e !important;
}
body.darkmode button.warning{
  background-color: #D78B60 !important;
}
body.darkmode button.warning:hover{
  background-color: #ed9867 !important;
}
button.warning img{
  filter: invert(1) !important;
}
button.warning::after{
  content: '';
  background: none;
}
button.small.success {
  background-color: #a8d3c2 !important;
}
button.small.success .btnContent {
  color: #2e5043;
}
button.small.success img{
  filter: brightness(0) saturate(100%) invert(24%) sepia(50%) saturate(344%) hue-rotate(105deg) brightness(94%) contrast(87%) !important;
}

body.darkmode button.small.success {
  background-color: #518E76 !important;
}

body.darkmode button.small.success .btnContent {
  color: #fff;
}
body.darkmode button.small.success img {
  filter: invert(1) !important;
}
button.small.success:hover{
  background-color: #6bcea7 !important;
}
button.success {
  background-color: #518E76 !important;
}
button.success:hover {
  background-color: #467e68 !important;
}
body.darkmode button.success{
  background-color: #518E76 !important;
}
body.darkmode button.success:hover{
  background-color: #5fab8d !important;
}
button.success img{
  filter: invert(97%) sepia(78%) saturate(302%) hue-rotate(69deg) brightness(102%) contrast(104%) !important;
}
button.btn_gray{
  background-color: #e0e6ed;
  border: none;
  color: var(--button-bg);
}
body.darkmode button.btn_gray{
  background-color: #40526e !important;
  border: none;
  color: #fff;
}
button.btn_gray:hover{
  background-color: #d1d9e2;
}
body.darkmode button.btn_gray:hover{
  background-color: #4f627e !important;
}
button.btn_gray::after,
button.btn_gray img{
  filter: invert(22%) sepia(37%) saturate(2248%) hue-rotate(194deg) brightness(97%) contrast(86%);
}

body.darkmode button.btn_gray::after,
body.darkmode button.btn_gray img{
  filter: invert(1) !important;
}
button.btn_light_brown{
  background-color: #b4a6a6;
  border: none;
  color: #fff;
}
body.darkmode button.btn_light_brown{
  background-color: #403939;
}
button.btn_light_brown img{
  filter: invert(1);
}
button.btn_light_blue{
  background-color: #9EAFC6;
  border: none;
  color: #fff;
}
body.darkmode button.btn_light_blue{
  background-color: #DFEBFF;
  color: var(--button-bg);
}
button.btn_light_blue img{
  filter: invert(1);
}
button.btn_green{
  background-color: #4d886b;
  border: none;
  color: #fff;
}
body.darkmode button.btn_green{
  background-color: #4d886b;
  border: none;
  color: #fff;
}
button.btn_green:hover{
  background-color: #3a6f55;
}
body.darkmode button.btn_green:hover{
  background-color: #5ba380;
}
button.btn_green img{
  filter: invert(1);
}
button.btn_orange{
  background-color: #C65959;
  border: none;
  color: #fff;
}
button.btn_red{
  background-color: #C65959;
  border: none;
  color: #fff;
}
button.small.btn_red{
  background-color: #f1e1e1;
}
button.small.btn_red:hover{
  background-color: #e6cece;
}
body.darkmode button.small.btn_red{
  background-color: #854040 !important;
}
body.darkmode button.small.btn_red:hover{
  background-color: #a14a4a !important;
}
body.darkmode button.small.btn_red .btnContent,
body.darkmode button.tiny.btn_red .btnContent{
  filter: invert(0) !important;
}
body.darkmode button.btn_red{
  background-color: #C65959 !important;
  border: none;
  color: #fff;
}
button.btn_red:hover{
  background-color: #ac4747;
}
body.darkmode button.btn_red:hover{
  background-color: #f36565 !important;
}
button.btn_red img{
  filter: invert(1);
}
button.tiny.btn_red,
body.darkmode button.tiny.btn_red{
  opacity: 0.8;
  background-color: transparent !important;
}
button.tiny.btn_red:hover,
body.darkmode button.tiny.btn_red:hover{
  opacity: 1;
  background-color: transparent !important;
}
button.small.btn_red .btnContent,
button.tiny.btn_red .btnContent{
  filter: invert(51%) sepia(46%) saturate(634%) hue-rotate(314deg) brightness(79%) contrast(94%) !important;
}
body.darkmode button.tiny.btn_red .btnContent{
  filter: invert(46%) sepia(71%) saturate(828%) hue-rotate(318deg) brightness(119%) contrast(110%) !important;
}
button .progressBar{
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  height: inherit;
  width: 0%;
  background-color: #518e76;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}
button .btnContent{
  display: flex;
  flex-direction: row;
  min-height: 24px;
  min-width: 24px;
  width: fit-content;
  align-items: center;
  pointer-events: none;
  text-decoration: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 2;
  gap: 8px;
}
.searchButtons{
  position: absolute;
  display: flex;
  flex-direction: row;
  height: 44px;
  width: fit-content;
  margin-right: 8px;
  right: 0;
  gap: 10px;
}
.valueList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  column-gap: 10px;
}
.valueList li{
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  list-style-type: none;
  background-color: rgba(0, 0, 0, 0.04);
  border-radius: 4px;
  margin-top: 10px;
  padding: 10px 16px 10px 34px;
  font-size: 14px;
  color: #1c1c1c;
  cursor: pointer;
}
body.darkmode .valueList li{
  background-color: #2b3b53;
  color: #fff;
}
.valueList li::after{
  position: absolute;
  content: '';
  height: 24px;
  width: 24px;
  left: 6px;
  opacity: 0.08;
  background-image: url('../assets/icons/cancel.svg');
  background-position: left center;
  background-origin: border-box;
  background-repeat: no-repeat;
}
.valueList li:hover{
  background-color: rgba(0, 0, 0, 0.04);
}
body.darkmode .valueList li:hover{
  background-color: #394b67;
}
.valueList li:hover::after{
  opacity: 0.32;
}
body.darkmode .valueList li:hover::after{
  opacity: 0.64;
}
body.darkmode .valueList li::after{
  filter: invert(1);
}
button.addValueBtn{
  position: absolute !important;
  height: 28px;
  width: fit-content !important;
  aspect-ratio: unset !important;
  flex: 0 !important;
  background-color: rgba(0, 0, 0, 0.04);
  border: none;
  border-radius: 4px;
  padding: 10px;
  font-size: 10px;
  text-transform: uppercase;
  box-shadow: none;
  color: #1c1c1c;
  right: 0;
  top: 0;
}
button.addValueBtn img{
  filter: invert(40%) sepia(0%) saturate(384%) hue-rotate(153deg) brightness(104%) contrast(84%);
}
body.darkmode button.addValueBtn{
  background-color: #394b67;
  color: #fff;
}

@media only all and (max-width: 620px) {  
  .valueList {
    justify-content: center;
  }
  
  .valueList li{
    padding: 16px 16px 16px 34px;
  }
  .valueList li::after{
    opacity: 0.32;
  }
  button.small{
    height: 44px;
    font-size: 12px;
    padding: 0px 16px;
  }
  .form-item,
  .form-select,
  .form-select select,
  button{
    height: 52px;
  }
}
select option {
  height: 50px;
}

/* ------------------------------------------------------------------------------------------ */
/* Graph ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

.graph-container {
  position: relative;
  --line-color: #51ca9a;
  --fill-color: rgba(67, 197, 145, 0.08);
  height: 100%;
  width: 100%;
}
.graph-container canvas {
  width: 100%;
  height: 80%;
  border-radius: 12px;
}
.graph-container .dots {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;   /* ← make it match the canvas */
}
.graph-container .dot {
  position: absolute;
  width: 16px;
  height: 16px;
  cursor: pointer;
  transform: translate(-50%, -50%);
}
.graph-container .dot::after {
  position: absolute;
  content: '';
  top: 2.5px;
  left: 2.5px;
  width: 6px;
  height: 6px;
  background-color: #51ca9a;
  border: 2px solid #dae2ee;
  border-radius: 50%;
}
body.darkmode .graph-container .dot::after {
  border: 2px solid #3a4e6f;
}
.graph-container .labels {
  position: absolute;
  bottom: 16px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.graph-container .label {
  font-size: 10px;
  font-weight: 600;
  transform: rotate(-45deg);
  margin-left: -40px;
  color: var(--button-bg);
  text-transform: uppercase;
  width: fit-content;
}
body.darkmode .graph-container .label {
  color: #fff;
}

@media only all and (max-width: 458px) {
  .graph-container .labels .label {
    font-size: 8px;
  }
}

/* ------------------------------------------------------------------------------------------ */
/* Tooltips --------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

:root {
  --tt-bg: rgba(0, 0, 0, .72);
  --tt-fg: #fff;
  --tt-shadow: 0 6px 20px rgba(0, 0, 0, .25);
  --tt-radius: 6px;
}

.custom-tooltip-body {
  background: var(--tt-bg);
  color: var(--tt-fg);
  padding: 8px 10px;
  border-radius: var(--tt-radius);
  box-shadow: var(--tt-shadow);
  font-size: 14px;
  margin-top: -2px;
  line-height: 1.35;
  backdrop-filter: blur(6px);
}

/* Seta independente */
.custom-tooltip-arrow {
  pointer-events: none;
}

.custom-tooltip-arrow .shaft,
.custom-tooltip-arrow .head {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* “Haste” que liga o corpo à cabeça da seta */
.custom-tooltip-arrow .shaft {
  width: 1px;
  background: var(--tt-bg);
}

/* Triângulo */
.custom-tooltip-arrow .head {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

/* Quando o corpo está abaixo do alvo (seta aponta pra baixo) */
.custom-tooltip-arrow.down .head {
  top: 0;
  border-bottom: 8px solid var(--tt-bg);
}

.custom-tooltip-arrow.down .shaft {
  top: 8px;
  /* começa após a cabeça */
  bottom: 0;
  /* até o corpo */
}

/* Quando o corpo está acima do alvo (seta aponta pra cima) */
.custom-tooltip-arrow.up .head {
  bottom: 0;
  border-top: 8px solid var(--tt-bg);
}

.custom-tooltip-arrow.up .shaft {
  top: 0;
  bottom: 8px;
}

/* ------------------------------------------------------------------------------------------ */
/* Files ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

.filesSystem {
  display: flex;
  width: 100%;
  margin-top: 16px;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
.filesSystem .item {
  position: relative;
  display: flex;
  height: 70px;
  width: 100%;
  max-width: 374px;
  flex-direction: row;
  flex-wrap: nowrap;
  border: 1px solid #dedede;
  border-radius: 6px;
  gap: 16px;
  overflow: hidden;
}
.filesSystem .item:hover {
  border: 1px solid #707070;
}
.filesSystem .thumbnail {
  display: flex;
  height: 100%;
  width: 68px;
  border-right: 1px solid #efeff0;
  background: url("../assets/backgrounds/tempThumb.jpg") no-repeat;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}
.filesSystem .thumb_empty {
  border-right: none !important;
}
.filesSystem .thumbnail img {
  height: 32px;
  width: 32px;
}
.filesSystem .item .text {
  display: flex;
  height: inherit;
  max-width: 288px;
  flex-direction: column;
  justify-content: center;
  padding: 0 16px 0 0;
  overflow: hidden;
}
.filesSystem .item .text h5 {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filesSystem .item .text p {
  max-height: 14px;
  margin-top: 3px;
  font-size: 11px;
  overflow: hidden;
}
.filesSystem .img_spin{
  display: none;
}
.spin{
  height: 24px;
  -webkit-animation:spin 1.5s linear infinite;
  -moz-animation:spin 1.5s linear infinite;
  animation:spin 1.5s linear infinite;
}
@-moz-keyframes spin { 
  100% { -moz-transform: rotate(360deg); } 
}
@-webkit-keyframes spin { 
  100% { -webkit-transform: rotate(360deg); } 
}
@keyframes spin { 
  100% { 
    -webkit-transform: rotate(360deg); 
    transform:rotate(360deg); 
  } 
}
.filesSystem .download {
  position: absolute;
  display: flex;
  height: inherit;
  right: 0;
  padding: 0 16px 0 0;
  background-color: #fff;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  opacity: 0;
}
.filesSystem .item:hover .download {
  display: flex;
  opacity: 1;
}
.filesSystem .download:before {
  position: absolute;
  height: 100%;
  width: 64px;
  left: -64px;
  content: " ";
  background-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 1)
  );
}
.filesSystem > p {
  color: #314a63;
}
.filesSystem .download button {
  display: flex;
  height: 24px;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0) !important;
  padding: 0;
  border: 0;
  color: #314a63;
  text-indent: 4px;
  z-index: 3;
  opacity: 0.8;
}
.filesSystem .download button img {
  margin: 0 !important;
  filter: invert(25%) sepia(12%) saturate(1570%) hue-rotate(169deg) brightness(101%) contrast(94%);
}
.thumb_red{
  color: #000;
  filter: invert(18%) sepia(84%) saturate(2981%) hue-rotate(349deg) brightness(94%) contrast(88%) !important;
}
.thumb_lime{
  color: #000;
  filter: invert(61%) sepia(61%) saturate(345%) hue-rotate(107deg) brightness(92%) contrast(93%) !important;
}
.thumb_green{
  color: #000;
  filter: invert(60%) sepia(9%) saturate(6963%) hue-rotate(78deg) brightness(93%) contrast(55%) !important;
}
.thumb_orange{
  color: #000;
  filter: invert(51%) sepia(82%) saturate(2314%) hue-rotate(11deg) brightness(96%) contrast(82%) !important;
}
.filesSystem .download button:hover {
  opacity: 1;
}
@media only all and (max-width: 852px) {
  .filesSystem .item {
    display: grid;
    height: auto;
    max-width: 340px;
    grid-template-columns: 105px auto;
    grid-template-rows: auto auto;
    gap: unset;
    column-gap: 16px;
  }
  .filesSystem .item:hover {
    border: 1px solid #dedede;
  }
  .filesSystem .item .thumbnail {
    width: 105px;
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .filesSystem .item .text {
    max-width: unset;
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    padding: 16px 16px 0 0;
    overflow: visible;
  }
  .filesSystem .item .text h5 {
    white-space: unset;
    overflow: unset;
    text-overflow: unset;
    text-align: left;
  }
  .filesSystem .item .text p {
    text-align: left;
  }
  .filesSystem .item .download::before {
    display: none;
  }
  .filesSystem .item .download {
    position: unset;
    margin: 14px 16px 16px 0;
    grid-column: 2;
    grid-row: 2;
    opacity: 1;
  }
}
@media only all and (max-width: 743px) {
  .filesSystem .item {
    width: 100%;
    max-width: 100%;
  }
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

.tutorialImage{
  width: 100%;
  aspect-ratio: 2 / 1;
  border-radius: 6px;
  background-size: cover;
  margin: 24px 0px;
}
.tutorialImage.agenda_legenda{
  background-image: url('../assets/images/tutorial/agenda_legenda.jpg');
}
body.darkmode .tutorialImage.agenda_legenda{
  background-image: url('../assets/images/tutorial/agenda_legenda_darkmode.jpg');
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

#underConstruction{
  width: 100%;
  max-width: 512px;
}
.underConstruction{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}
.underConstruction .text{
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}
.underConstruction h3{
  font-size: 24px !important;
}
.underConstruction p{
  font-size: 14px !important;
}
.underConstruction img{
  height: 124px;
}
@media only all and (max-width: 620px) {
  #underConstruction{
    width: 100%;
  }
  .underConstruction{
    flex-direction: column;
  }
  .underConstruction p,
  .underConstruction h3{
    text-align: center;
  }
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

.tiledCarousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.tiledCarousel-track {
  display: flex;
  transition: transform 0.24s ease-in-out;
  padding-left: 50px;
}

.tiledCarousel-tile {
  display: inline-block;
  margin: 0 10px;
  flex-shrink: 0;
  margin-left: 24px;
  transition: transform 0.24s ease;
  cursor: pointer;
}
.tiledCarousel-tile.selected {
  margin-left: 24px;

}
.tiledCarousel-tile .tiledCarousel-title{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  min-height: 32px;
  font-size: 20px;
  transition: margin-left 0.24s ease-in-out;
  font-weight: 500;
  margin-bottom: 8px;
  gap: 16px;
}

.tiledCarousel-tile .tiledCarousel-title a{
  font-size: 20px;
  font-weight: 500;

}
.tiledCarousel-tile .tiledCarousel-title > div{
  display: flex;
  flex-direction: row;
}
.tiledCarousel-tile .tiledCarousel-title.token {
  position: relative;
  padding-left: 36px;
}
.tiledCarousel-title.token::after {
  position: absolute;
  content: '';
  height: 24px;
  width: 24px;
  left: 0;
  color: #000 !important;
  background-image: url('../assets/icons/token_FILL.svg');
  filter: invert(30%) sepia(76%) saturate(379%) hue-rotate(240deg) brightness(88%) contrast(85%);
}
body.darkmode .tiledCarousel-tile .tiledCarousel-title.token::after{
  filter: invert(73%) sepia(42%) saturate(2452%) hue-rotate(286deg) brightness(79%) contrast(83%);
}

.tiledCarousel-tile .tiledCarousel-title.token button{
  color: #000 !important;
}
body.darkmode .tiledCarousel-tile .tiledCarousel-title.token button img{
  filter: none;
  opacity: 1;
}
.tiledCarousel-tile .tiledCarousel-subtitle{
  font-size: 14px;
  margin-bottom: 16px !important;
}
.tiledCarousel-tile .tiledCarousel-subtitle a:hover{
  text-decoration: underline !important;
}
body.darkmode .tiledCarousel-tile .tiledCarousel-title{
  color: #fff;
}
.tiledCarousel-tile.selected .tiledCarousel-title a{
  font-weight: 700;
}
.tiledCarousel-tile.selected .tiledCarousel-title{
  font-weight: 700;
  margin-left: 50px;
}
.tiledCarousel-container .next-tile{
  margin-left: 24px;
}
.tiledCarousel-nav {
  position: absolute;
  display: flex;
  flex-direction: row;
  top: 0;
  color: white;
  z-index: 3;
}

.tiledCarousel-nav .tiledCarousel,
body.darkmode .tiledCarousel-nav .tiledCarousel {
  background-color: transparent;
  border: none;
  box-shadow: none;
  height: 32px;
}
.tiledCarousel-nav .tiledCarousel img,
.tiledCarousel-nav .tiledCarousel img{
  filter: none;
}
.tiledCarousel-nav .tiledCarousel:hover img{
  opacity: 1;
}
.tiledCarousel-container::after {
  content: '';
  width: 80px;
  height: 100%;
  background: linear-gradient(to right, #f9fbfd00, var(--body-bg-light));
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
}
body.darkmode .tiledCarousel-container::after{
  background: linear-gradient(to right, #222d3f00, var(--body-bg));
}

@media only all and (max-width: 706px) {
  .tiledCarousel-container::after {
    display: none;
  }
}
@media only all and (max-width: 620px) {
  #box_funcionarios .tiledCarousel-tile.selected{
    width: 100%;
    max-width: 100%;
  }
  #box_funcionarios .tiledCarousel-track{
    padding-left: 0px;
  }
  #box_funcionarios .tiledCarousel-nav button{
    height: 50px !important;
    width: 50px !important;
    padding: 0 !important;
  }
  #box_funcionarios .tiledCarousel-nav button img{
    height: 32px !important;
    width: 32px !important;
  }
  .tiledCarousel-tile .tiledCarousel-title,
  .tiledCarousel-tile.selected .tiledCarousel-title{
    margin-left: 0px;
    margin-top: 50px;
  }
  .tiledCarousel-tile.selected .tiledCarousel-subtitle{
    margin-left: 0px;
  }
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-thumb {
  background: #bcc5d3;
  border-radius: 4px;
}
body.darkmode::-webkit-scrollbar-thumb {
  background: #334159;
  border-radius: 5px;
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

.scrollbarEnabled, .scrollbarEnabledHidden {
  transition: none !important;
  -webkit-overflow-scrolling: touch !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  height: 100%;
  flex: 1 1 auto;
  max-height: 99999px;
}

.scrollbarEnabled::-webkit-scrollbar {
  width: 8px;
  background: transparent;
}

.scrollbarEnabled::-webkit-scrollbar-thumb {
  background: #dae2ee;
  border-radius: 4px;
}
body.darkmode .scrollbarEnabled::-webkit-scrollbar-thumb {
  background: #334159;
  border-radius: 4px;
}

.scrollbarEnabledHidden {
  scrollbar-width: none;
  padding: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

.scrollbarEnabledHidden::-webkit-scrollbar,
.scrollbarEnabledHidden ::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* Override for iOS: remove custom scrollbar styling and extra padding */
.ios .scrollbarEnabled,
.ios .scrollbarEnabledHidden {
  padding-right: 0; /* iOS native scrollbars don't take up space */
}

.ios .scrollbarEnabled::-webkit-scrollbar,
.ios .scrollbarEnabledHidden::-webkit-scrollbar {
  display: none !important;
}

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */

#template-container{
  position: absolute;
  height: fit-content;
  width: fit-content;
  bottom: -9000px;
  display: none;
  padding: 0;
  margin: 0;
}
img {
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.maxWidth {
  max-width: 1920px;
}
.paddingLimit {
  position: relative;
  padding: 0 64px;
}

@media only all and (min-width: 1698px) {
  .paddingLimit {
    padding: 0 49px;
  }
}
@media only all and (min-width: 1920px) {
  .paddingLimit {
    padding: 0 0px;
  }
}
@media only all and (max-width: 1024px) {
  .paddingLimit {
    padding: 0 44px;
  }
}
@media only all and (max-width: 768px) {
  .paddingLimit {
    padding: 0 24px;
  }
}
@media only all and (max-width: 385px) {
  .paddingLimit {
    padding: 0 16px;
  }
}