@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;
}
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f6f6f6;
}
::-webkit-scrollbar-thumb {
  background: #bcbcbc;
}
::-webkit-scrollbar-thumb:hover {
  -webkit-filter: brightness(118%); /* Safari 6.0 - 9.0 */
  filter: brightness(118%);
}
::-moz-selection {
  /* Code for Firefox */

  color: white;
  background: #8ba1eb;
}
::selection {
  color: white;
  background: #77a5db;
}

.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;
  font-family: "Montserrat", sans-serif;
}
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;
}
body.darkmode {
  background-color: #344D76;
}

/* ------------------------------------------------------------------------------------------ */
/* Calendar --------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

.calendar-container {
  margin: 0 auto;
  text-align: center;
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  gap: 16px;
}
.calendar-header button{
  flex-shrink: 0;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 16px;
}

.calendar-grid div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 10px;
  text-align: center;
  border-radius: 6px;
  font-weight: 700;
  color: rgba(53, 99, 160, 1);
  background-color: rgba(53, 99, 160, 0.04);
  cursor: pointer;
}
.calendar-grid div:hover{
  transform: scale(1.1);
}

.calendar-grid .header {
  font-weight: bold;
  background-color: transparent;
  color: rgba(53, 99, 160, 1);
  
}

.calendar-grid .highlight {
  background-color: rgba(53, 99, 160, 1);
  color: #fff;
}

.calendar-grid .editable-highlight {
  background-color: #28a745;
  color: #fff;
}

.calendar-grid .selected-start, .calendar-grid .selected-end {
  font-weight: bold;
}

.calendar-grid .prev-month, .calendar-grid .next-month {
  background-color: transparent;
  opacity: 0.5;
}


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

a {
  text-decoration: none;
  font-size: 16px;
  color: inherit;
  cursor: pointer;
}
p {
  font-size: 16px;
  color: #4d4d4d;
}
h2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 32px;
  line-height: 50px;
  color: #365382;
  font-weight: 600;
  text-align: center;
}
h2 img {
  margin: 0 16px 0 0;
}
h3 {
  font-size: 16px;
  margin: 0;
  padding: 0;
  color: #365382;
  font-weight: 700;
}
h4 {
  font-size: 16px;
  font-weight: 400;
}
header {
  font-size: 54px;
  text-align: center;
  margin-bottom: 64px;
  color: #314a63;
}
.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;
}
.form_warning_big a{
  text-decoration: underline;
}

/* ------------------------------------------------------------------------------------------ */
/* Server Message --------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

.contentCentered{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.serverMessage {
  display: flex;
  width: 700px;
  gap: 32px;
  margin: 64px 0 0 0;
  background-color: #fff;
  border: 1px solid #EEEEEE;
  border-radius: 4px;
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.06);
  padding: 24px 32px;
}
.serverMessage .title {
  display: flex;
  max-width: 512px;
  flex-direction: column;
  gap: 24px;
  justify-content: center;
  align-items: flex-start;
}
.serverMessage h2 {
  line-height: 44px;
  font-weight: 600;
  text-align: left;
}
.serverMessage p {
  margin: 0 !important;
  color: #314a63;
  text-align: left;
}
.serverMessage .icon {
  width: 100%;
  max-width: 180px;
  aspect-ratio: 1 / 1;
  filter: invert(29%) sepia(5%) saturate(6630%) hue-rotate(169deg) brightness(66%) contrast(73%);
}
@media only all and (max-width: 790px) {
  .serverMessage {
    margin: 64px 0 0 0;
    flex-direction: column;
  }
  .serverMessage .title {
    align-items: center;
  }
  .serverMessage .icon {
    max-width: 256px;
  }
  .serverMessage h2,
  .serverMessage p {
    text-align: center;
  }
}

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

.blue{
  color: #000;
  filter: invert(26%) sepia(89%) saturate(391%) hue-rotate(178deg) brightness(92%) contrast(86%);
}
.green{
  color: #000;
  filter: invert(57%) sepia(10%) saturate(3112%) hue-rotate(78deg) brightness(101%) contrast(66%);
}
.red{
  color: #000;
  filter: invert(32%) sepia(12%) saturate(3666%) hue-rotate(316deg) brightness(126%) contrast(71%);
}
.yellow{
  color: #000;
  filter: invert(73%) sepia(42%) saturate(883%) hue-rotate(338deg) brightness(98%) contrast(86%);
}
.orange{
  color: #000;
  filter: invert(76%) sepia(23%) saturate(4272%) hue-rotate(332deg) brightness(99%) contrast(89%);
}
.purple{
  color: #000;
  filter: invert(30%) sepia(76%) saturate(379%) hue-rotate(240deg) brightness(88%) contrast(85%);
}
.dark_gray{
  color: #000;
  filter: invert(26%) sepia(0%) saturate(2005%) hue-rotate(156deg) brightness(88%) contrast(86%);
}
.marine_blue{
  color: #000;
  filter: invert(68%) sepia(24%) saturate(575%) hue-rotate(142deg) brightness(91%) contrast(88%);
}

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

div[data-toggle="modal"] {
  cursor: pointer;
}
button {
  display: flex;
  height: 44px;
  width: auto;
  color: white;
  background-color: #365382;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0px 6px 6px 0px rgba(88, 129, 137, 0.04);
  padding: 0 16px;
  border-radius: 4px;
  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:hover,
.btn-submit:hover {
  background-color: #284574;
  text-decoration: none !important;
  box-shadow: 0px 6px 6px 0px rgba(88, 129, 137, 0.24);
}
button img {
  filter: invert(77%) sepia(15%) saturate(631%) hue-rotate(180deg) brightness(105%) contrast(101%);
  pointer-events: none !important;
}
button.continue{
  position: relative;
}
button.continue::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;
  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.tiny{
  height: fit-content;
  width: fit-content;
  background-color: transparent;
  box-shadow: none;
  border: none;
  color: #444444;
}
button.tiny img{
  filter: invert(26%) sepia(55%) saturate(0%) hue-rotate(259deg) brightness(76%) contrast(83%);
}
button.whatsapp{
  background-color: #5ab96a;
  height: 52px;
}
button.whatsapp img{
  filter: invert(89%) sepia(23%) saturate(117%) hue-rotate(95deg) brightness(103%) contrast(107%);
}
button.blue_gray{
  background-color: #9EAFC6;
}
button.small{
  height: 28px;
  width: fit-content;
  background-color: rgba(0, 0, 0, 0.04);
  box-shadow: none;
  font-size: 11px;
  text-transform: uppercase;
  padding: 0px 10px;
  border: none;
  color: #6D6D6D;
}
button.small img{
  height: 20px;
  width: 20px;
  filter: invert(43%) sepia(4%) saturate(0%) hue-rotate(146deg) brightness(99%) contrast(96%);
}
button:hover{
  text-decoration: underline;
}
button:disabled{
  opacity: 0.24;
  cursor: not-allowed;
}
button.back {
  color: #000;
  border: 1px solid rgba(0,0,0,0.24);
  background-color: rgba(0,0,0,0.14);
  background-image: url('../assets/icons/chevron_left.svg');
  background-repeat: no-repeat;
  filter: invert(29%) sepia(5%) saturate(6630%) hue-rotate(169deg) brightness(66%) contrast(73%);
  background-position: 4px;
  padding: 0 12px 0 28px;
}
button.warning{
  background-color: #D78B60;
}
button.warning img{
  filter: invert(1);
}
button.warning::after{
  content: '';
  background: none;
}
button.success{
  background-color: #518E76;
}
button.success img{
  filter: invert(97%) sepia(78%) saturate(302%) hue-rotate(69deg) brightness(102%) contrast(104%);
}
button.success::after{
  content: '';
  background: none;
}
button.btn_gray{
  background-color: #EEEEEE;
  border: none;
  color: #636363;
}
button.btn_gray:hover{
  background-color: #EEEEEE;
}
button.btn_gray img{
  filter: invert(1);
}
button.btn_red{
  background-color: #C65959;
  border: none;
  color: #fff;
}
button.btn_red:hover{
  background-color: #ac4747;
}
button.btn_red img{
  filter: invert(1);
}
.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 14px 10px 34px;
  font-size: 14px;
  color: #6D6D6D;
  cursor: pointer;
}
.valueList li::after{
  position: absolute;
  content: '';
  height: 24px;
  width: 24px;
  left: 6px;
  opacity: 0.32;
  background-image: url('../assets/icons/cancel.svg');
  background-position: left center;
  background-origin: border-box;
  background-repeat: no-repeat;
}
button.addValueBtn{
  height: 28px;
  width: fit-content;
  aspect-ratio: unset !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: #6D6D6D;
  right: 0;
}
button.addValueBtn img{
  filter: invert(40%) sepia(0%) saturate(384%) hue-rotate(153deg) brightness(104%) contrast(84%);
}

@media only all and (max-width: 680px) {
  .form-select,
  .form-select select,
  button{
    height: 50px;
  }
}

/* ------------------------------------------------------------------------------------------ */
/* Custom Scrollbar ------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

/* Styles for the scrollbar */
div::-webkit-scrollbar {
  width: 8px;
  background: transparent;
  transition: opacity 0.3s ease;
}
div::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.0);
  border-radius: 6px;
}
div:hover div::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.024);
}
div::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.028);
  border-radius: 6px;
}
div:hover div::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.10);
}
@keyframes bounce-horizontal {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); } /* Adjust the translateX value based on desired bounce distance */
}

@keyframes bounce-vertical {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(10px); } /* Adjust the translateY value based on desired bounce distance */
}

.bounce-effect {
  animation-duration: 300ms;
  animation-timing-function: ease-out;
}

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

[data-tooltip] {
  position: relative;
  cursor: pointer;
}
.custom-tooltip {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  color: #444444;
  border: solid 1px #d6d6d6;
  text-align: center;
  -webkit-box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.04);
  -moz-box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.04);
  box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.04);
  padding: 8px;
  font-size: 14px;
  border-radius: 4px;
  z-index: 1000;
  max-width: 200px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.custom-tooltip::after{
  position: absolute;
  content: '';
  height: 10px;
  width: 10px;
  top: 0;
  background-color: #fff;
  border-top: solid 1px #d6d6d6;
  border-left: solid 1px #d6d6d6;
  transform: rotate(45deg);
  margin-top: -6px;
}

/* ------------------------------------------------------------------------------------------ */
/* 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{
  filter: invert(18%) sepia(84%) saturate(2981%) hue-rotate(349deg) brightness(94%) contrast(88%) !important;
}
.thumb_lime{
  filter: invert(61%) sepia(61%) saturate(345%) hue-rotate(107deg) brightness(92%) contrast(93%) !important;
}
.thumb_green{
  filter: invert(60%) sepia(9%) saturate(6963%) hue-rotate(78deg) brightness(93%) contrast(55%) !important;
}
.thumb_orange{
  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%;
  }
}

/* ------------------------------------------------------------------------------------------ */
/* Loading ---------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

#loadingPage {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #283e54;
  gap: 16px;
}
#loadingPage .top {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
}
#loadingPage #loadingProgressBar{
  height: 8px;
  width: 100%;
  background-color: #d6d6d645;
  border-radius: 100px;
  overflow: hidden;
}
#loadingPage #loadingProgress{
  height: inherit;
  width: 0.5%;
  transition: 150ms;
  background-color: #314A63;
  border-radius: 100px;
}
#loadingPage #loadingImg {
  height: 24px;
  width: 24px;
  background-image: url("../assets/icons/hourglass_empty.svg");
  filter: invert(29%) sepia(5%) saturate(6630%) hue-rotate(169deg) brightness(66%) contrast(73%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
@keyframes rotate {
  100% {
    transform: rotateZ(180deg);
  }
}

@media only all and (max-width: 790px) {
  #loadingPage {
    width: 100%;
    max-width: 512px;
    flex-direction: column;
    align-self: center;
    text-align: center;
  }
  #loadingPage #loadingImg {
    height: 44px;
    width: 44px;
    margin-bottom: 8px;
  }
}

/* ------------------------------------------------------------------------------------------ */
/* Misc ------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------ */

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 98px;
}

@media only all and (min-width: 1698px) {
  .paddingLimit {
    padding: 0 49px;
  }
}
@media only all and (min-width: 1796px) {
  .paddingLimit {
    padding: 0 56px;
  }
}
@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: 422px) {
  .itemGrid {
    grid-gap: 16px;
  }
  .itemGrid .item {
    width: 156px;
    height: 156px;
    padding: 18px;
  }
}
@media only all and (max-width: 385px) {
  .paddingLimit {
    padding: 0 16px;
  }
}