@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --theme-app-background-image: url(../img/background.svg);
  --theme-app-white: #ffffff;
  --theme-app-black: #0a0a0a;
  --theme-app-grey-100: #f2f3f8;
  --theme-app-grey-200: #e1e1e1;
  --theme-app-grey-300: #d1d1d1;
  --theme-app-grey-400: #a9a9a9;
  --theme-app-grey-500: #808080;
  --theme-app-grey-600: #696969;
  --theme-app-grey-700: #3f3f3f;
  --theme-app-grey-800: #1d1d1d;
  --theme-app-grey-900: #0f0f0f;
  --theme-app-blue-100: #f1f3f5;
  --theme-app-blue-500: #6eb7ff;
  --theme-app-blue-600: #44a1fd;
  --theme-app-blue-700: #2390fe;
  --theme-app-blue-800: #1183f6;
  --theme-app-blue-900: #046dd6;
  --theme-app-light-text-color: var( --theme-app-grey-800 );
  --theme-app-animation-duration: .3s;
  --theme-app-gap: 0.5rem;
  --theme-app-border-radius: 0.25rem;
  --theme-app-client-color-1: #008F4C;
  --theme-app-client-color-2: #0071BC;
  --theme-app-client-color-3: #ED1C24;
  --theme-app-client-color-4: #EDC102;
  --brand-facebook-color: #4267B2;
  --brand-instagram-color: #833AB4;
  --brand-youtube-color: #FF0000;
  --brand-twitter-color: #1DA1F2;
}

.container {
  width: 100vw;
  height: 100vh;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 1fr auto;
  -ms-grid-columns: minmax(200px, auto) 1fr;
      grid-template: auto 1fr auto/minmax(200px, auto) 1fr;
  background-color: var(--theme-app-background-color);
  color: var(--theme-app-color-font);
  font-optical-sizing: auto;
  overflow: hidden;
}
.container header {
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1/4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--theme-app-gap);
  border-bottom: 1px solid var(--theme-app-grey-200);
  color: inherit;
  padding: 0 0 0 0.5rem;
  position: relative;
}
.container header .content {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto var(--theme-app-gap) 1fr;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: stretch;
  gap: var(--theme-app-gap);
  padding: 0.5rem;
}
.container header .content .menu-icon {
  display: none;
}
.container header .content .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--theme-app-gap);
}
.container header .content .logo .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: uppercase;
}
.container header .content .logo .title .upper {
  padding: 0;
  margin: 0;
}
.container header .content .logo .title .upper .preposition {
  font-size: var(--theme-app-font-size-300);
}
.container header .content .logo .title .lower {
  font-size: var(--theme-app-font-size-700);
  margin-top: -1rem;
}
.container header .content .logo img {
  width: 100%;
  max-width: 50px;
  height: auto;
}
.container header .content .data {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: var(--theme-app-gap);
}
.container header .content .data .user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-transform: uppercase;
}
.container header .content .data .user .code,
.container header .content .data .user .role,
.container header .content .data .user .name {
  font-size: var(--theme-app-font-size-200);
  color: var(--theme-app-color-font);
}
.container header .content .data .settings {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.container header .content .data .settings.is-active .avatar {
  border: 3px solid var(--theme-app-color-light-primary);
}
.container header .content .data .settings .avatar {
  width: 4rem;
  height: 4rem;
  line-height: 0;
  display: inline-block;
  border-radius: 50%;
  border: 1px solid var(--theme-app-grey-200);
  -webkit-transition: border-color var(--theme-app-animation-duration) ease-in-out, -webkit-box-shadow var(--theme-app-animation-duration) ease-in-out;
  transition: border-color var(--theme-app-animation-duration) ease-in-out, -webkit-box-shadow var(--theme-app-animation-duration) ease-in-out;
  transition: border-color var(--theme-app-animation-duration) ease-in-out, box-shadow var(--theme-app-animation-duration) ease-in-out;
  transition: border-color var(--theme-app-animation-duration) ease-in-out, box-shadow var(--theme-app-animation-duration) ease-in-out, -webkit-box-shadow var(--theme-app-animation-duration) ease-in-out;
  overflow: hidden;
  cursor: pointer;
}
.container header .content .data .settings .avatar img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.container header .content .data .settings .hanging {
  top: 4rem;
  right: 1rem;
  display: none;
}
.container header .content .data .settings .hanging[data-open=true] {
  -webkit-animation: visible var(--theme-app-animation-duration) ease-in-out normal;
          animation: visible var(--theme-app-animation-duration) ease-in-out normal;
}
.container header .content .data .settings .hanging[data-open=false] {
  -webkit-animation: invisible var(--theme-app-animation-duration) ease-in-out normal;
          animation: invisible var(--theme-app-animation-duration) ease-in-out normal;
}
.container header .content .data .settings .hanging nav {
  width: 100%;
}
.container header .content .data .settings .hanging nav ul {
  width: 100%;
}
.container header .content .data .settings .hanging nav ul li {
  width: 100%;
}
.container header .content .data .settings .hanging nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.container main {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  background-color: var(--theme-app-blue-100);
  background-image: var(--theme-app-background-image);
  background-repeat: no-repeat;
  background-size: auto 70%;
  background-position: min(550px, 100vw - 150px) 550px;
  border-left: 1px solid color-mix(in srgb, var(--theme-app-background-color) 80%, black 20%);
  color: inherit;
  overflow-y: auto;
  padding: 0.5rem;
}
.container main > .title {
  font-size: var(--theme-app-font-size-700);
  position: relative;
}
.container main > .title::after {
  content: "";
  width: 5rem;
  height: 0.15rem;
  background-color: var(--theme-app-blue-700);
  position: absolute;
  left: 0;
  bottom: -0.25rem;
}
.container main p {
  line-height: 1.75rem;
}
.container .left {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 0;
  -webkit-box-shadow: color-mix(in srgb, var(--theme-app-background-color) 90%, black 10%) 0px 30px 60px -12px inset, color-mix(in srgb, var(--theme-app-background-color) 70%, black 30%) 0px 18px 36px -18px inset;
          box-shadow: color-mix(in srgb, var(--theme-app-background-color) 90%, black 10%) 0px 30px 60px -12px inset, color-mix(in srgb, var(--theme-app-background-color) 70%, black 30%) 0px 18px 36px -18px inset;
}
.container .left .close {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--theme-app-font-size-800);
  font-weight: bold;
  text-decoration: none;
  color: inherit;
  position: fixed;
  top: 0;
  right: 0.25rem;
}
.container .left .close.is-visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.container .left .close .text {
  font-size: var(--theme-app-font-size-400);
}
.container footer {
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1/4;
  background-color: var(--theme-app-background-color);
  border-top: 1px solid var(--theme-app-grey-200);
}
.container footer .content {
  width: 100%;
  padding: 0.75rem;
}
.container footer .content .client {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--theme-app-gap) 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: stretch;
  gap: var(--theme-app-gap);
}
.container footer .content .client .media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--theme-app-gap);
}
.container footer .content .client .media .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--theme-app-gap);
}
.container footer .content .client .media .logo .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: uppercase;
}
.container footer .content .client .media .logo .title .upper {
  padding: 0;
  margin: 0;
}
.container footer .content .client .media .logo .title .upper .preposition {
  font-size: var(--theme-app-font-size-300);
}
.container footer .content .client .media .logo .title .lower {
  font-size: var(--theme-app-font-size-500);
  margin-top: -0.5rem;
}
.container footer .content .client .media .logo img {
  width: 100%;
  max-width: 50px;
  height: auto;
}
.container footer .content .client .media .social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--theme-app-gap);
}
.container footer .content .client .media .social a {
  text-decoration: none;
}
.container footer .content .client .media .social .social-icon {
  width: 26px;
  height: 26px;
  display: inline-block;
  background-color: var(--theme-app-color-font);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-transition: background-color var(--theme-app-animation-duration) ease-in-out;
  transition: background-color var(--theme-app-animation-duration) ease-in-out;
}
.container footer .content .client .media .social .social-icon.facebook {
  -webkit-mask: url("../img/social/facebook.svg");
          mask: url("../img/social/facebook.svg");
}
.container footer .content .client .media .social .social-icon.facebook:hover {
  background-color: var(--brand-facebook-color);
}
.container footer .content .client .media .social .social-icon.instagram {
  -webkit-mask: url("../img/social/instagram.svg");
          mask: url("../img/social/instagram.svg");
}
.container footer .content .client .media .social .social-icon.instagram:hover {
  background-color: var(--brand-instagram-color);
}
.container footer .content .client .media .social .social-icon.youtube {
  -webkit-mask: url("../img/social/youtube.svg");
          mask: url("../img/social/youtube.svg");
}
.container footer .content .client .media .social .social-icon.youtube:hover {
  background-color: var(--brand-youtube-color);
}
.container footer .content .client .media .social .social-icon.twitter {
  -webkit-mask: url("../img/social/twitterx.svg");
          mask: url("../img/social/twitterx.svg");
}
.container footer .content .client .media .social .social-icon.twitter:hover {
  background-color: var(--brand-twitter-color);
}
.container footer .content .client .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.container footer .content .client .information .address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  text-align: right;
}
.container footer .content .copyright {
  width: 100%;
  font-size: var(--theme-app-font-size-200);
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  color: var(--theme-app-grey-500);
}
.container footer .content .version {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: var(--theme-app-font-size-100);
}
.container .border.gradient {
  --angle: to bottom;
  --border-top-width: 0;
  --border-right-width: 0;
  --border-bottom-width: 0;
  --border-left-width: 0.15em;
  border-width: 0;
  border-style: solid;
  border-top-width: var(--border-top-width);
  border-right-width: var(--border-right-width);
  border-bottom-width: var(--border-bottom-width);
  border-left-width: var(--border-left-width);
  -o-border-image: linear-gradient(var(--angle), var(--theme-app-client-color-1), var(--theme-app-client-color-2), var(--theme-app-client-color-3), var(--theme-app-client-color-4)) 1;
     border-image: -webkit-gradient(linear, left top, left bottom, from(var(--angle)), color-stop(var(--theme-app-client-color-1)), color-stop(var(--theme-app-client-color-2)), color-stop(var(--theme-app-client-color-3)), to(var(--theme-app-client-color-4))) 1;
     border-image: linear-gradient(var(--angle), var(--theme-app-client-color-1), var(--theme-app-client-color-2), var(--theme-app-client-color-3), var(--theme-app-client-color-4)) 1;
}
.container ol, .container ul {
  list-style: none;
}
.container .notifier.inline .header {
  font-size: var(--theme-app-font-size-500);
}
.container .notifier.inline .body {
  font-size: var(--theme-app-font-size-300);
}

.anchorer .calendar {
  background-color: var(--theme-app-secondary-background-color);
  border: 1px solid var(--theme-app-background-color);
  border-radius: 0.5rem;
  -webkit-box-shadow: var(--theme-app-elevation-high);
          box-shadow: var(--theme-app-elevation-high);
}
.anchorer .calendar .header {
  border-bottom-color: color-mix(in srgb, var(--theme-app-secondary-background-color) 95%, white 5%);
}

.loader {
  width: 100vw;
  height: 100vh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(255, 255, 255, 0.4392156863);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: var(--theme-app-layer-aboveall);
}

@media (prefers-color-scheme: dark) {
  .container main {
    background-color: var(--theme-app-secondary-background-color);
  }
}
@media screen and (max-width: 768px) {
  .container {
    -ms-grid-rows: auto 1fr auto;
    -ms-grid-columns: 1fr;
        grid-template: auto 1fr auto/1fr;
  }
  .container header .content {
    -ms-grid-columns: 2rem 1fr auto;
    grid-template-columns: 2rem 1fr auto;
    justify-items: center;
  }
  .container header .content .logo img {
    display: none;
  }
  .container header .content .logo .title .upper .preposition {
    font-size: var(--theme-app-font-size-300);
  }
  .container header .content .logo .title .lower {
    font-size: var(--theme-app-font-size-500);
    margin-top: 0;
  }
  .container header .content .data .user {
    text-align: right;
  }
  .container header .content .data .user .name {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .container header .content .data .settings .avatar {
    width: 3.25rem;
    height: 3.25rem;
  }
  .container header .content .menu-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .container .left {
    display: none;
    width: 100%;
    min-height: 0;
    height: 100%;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--theme-app-background-color);
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: var(--theme-app-font-size-700);
    text-align: center;
    overflow-y: auto;
    z-index: 10;
  }
  .container .left .close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .container .left h3 {
    font-size: var(--theme-app-font-size-800);
  }
  .container .left .menu {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
  }
  .container .left .menu ul {
    width: 100%;
    height: 100vh;
  }
  .container .left .menu ul li {
    padding: 0 0.5rem;
  }
  .container .left .menu ul li a {
    -webkit-transition: font-size var(--theme-app-animation-duration) ease-in-out;
    transition: font-size var(--theme-app-animation-duration) ease-in-out;
  }
  .container .left .menu ul li:not(:active, .is-active):hover {
    background-color: transparent;
    border-radius: 0;
  }
  .container .left .menu ul li:not(:active, .is-active):hover a {
    color: inherit;
    font-weight: bold;
    font-size: calc(var(--theme-app-font-size-700) * 1.15);
  }
  .container .left .menu ul li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .container main {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    background-size: auto 50%;
    background-position: min(100px, 100vw - 150px) 550px;
    border-left: none;
  }
  .container footer {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1/4;
    background-color: var(--theme-app-background-color);
    border-top: 1px solid var(--theme-app-grey-200);
  }
  .container footer .content {
    width: 100%;
    padding: 0.75rem;
  }
  .container footer .content .client {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--theme-app-gap) 1fr;
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: stretch;
    gap: var(--theme-app-gap);
  }
  .container footer .content .client .media .logo .title .upper .preposition {
    font-size: var(--theme-app-font-size-300);
  }
  .container footer .content .client .media .logo .title .lower {
    font-size: var(--theme-app-font-size-400);
    margin-top: -0.5rem;
  }
  .container footer .content .client .media .logo img {
    width: 100%;
    max-width: 30px;
    height: auto;
  }
}
@-webkit-keyframes visible {
  from {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes visible {
  from {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes invisible {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
@keyframes invisible {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}