@charset "UTF-8";
:root {
  --modal-spacing: 1rem;
}
@media screen and (min-width: 1920px) {
  :root {
    --modal-spacing: 2rem;
  }
}

html {
  font-size: 16px;
}

body {
  font-family: var(--font-primary);
  line-height: var(--line-height-default);
  font-weight: var(--text-weight-default);
  font-size: var(--text-size-default);
  font-stretch: var(--text-width-normal);
  color: var(--neutro-9);
}

:root {
  --modal-spacing: 1rem;
}
@property --bg-angle {
  :root {
    inherits: false;
    initial-value: 0deg;
    syntax: "<angle>";
  }
}
@media screen and (min-width: 1920px) {
  :root {
    --modal-spacing: 2rem;
  }
}

:root {
  --always-white: #fff;
  --always-black: #121212;
  --white: #fff;
  --black: #121212;
  --transparent: rgba(0, 0, 0 ,0);
  --primary-1: #f4e8dc;
  --primary-2: #e4d7c4;
  --primary-3: #b6a78a;
  --primary-4: #a39278;
  --primary-5: #7e7156;
  --primary-6: #695e47;
  --primary-7: #574d39;
  --primary-8: #473f2f;
  --primary-9: #322d21;
  --primary-10: #221f17;
  --secondary-1: #e8f5e9;
  --secondary-2: #c8e6c9;
  --secondary-3: #a5d6a7;
  --secondary-4: #81c784;
  --secondary-5: #66bb6a;
  --secondary-6: #4caf50;
  --secondary-7: #43a047;
  --secondary-8: #388e3c;
  --secondary-9: #2e7d32;
  --secondary-10: #1b5e20;
  --neutro-1: #fafafa;
  --neutro-2: #f5f5f5;
  --neutro-3: #eeeeee;
  --neutro-4: #e0e0e0;
  --neutro-5: #bdbdbd;
  --neutro-6: #9e9e9e;
  --neutro-7: #757575;
  --neutro-8: #616161;
  --neutro-9: #424242;
  --neutro-10: #212121;
  --q-primary: var(--primary-7);
  --q-secondary: var(--secondary-7);
  --q-accent: $orange-5;
  --q-dark: var(--neutro-10);
  --q-dark-page: var(--neutro-9);
  --q-positive: $green-7;
  --q-negative: $red-7;
  --q-info: $blue-5;
  --q-warning: $orange-5;
}

body[data-theme=tres33] {
  --primary-1: #e3f0f9;
  --primary-2: #c8e2f3;
  --primary-3: #91c9ef;
  --primary-4: #66b6eb;
  --primary-5: #2a98e1;
  --primary-6: #2177b3;
  --primary-7: #1a5a84;
  --primary-8: #144362;
  --primary-9: #0e2f43;
  --primary-10: #091d2a;
  --secondary-1: #fff3e0;
  --secondary-2: #ffe0b2;
  --secondary-3: #ffcc80;
  --secondary-4: #ffb74d;
  --secondary-5: #ffa726;
  --secondary-6: #ff9800;
  --secondary-7: #fb8c00;
  --secondary-8: #f57c00;
  --secondary-9: #ef6c00;
  --secondary-10: #e65100;
  --q-primary: var(--primary-9);
  --q-secondary: var(--primary-3);
  --q-accent: rgb(239, 162, 104) !important;
  --q-neutral: rgb(238, 220, 207) !important;
}

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

.text-primary {
  color: var(--primary-6);
}

.text-secondary {
  color: var(--primary-6);
}

.text-accent {
  color: var(--q-accent);
}

.q-field__control, .q-item--active {
  color: var(--primary-6);
}

.theme--blue {
  --primary-1: var(--blue-1);
  --primary-2: var(--blue-2);
  --primary-3: var(--blue-3);
  --primary-4: var(--blue-4);
  --primary-5: var(--blue-5);
  --primary-6: var(--blue-6);
  --primary-7: var(--blue-7);
  --primary-8: var(--blue-8);
  --primary-9: var(--blue-9);
  --primary-10: var(--blue-10);
}
.theme--amber {
  --primary-1: var(--amber-1);
  --primary-2: var(--amber-2);
  --primary-3: var(--amber-3);
  --primary-4: var(--amber-4);
  --primary-5: var(--amber-5);
  --primary-6: var(--amber-6);
  --primary-7: var(--amber-7);
  --primary-8: var(--amber-8);
  --primary-9: var(--amber-9);
  --primary-10: var(--amber-10);
}

@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Light.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Regular.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Medium.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Montserrat-Bold.woff") format("woff");
}
:root {
  --font-primary: "Montserrat", sans-serif;
  --line-height-small: 1.25;
  --line-height-default: 1.5;
  --line-height-large: 1.75;
  --text-size-large: 1rem;
  --text-size-default: .875rem;
  --text-size-small: 0.825rem;
  --text-size-mini: 0.75rem;
  --heading-size-display: 5rem;
  --heading-size-h1: 3.5rem;
  --heading-size-h2: 3rem;
  --heading-size-h3: 2rem;
  --heading-size-h4: 1.5rem;
  --heading-size-h5: 1.25rem;
  --text-weight-black: 700;
  --text-weight-bold: 600;
  --text-weight-medium: 500;
  --text-weight-default: 400;
  --text-weight-light: 300;
  --text-width-condensed: 87.5%;
  --text-width-normal: 100%;
}
@media only screen and (min-width: 1600px) {
  :root {
    --heading-size-display: 5rem;
    --heading-size-h1: 3.5rem;
    --heading-size-h2: 3rem;
  }
}

.col:not(.q-notification__content) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.flex {
  display: flex;
}
.flex--column {
  flex-direction: column;
}
.flex--center {
  align-items: center;
  justify-content: center;
}
.flex--responsive {
  flex-direction: column;
}
@media only screen and (min-width: 1280px) {
  .flex--responsive {
    flex-direction: row;
  }
}

html {
  font-size: 16px;
}

body {
  font-family: "Montserrat", sans-serif;
  line-height: 1.5;
}

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

button,
[role=button],
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
}
button span, button svg, button img,
[role=button] span,
[role=button] svg,
[role=button] img,
input[type=button] span,
input[type=button] svg,
input[type=button] img,
input[type=reset] span,
input[type=reset] svg,
input[type=reset] img,
input[type=submit] span,
input[type=submit] svg,
input[type=submit] img {
  pointer-events: none;
}

img {
  font-style: italic;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

.h-100 {
  height: 100%;
  min-height: 100%;
}

.h-inherit {
  min-height: inherit;
  max-height: inherit;
  height: inherit;
}

.w-100 {
  width: 100%;
}

.fill-parent {
  height: 100%;
  width: 100%;
}

.complete-screen {
  min-height: 100vh;
  position: relative;
  width: 100%;
}
.complete-screen::-webkit-scrollbar {
  display: none;
}
.q-header ~ .q-page-container .complete-screen {
  min-height: calc(100vh - 65px);
}
.q-header ~ .q-page-container .complete-screen--tabs {
  min-height: calc(100vh - 65px - 60px);
}

.fixed-screen {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
}
.q-header ~ .q-page-container .fixed-screen {
  height: calc(100vh - 65px);
  top: 65px;
}

.styled-scrollbar {
  overflow-y: auto;
}
.styled-scrollbar::-webkit-scrollbar {
  width: 0.5rem;
}
.styled-scrollbar::-webkit-scrollbar-track {
  box-shadow: unset;
}
.styled-scrollbar::-webkit-scrollbar-thumb {
  background-color: lightgray;
  outline: 1px solid white;
  border-radius: 2rem;
}

.wrapper {
  width: 100%;
  max-width: 960px;
  padding: 0 2rem;
  margin: 0 auto;
  transition: all 0.5s ease-in-out;
}
@media only screen and (min-width: 1280px) {
  .wrapper {
    padding: 0;
  }
}
.wrapper--sm {
  max-width: 480px;
}
.wrapper--md {
  max-width: 560px;
}
.wrapper--form {
  max-width: 640px;
}
.wrapper--reading {
  max-width: 720px;
}
.wrapper--lg {
  max-width: 1280px;
}
@media only screen and (min-width: 1280px) {
  .wrapper--lg {
    padding: 0 2rem;
  }
}
.wrapper--xl {
  max-width: 1600px;
}
@media only screen and (min-width: 1280px) {
  .wrapper--xl {
    padding: 0 2rem;
  }
}
.wrapper--full-width {
  max-width: 1920px;
}
@media only screen and (min-width: 1280px) {
  .wrapper--full-width {
    padding: 0 2rem;
  }
}
.wrapper--no-padding {
  padding: 0 !important;
}

/* Override styles of quasar components */
a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

button,
[role=button],
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
}
button span,
button svg,
button img,
[role=button] span,
[role=button] svg,
[role=button] img,
input[type=button] span,
input[type=button] svg,
input[type=button] img,
input[type=reset] span,
input[type=reset] svg,
input[type=reset] img,
input[type=submit] span,
input[type=submit] svg,
input[type=submit] img {
  pointer-events: none;
}

img {
  font-style: italic;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

fieldset {
  padding: 0;
  border: none;
  margin-left: 0;
  margin-right: 0;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0 !important;
  white-space: normal;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}

.t-display {
  font-size: var(--heading-size-display);
  font-weight: var(--text-weight-black);
  line-height: 1.25;
}

.t-display,
h1, .t-h1,
h2, .t-h2 {
  letter-spacing: 0.5px;
}

h1, .t-h1,
h2, .t-h2,
h3, .t-h3,
h4, .t-h4,
h5, .t-h5 {
  font-weight: var(--text-weight-medium);
  line-height: 1.25;
}

h1, h2, h3, h4, h5 {
  margin: 0;
}

:is(.t-h1, .t-h2, .t-h3, .t-h4, .t-h5):not(:is(.q-mb-sm, .q-mb-md, .q-mb-lg, .q-mb-xl)) {
  margin-bottom: 0;
}

:is(.t-h1, .t-h2, .t-h3, .t-h4, .t-h5):not(:is(.q-mt-sm, .q-mt-md, .q-mt-lg, .q-mt-xl)) {
  margin-top: 0;
}

h1, .t-h1 {
  font-size: var(--heading-size-h1);
}

h2, .t-h2 {
  font-size: var(--heading-size-h2);
}

h3, .t-h3 {
  font-size: var(--heading-size-h3);
}

h4, .t-h4 {
  font-size: var(--heading-size-h4);
}

h5, .t-h5 {
  font-size: var(--heading-size-h5);
}

.t-large, .t-body1,
.t-default, .t-body2,
.t-small, .t-mini {
  font-weight: var(--text-weight-default);
  letter-spacing: 0;
  line-height: 1.5;
}

.t-large,
.t-body1 {
  font-size: var(--text-size-large);
}

.t-default,
.t-body2 {
  font-size: var(--text-size-default);
}

.t-small {
  font-size: var(--text-size-small);
  font-weight: var(--text-weight-default);
}

.t-mini {
  font-size: var(--text-size-mini);
}

.t-lh-1 {
  line-height: 1;
}

.t-bold.t-large, .t-bold.t-body1, .t-bold.t-default, .t-bold.t-body2, .t-bold.t-small, .t-bold.t-mini {
  font-weight: var(--text-weight-black) !important;
}

.t-condensed {
  font-stretch: var(--text-width-condensed);
  letter-spacing: -0.15px;
}

p {
  margin-bottom: 0;
}

p + p {
  margin-top: 1rem;
}

.q-dialog-plugin {
  width: auto;
}
.q-dialog-plugin .q-card > div:not(:last-child) {
  width: -moz-fit-content;
  width: fit-content;
}

.q-editor__toolbar-group:nth-child(2) {
  min-width: 108px;
}
.q-editor__toolbar-group:nth-child(4) {
  min-width: 133px;
}
.q-editor .q-editor__toolbar-group span.q-btn__content {
  text-transform: none;
  flex-direction: row;
  font-size: 12px;
}
.q-editor h1 {
  font-size: 28pt;
}
.q-editor h2 {
  font-size: 24pt;
}
.q-editor h3 {
  font-size: 18pt;
}
.q-editor h4 {
  font-size: 16pt;
}
.q-editor__content pre {
  display: block;
  color: var(--white);
  background-color: var(--black);
  margin: -0.5rem;
  padding: 1rem;
}
.q-editor__content pre + pre {
  padding-top: 0;
}

.fullscreen.q-editor {
  background-color: var(--neutro-1);
  max-height: none;
  flex-direction: column;
  flex-wrap: nowrap;
  overflow-y: scroll;
}
.fullscreen.q-editor .q-editor__toolbars-container {
  position: sticky;
  top: 0;
  z-index: 20;
}
.fullscreen.q-editor .q-editor__toolbar {
  background-color: var(--white);
  width: 100%;
}
.fullscreen.q-editor .q-editor__content {
  display: block;
  width: 100%;
  max-width: 720px;
  min-height: 1020px;
  background-color: var(--white);
  border: 1px solid var(--neutro-4);
  border-radius: 0.25rem;
  margin: 2rem auto 2rem auto;
  padding: 48pt 42pt;
  z-index: 10;
}

.q-layout {
  background-color: var(--neutro-1);
}

.q-field--outlined.q-textarea .q-field__control {
  padding-right: 2px;
}

.q-table {
  background-color: var(--white);
  border-collapse: collapse;
}
.q-table p, .q-table h1, .q-table h2, .q-table h3, .q-table h4, .q-table h5 {
  margin-bottom: 0;
}
.q-table th {
  line-height: 1.5;
}
.q-table td {
  line-height: 1.75;
}
.q-table th, .q-table td {
  font-size: var(--text-size-default) !important;
}
.q-table__title {
  margin: 0;
}
.q-table td::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
  background-color: var(--primary-6);
  transition: all 0.1s ease-in-out;
  opacity: 0;
}
.q-table tr:hover td::before {
  background-color: var(--primary-6);
  opacity: 0.1;
}
.q-table thead th.sortable::after {
  line-height: inherit;
  font-size: inherit;
  font-weight: var(--text-weight-medium);
  position: absolute;
  display: inline-block;
  margin-left: 0.25rem;
  transform: scale(1.25);
  transform-origin: center;
  transition: all 0.2s ease-in-out;
}
.q-table thead th.sortable:not(.sorted):hover::after {
  content: "↑";
}
.q-table thead th.sorted::after {
  content: "↑";
}
.q-table thead th.sort-desc::after {
  transform: rotate(180deg) translateY(-1px) scale(1.25);
}
.q-table__bottom-row > td {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.q-tabs .q-tab__content, .q-tabs .q-tab__content > .q-tab__label {
  font-size: var(--text-size-large);
  font-weight: var(--text-weight-medium);
}
.q-tabs .q-tab:hover {
  background-color: var(--primary-2);
}
.q-tabs .q-tab:focus {
  background-color: var(--primary-4);
}
.q-tabs .q-tab.q-tab--active {
  color: var(--primary-8) !important;
  background-color: var(--white) !important;
  border-bottom: 0 !important;
}
.q-tabs .q-tab.q-tab--active .q-focus-helper {
  display: none;
}

.q-tree__node-header-content {
  align-items: flex-start !important;
}
.q-tree__node-header {
  padding: 0.5rem;
  cursor: pointer;
  background-color: transparent;
}
.q-tree__node-header::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
  background-color: var(--primary-6);
  transition: all 0.2s ease-in-out;
  border-radius: 0.5rem;
  opacity: 0;
  pointer-events: none;
}
.q-tree__node-header:hover::after {
  opacity: 0.1;
}
.q-tree__node-header.q-focusable .q-focus-helper {
  opacity: 0 !important;
}

.q-dialog .q-dialog__inner {
  pointer-events: all !important;
}

.q-btn {
  transition: all 0.2s ease-in;
}
.q-btn:not(.q-btn--outline).bg-primary.disabled {
  background-color: var(--neutro-6) !important;
  color: var(--white);
}
.q-btn--outline.disabled {
  color: var(--neutro-6) !important;
}

/* Components */
/* Quasar components custom styles */
.q-editor--toolbar-dense .q-editor__toolbar-group > a.q-btn {
  margin: 0.5px;
}
.q-editor--toolbar-dense .q-btn-dropdown--simple * + .q-btn-dropdown__arrow {
  margin-left: 0;
}
.q-editor--toolbar-dense .q-editor__toolbar-group:nth-child(2) {
  min-width: 102px;
}
.q-editor--toolbar-dense .q-editor__toolbar-group:nth-child(4) {
  min-width: 118px;
}

.q-dialog--md .q-dialog__inner--minimized > div {
  max-width: 720px !important;
}
.q-dialog--lg .q-dialog__inner--minimized > div {
  max-width: 960px !important;
}
.q-dialog--xl .q-dialog__inner--minimized > div {
  max-width: 1280px !important;
}

.q-input--w-100 .q-field__inner > .q-field__control {
  width: 100% !important;
}
.q-input--font-bold .q-field__inner > .q-field__control {
  font-weight: bold;
}
.q-input--align-left .q-field__inner {
  align-items: flex-start;
  justify-content: flex-start;
}

/*
  q-table--sticky-header
  q-table--text-lg
  q-table--title-lg
  q-table--title-color
  q-table--title-center
  q-table--headings-center
  q-table--highlight-bottom
  q-table--no-hover-effect
*/
.q-table--sticky-header {
  height: calc(100svh - 65px - 4rem);
  max-height: 100%;
}
.q-table--sticky-header .q-table__top,
.q-table--sticky-header .q-table__bottom,
.q-table--sticky-header thead tr:first-child th {
  background-color: var(--white);
}
.q-table--sticky-header thead tr th {
  position: sticky;
  z-index: 1;
}
.q-table--sticky-header thead tr:first-child th {
  top: 0;
}
.q-table--sticky-header.q-table--loading thead tr:last-child th {
  top: 48px;
}
.q-table--sticky-header tbody {
  scroll-margin-top: 48px;
}
.q-table--text-lg th,
.q-table--text-lg td {
  font-size: var(--text-size-default) !important;
}
.q-table--title-lg .q-table__title {
  font-size: var(--heading-size-h5);
}
.q-table--title-color .q-table__top, .q-table--title-color-secondary .q-table__top {
  padding: 0.5rem 1rem;
}
.q-table--title-color .q-table__top .q-table__title, .q-table--title-color-secondary .q-table__top .q-table__title {
  font-weight: var(--text-weight-medium);
  color: var(--white);
}
.q-table--title-color .q-table__top {
  background-color: var(--primary-6);
}
.q-table--title-color-secondary .q-table__top {
  background-color: var(--secondary-8);
}
.q-table--title-center .q-table__top .q-table__control {
  justify-content: center;
  width: 100%;
}
.q-table--headings-center th {
  text-align: center !important;
}
.q-table--headings-color th {
  background-color: var(--primary-6) !important;
  color: var(--white) !important;
}
.q-table--highlight-bottom .q-table__bottom-row td {
  font-weight: var(--text-weight-bold);
}
.q-table--highlight-bottom .q-table__bottom-row td::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
  background-color: var(--primary-6);
  opacity: 0.1;
}
.q-table--no-hover-effect td::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
  background-color: transparent;
}
.q-table--no-hover-effect tr:hover > td::before {
  background-color: transparent;
}

.q-tabs--dashboard .q-tabs__content .q-tab {
  background-color: var(--neutro-2);
  border-bottom: 1px solid var(--neutro-4);
  text-transform: uppercase;
  width: 100%;
}
.q-tabs--dashboard .q-tabs__content .q-tab:not(:last-child) {
  border-right: 1px solid var(--neutro-8);
}
.q-tabs--dashboard .q-tabs__content .q-tab:first-child {
  border-radius: 0.5rem 0 0 0;
}
.q-tabs--dashboard .q-tabs__content .q-tab:last-child {
  border-radius: 0 0.5rem 0 0;
}
.q-tabs--top .q-tabs__content .q-tab__content {
  padding: 1rem 2rem;
}
.q-tabs--top .q-tabs__content .q-tab__content, .q-tabs--top .q-tabs__content .q-tab__content > .q-tab__label {
  font-size: var(--text-size-large);
  font-weight: var(--text-weight-bold);
  text-transform: none;
}
.q-tabs--color {
  background-color: var(--primary-4);
}
.q-tabs--color .q-tab:hover {
  background-color: var(--primary-6);
}
.q-tabs--color .q-tab:focus {
  background-color: var(--primary-8);
}
.q-tabs--color .q-tab__content {
  color: var(--white);
}
.q-tabs--color .q-tab--active .q-tab__content {
  background-color: rgba(255, 255, 255, 0.9) !important;
  color: var(--primary-6);
}
.q-tabs--no-indicator .q-tab__indicator {
  display: none !important;
}
.q-tabs--separator .q-tabs__content > .q-tab {
  position: relative;
}
.q-tabs--separator .q-tabs__content > .q-tab:not(:last-child)::after {
  content: "";
  height: 50%;
  width: 2px;
  background-color: var(--primary-8);
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translateY(-50%);
  z-index: 10;
}

.button {
  display: inline-block;
  border: 0;
  border-radius: 2rem;
  font-weight: var(--text-weight-black);
  padding: 0.5rem 2rem;
  transition: all 0.2s ease-in-out;
  background-color: var(--primary-6);
  color: var(--white);
  height: -moz-fit-content;
  height: fit-content;
}
.button__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.button .q-icon {
  display: inline-block;
  font-size: 1.5rem;
}
.button::first-letter {
  text-transform: uppercase;
}
.button:hover {
  background-color: var(--primary-8);
}
.button:disabled {
  background-color: var(--neutro-4);
  cursor: default;
  pointer-events: none;
}
.button:not(.button--no-focus):focus {
  box-shadow: 0 0 3px 3px var(--neutro-4);
  transition: box-shadow 0.1s ease-in-out;
}
.button:not(:disabled):hover .q-icon {
  animation: pulsate 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite both;
}
@keyframes pulsate {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.button--dense {
  padding: 0.25rem 1rem !important;
  font-weight: var(--text-weight-bold);
}
.button--dense .button__content {
  gap: 0.25rem;
}
.button--align-left .button__content {
  text-align: left;
  justify-content: flex-start;
}
.button--white {
  background-color: var(--white);
  color: var(--primary-8);
}
.button--white:hover {
  background-color: var(--primary-8);
  color: var(--white);
}
.button--secondary {
  background-color: var(--secondary-6);
  color: var(--white);
}
.button--secondary:hover {
  background-color: var(--secondary-8);
  color: var(--white);
}
.button--dark {
  background-color: var(--neutro-10);
  color: var(--white);
}
.button--dark:hover {
  background-color: var(--neutro-8);
}
.button--short {
  padding: 0.5rem 1rem !important;
}
.button--short.button--hollow {
  padding: calc(0.5rem - 2px) calc(1rem - 2px) !important;
}
.button--hollow {
  background-color: transparent;
  padding: calc(0.5rem - 2px) calc(2rem - 2px);
  border: 2px solid var(--primary-6);
  color: var(--primary-6);
}
.button--hollow:hover {
  background-color: var(--primary-6);
  border: 2px solid var(--primary-6);
  color: var(--white);
}
.button--secondary.button--hollow {
  background-color: transparent;
  border: 2px solid var(--secondary-6);
  color: var(--secondary-6);
}
.button--secondary.button--hollow:hover {
  background-color: var(--secondary-6);
  border: 2px solid var(--secondary-6);
  color: var(--white);
}
.button--dark.button--hollow {
  background-color: transparent;
  border: 2px solid var(--neutro-10);
  color: var(--neutro-10);
}
.button--dark.button--hollow:hover {
  background-color: var(--neutro-8);
  border: 2px solid var(--neutro-8);
  color: var(--white);
}
.button--quiet:hover .q-icon {
  animation: none !important;
}

.link {
  display: inline-block;
  position: relative;
  color: var(--secondary-6);
  font-weight: var(--text-weight-medium);
  cursor: pointer;
  transition: color 0.2s ease-out;
}
.link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 4px;
  background-color: var(--secondary-6);
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.2s ease-out;
}
.link:hover {
  color: var(--secondary-6);
}
.link:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}
.link:focus {
  color: var(--secondary-10);
}

button.link {
  background: none;
  border: 0;
  padding: 0;
}

.form-section {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 1rem;
}
.form-section__title {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
}
.form-section__content {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 1rem;
}
.form-group__title {
  display: block;
  width: 100%;
}
.form-group__row {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  height: -moz-fit-content;
  height: fit-content;
}
.form-group__row .form-item {
  flex: 1;
}

.form-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "label input";
  place-items: center start;
  gap: 1rem;
  width: 100%;
}
.form-item__label {
  grid-area: label;
}
.form-item__label .icon-button ~ div {
  position: absolute;
}
.form-item__input {
  grid-area: input;
  width: 100%;
}
.form-item__input .q-field__control {
  width: 100%;
}

.form-item--no-label {
  grid-template-columns: 1fr;
  grid-template-areas: "input";
}

.form-group__row--vertical > .form-item,
.form-item--vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.form-group__row--auto-width > .form-item,
.form-item--auto-width {
  grid-template-columns: auto 1fr;
}

.form-item--size-2 {
  flex: 2 !important;
}

.form-item--size-3 {
  flex: 3 !important;
}

.form-item--size-4 {
  flex: 4 !important;
}

.form-item--size-5 {
  flex: 5 !important;
}

.form-item--size-6 {
  flex: 6 !important;
}

.form-item--w-50 {
  max-width: 50%;
  padding-right: 1rem;
}

.form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  row-gap: 2rem;
  height: 100%;
  padding-right: 0.5rem;
  margin: 1rem auto 2rem auto;
  width: 100%;
}
.form__content {
  display: flex;
  flex-direction: column;
  row-gap: 4rem;
  width: 100%;
}
.form__actions {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 2rem;
  width: 100%;
}
.form__loader {
  flex: 1;
  display: flex;
  align-items: center;
}

/* //////////////// */
/* SPACING CONTROLS */
/* //////////////// */
/* /////////////////// */
/* TYPOGRAPHY CONTROLS */
/* /////////////////// */
/* //////////////// */
/* STYLING CONTROLS */
/* //////////////// */
.n-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  border-radius: 0;
  row-gap: 2.5rem;
  height: 100%;
  margin: 1rem auto 2rem auto;
  padding: 0 1rem;
  width: 100%;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  z-index: 3;
}
.n-form::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: var(--white);
  opacity: 0.925;
  z-index: 2;
}
.n-form__header, .n-form__content, .n-form__actions {
  display: flex;
  width: 100%;
  z-index: 3;
}
.n-form__header {
  flex-direction: column;
  text-align: left;
  row-gap: 0.75rem;
}
.n-form__content {
  flex-direction: column;
  row-gap: 2.5rem;
}
.n-form__actions {
  justify-content: end;
  gap: 1rem;
}

.n-form-section {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  row-gap: 0.75rem;
  position: relative;
}
.n-form-section__header, .n-form-section__content {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.n-form-section__header {
  row-gap: 0.5rem;
}
.n-form-section__content {
  row-gap: 1.25rem;
}

.n-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.n-form-group__label {
  font-size: var(--text-size-default);
  font-weight: 400;
  margin-bottom: 0.5rem;
}
.n-form-group__label--superlabel {
  font-weight: 600;
}
.n-form-group__row {
  display: flex;
  row-gap: 1.5rem;
  column-gap: 2rem;
  justify-content: space-between;
  align-items: flex-end;
  height: -moz-fit-content;
  height: fit-content;
}
.n-form-group__row .n-form-item {
  flex: 1;
}
.n-form-group__row span.inline-label {
  display: inline-block;
  align-self: flex-end;
  margin: 0 -0.5rem;
}
.n-form-group .n-form-group__label ~ .n-form-group__row .n-form-item__label {
  margin-top: 0.5rem;
  font-weight: 400;
}

.n-form-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
}
.n-form-item__label {
  font-size: var(--text-size-default);
  font-weight: 400;
}
.n-form-item__label--superlabel {
  font-weight: 600 !important;
}
.n-form-item__input {
  margin-bottom: 1rem;
}
.n-form-item__radio, .n-form-item__checkbox {
  display: flex;
  flex-direction: column;
  position: relative;
}
.n-form-item__radio.q-option-group > div:first-child, .n-form-item__radio:first-child, .n-form-item__checkbox.q-option-group > div:first-child, .n-form-item__checkbox:first-child {
  margin-top: -0.25rem;
}
.n-form-item__radio .q-checkbox,
.n-form-item__radio .q-radio, .n-form-item__checkbox .q-checkbox,
.n-form-item__checkbox .q-radio {
  margin-top: 0.75rem;
}
.n-form-item__radio .q-checkbox__label,
.n-form-item__radio .q-radio__label, .n-form-item__checkbox .q-checkbox__label,
.n-form-item__checkbox .q-radio__label {
  font-size: var(--text-size-default);
}
.n-form-item--inline {
  flex-direction: row !important;
  column-gap: 0.75rem;
  align-items: center;
}
.n-form-item--inline > .q-field {
  flex: 1;
}

.n-form-item--size-2 {
  flex: 2 !important;
}

.n-form-item--size-3 {
  flex: 3 !important;
}

.n-form-item--size-4 {
  flex: 4 !important;
}

.n-form-item--size-5 {
  flex: 5 !important;
}

.n-form-item--size-6 {
  flex: 6 !important;
}

.n-form-item--w-33 {
  max-width: calc(33% - 1rem);
}

.n-form-item--w-50 {
  max-width: calc(50% - 1rem);
}

.n-form-item--w-66 {
  max-width: calc(66% - 1rem);
}

.n-form-item--w-input-33 > .n-form-item__input {
  max-width: 33%;
}

.n-form-item--w-input-50 > .n-form-item__input {
  max-width: 50%;
}

.n-form-item--w-input-66 > .n-form-item__input {
  max-width: 66%;
}

.n-form-item--w-input-percent > .n-form-item__input {
  max-width: 12ch;
}

.n-form .q-field {
  width: 100%;
}
.n-form .q-field__control {
  background-color: var(--white);
}
.n-form .q-field .col.q-field__control-container {
  flex-direction: row !important;
}
.n-form .q-field--float.q-input .q-field__label {
  transform: translateY(-65%) scale(0.75);
}
.n-form .q-field--float.q-select .q-field__label {
  position: absolute;
  opacity: 0;
  transform: none;
  transition: all 0.2s ease-in-out;
}
.n-form .q-field--float.q-select .q-field__control-container {
  padding-top: 0 !important;
}
.n-form .q-field--with-bottom {
  padding-bottom: 0;
}
.n-form .q-field .q-field__inner {
  position: relative;
}
.n-form .q-field .q-field__inner .q-field__control {
  border-radius: 0.5rem !important;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.n-form .q-field .q-field__inner .q-field__label {
  font-size: var(--text-size-default);
  color: var(--neutro-1) 0;
}
.n-form .q-field .q-field__suffix {
  color: var(--neutro-1) 0;
  font-size: var(--text-size-mini);
  line-height: 1;
  align-items: flex-end;
}
.n-form .q-field .q-field__native {
  font-size: var(--text-size-default);
  color: var(--neutro-8);
  padding: 0.25rem 0;
}
.n-form .q-field .q-field__bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  padding-left: 0.5rem;
  padding-top: 0.25rem;
}
.n-form .q-field .q-field__bottom .q-field__messages {
  font-size: var(--text-size-mini);
  color: var(--neutro-1) 0;
  align-items: flex-start;
}

/* READ ME */
/* STRUCTURE */
/*
.form {
  &__header { optional, title and text }
  &__content {
    .form-section {
      &__header { optional, title and text }
      &__content {
        //form-section-content is a column flex containing single inputs per row (form-item), or multiple items per row (form-group)
        .form-item {
          &__label { optional }
          &__input { actual input, can be &__radio or &__checkbox &__content (for slot) depending on type of input }
          //<slot option at this level to get inside .form-item__content />

          &--inline { make label and input on the same line }
          &--size-w33 // &--size-w50 // &--size-w66 { limits max width of single input }
          &--size-2 // &--size-3 // &--size-3 // &--size-4 // &--size-5 // &--size-6 { default 1, controls flex proportion between inputs, works with more than 1 input on same row }
        }
        .form-group {
          &__label { optional, label for entire group, child inputs can also have own labels }
          &__row {
            .form-item { with same options}
            span.inline-label { optional, text in between inputs }
          }
        }
      }
    }
  }
  &__actions { required, submit, reset, agreements... }
}
*/
.basic-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding-right: 0.5rem;
}
.basic-form__content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.basic-form__title {
  margin: 2rem 0 1rem 0;
}
.basic-form__item {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "label input";
  place-items: center start;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.basic-form__item--equal-width {
  grid-template-columns: 1fr 1fr;
}
.basic-form__item--fulWidth {
  width: 100% !important;
}
.basic-form__item-label {
  grid-area: label;
}
.basic-form__item-label .icon-button ~ div {
  position: absolute;
}
.basic-form__item-input {
  grid-area: input;
  width: 100%;
}
.basic-form__item-input:not(.q-field--with-bottom) {
  padding-bottom: 1.25rem;
}
.basic-form__item-input .q-field__control {
  width: 100%;
}
.basic-form__loader {
  flex: 1;
  display: flex;
  align-items: center;
}
.basic-form__input-group {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
}
.basic-form__input-group_title {
  margin: 2rem 0 1rem 0;
  width: 100%;
}
.basic-form__input-group .basic-form__item {
  flex: 1;
}
.basic-form--vertical .basic-form__item, .basic-form .basic-form__input-group--vertical .basic-form__item,
.basic-form .basic-form__item--vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

/* content class is meant to be used to render reading text, use on article or div wrappers */
.content + .content {
  margin-top: 6rem;
}
.content__text,
.content div,
.content span,
.content p, .content ul, .content ol {
  font-size: var(--text-size-large);
  line-height: 1.5;
}
.content ul, .content ol {
  padding-left: 1rem;
  margin: 0 0 1rem 0;
}
.content ul {
  list-style-type: disc;
}
.content ul > ul {
  list-style-type: circle;
}
.content a:not(.link) {
  text-decoration: underline;
  color: blue;
}
.content p {
  margin-bottom: 1rem;
}
.content h1, .content h2, .content h3, .content h4, .content h5 {
  margin-bottom: 1rem;
}
.content p + h1, .content p + h2, .content p + h3, .content p + h4, .content p + h5,
.content ul + h1, .content ul + h2, .content ul + h3, .content ul + h4, .content ul + h5,
.content ol + h1, .content ol + h2, .content ol + h3, .content ol + h4, .content ol + h5,
.content div + h1, .content div + h2, .content div + h3, .content div + h4, .content div + h5 {
  margin-top: 3rem;
}
.content li:not(last-child) {
  margin-bottom: 1rem;
}
.content__image,
.content img {
  display: block;
  margin: 2rem auto;
  width: 100%;
}
.content .image-grid {
  margin: 2rem 0;
  gap: 2rem;
}
@media only screen and (min-width: 1280px) {
  .content .image-grid {
    justify-content: space-between;
  }
}
.content iframe {
  display: block;
  margin: 0 auto;
}
.content--spaced-lists li:not(:last-child) {
  margin-bottom: 2rem;
}
.content--images-dense img {
  margin: 0.5rem auto 1rem 0;
}

.dashboard {
  background-color: var(--white);
  position: relative;
  border: 1px solid var(--neutro-4);
  border-radius: 0.5rem;
}
.dashboard > .q-tab-panels {
  background-color: transparent;
}

.dialog {
  background-color: var(--white);
  padding: 1rem;
}
@media only screen and (min-width: 1600px) {
  .dialog {
    padding: 2rem;
  }
}

.page {
  padding: 2rem 0;
}
.page--white {
  background-color: var(--white);
}
.page--no-padding {
  padding: 0;
}

.modal-forms {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.modal-forms__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: nowrap;
  margin-bottom: 3rem;
}
.modal-forms__header .q-field {
  flex: 1;
}
.modal-forms__header .q-field .q-field__control {
  width: 100% !important;
  max-width: none !important;
}
.modal-forms__header .button {
  margin-left: 2rem;
}
.modal-forms__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-forms__tab {
  margin-top: 2rem;
  padding: 0 2rem 2rem 2rem;
  flex: 1;
  overflow-y: scroll;
}
.modal-forms__tab h4 {
  margin-bottom: 1.5rem;
}
.modal-forms__tab h5 {
  margin-bottom: 1rem;
}
.modal-forms__tab .modal-forms__content-group:not(:last-child) {
  margin-bottom: 3rem;
}
.modal-forms__tab .q-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}
.modal-forms__tab .q-list .q-field__control {
  width: 100%;
}

.modal-container .q-dialog__inner {
  padding: var(--modal-spacing);
}

.modal {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem !important;
  background-color: var(--white);
  height: calc(100vh - 2 * var(--modal-spacing)) !important;
  max-height: calc(100vh - 2 * var(--modal-spacing)) !important;
  width: 100%;
  max-width: auto !important;
}
.modal::-webkit-scrollbar {
  display: none;
}
.modal__header {
  border-bottom: 1px solid var(--neutro-4);
  background-color: var(--white);
  display: flex;
  position: sticky;
  cursor: default;
  top: 0;
  left: 0;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.5rem var(--modal-spacing);
  z-index: 1;
}
.modal__content {
  padding: var(--modal-spacing);
  width: 100%;
  height: 100%;
}
.modal__actions {
  padding: var(--modal-spacing);
  width: 100%;
}
.modal--header-color .modal__header {
  background-color: var(--secondary-8);
  color: var(--white);
  border-bottom: 0;
}
.modal--fullWidth {
  max-width: calc(100vw - 2 * var(--modal-spacing)) !important;
}
.modal--fullWidth.modal--md, .modal--md {
  max-width: 960px !important;
}
.modal--fullWidth.modal--sm, .modal--sm {
  max-width: 640px !important;
}
.modal--height-auto {
  height: auto !important;
}
.modal--inside-modal {
  max-height: calc(100vh - 4 * var(--modal-spacing)) !important;
}
.modal--inside-modal.modal--header-color .modal__header {
  background-color: var(--primary-6);
}
.modal--no-overflow .modal__content {
  overflow-y: hidden;
}
.modal--no-padding .modal__content {
  padding: 0;
}
.modal--no-padding-y .modal__content {
  padding-top: 0;
  padding-bottom: 0;
}
.modal--no-padding-x .modal__content {
  padding-left: 0;
  padding-right: 0;
}

.wysiwyg {
  font-size: 12pt;
}
.wysiwyg h1, .wysiwyg h2,
.wysiwyg h3, .wysiwyg p {
  line-height: 1.2;
}
.wysiwyg h1 {
  margin: 0 0 24px 0;
  font-size: 36px;
}
.wysiwyg h2 {
  margin: 0 0 18px 0;
  font-size: 24px;
}
.wysiwyg h3 {
  margin: 0 0 12px 0;
  font-size: 18px;
}
.wysiwyg p,
.wysiwyg div {
  margin: 0 0 12px 0;
  font-size: 12px;
}

.wysiwyg-word {
  font-family: "Calibri";
  font-size: 13pt;
  line-height: 1.2;
}
.wysiwyg-word h1, .wysiwyg-word h2,
.wysiwyg-word h3, .wysiwyg-word h4 {
  line-height: 1.2;
}
.wysiwyg-word h1 {
  margin: 0 0 12pt 0;
  font-size: 28pt;
}
.wysiwyg-word h2 {
  margin: 12pt 0 0 0;
  font-size: 16pt;
}
.wysiwyg-word h3 {
  margin: 2pt 0 0 0;
  font-size: 13pt;
}
.wysiwyg-word h4 {
  margin: 2pt 0 0 0;
  font-size: 12pt;
}
.wysiwyg-word p,
.wysiwyg-word div {
  font-size: 11pt;
  margin: 0 0 8pt 0;
}
.wysiwyg-word ul {
  list-style-type: disc;
}

/* Views */
.corporate-sustainability-tabs .q-tab__content {
  flex-direction: row;
  gap: 0.5rem;
}
.corporate-sustainability-tabs .q-tab__content .q-icon {
  display: none;
}
@media only screen and (min-width: 1280px) {
  .corporate-sustainability-tabs .q-tab__content .q-icon {
    display: block;
  }
}

.corporate-sustainability-content .chapter {
  width: 100%;
  background-color: var(--neutro-1);
}
.corporate-sustainability-content .chapter__intro {
  padding: 1.5rem 1.5rem 0 1.5rem;
}
.corporate-sustainability-content .chapter__content {
  position: relative;
  padding: 0;
}
.corporate-sustainability-content .chapter__selected-unit {
  text-align: center;
  margin-bottom: 2rem;
  padding: 0 18rem;
}
.corporate-sustainability-content .chapter__menu {
  position: absolute;
  top: 3px;
  right: 3px;
  text-transform: uppercase;
}
.corporate-sustainability-content .chapter__menu > .q-btn__content {
  flex-direction: row !important;
}
.corporate-sustainability-content .unit__content {
  padding: 0.5rem;
}
.corporate-sustainability-content .section__item,
.corporate-sustainability-content .subsection__item {
  position: relative;
}
.corporate-sustainability-content .section__item::before,
.corporate-sustainability-content .subsection__item::before {
  display: flex;
  align-items: flex-start;
  position: absolute;
  text-align: right;
  line-height: 24px;
}
.corporate-sustainability-content .section__item::marker,
.corporate-sustainability-content .subsection__item::marker {
  display: none;
}
.corporate-sustainability-content .section {
  padding-left: 0;
  list-style-type: none;
  counter-reset: section;
}
.corporate-sustainability-content .section__item {
  counter-increment: section;
}
.corporate-sustainability-content .section__item::before {
  content: counter(section, lower-alpha) ".";
  width: 24px;
  top: 10px;
  left: 0.5rem;
}
.corporate-sustainability-content .section__item .q-item {
  border-radius: 1rem !important;
  padding: 0.5rem 0.5rem 0.5rem 2rem;
}
.corporate-sustainability-content .subsection {
  list-style-type: none;
  counter-reset: subsection;
  padding-left: 1rem;
  overflow: visible;
}
.corporate-sustainability-content .subsection__item {
  counter-increment: subsection;
  margin-bottom: 2rem;
  margin-top: 0.5rem;
  padding-left: 1.25rem;
  padding-right: 0.5rem;
}
.corporate-sustainability-content .subsection__item::before {
  content: counter(subsection, lower-roman) ".";
  top: 0;
  left: 0;
  width: 24px;
}
.corporate-sustainability-content .subsection__tooltip,
.corporate-sustainability-content .subsection .infopopup-button {
  margin-left: 0.25rem;
  cursor: help;
  top: -3px;
}
.corporate-sustainability-content .subsection__form ~ .subsection__form {
  margin-top: 2rem;
}
.corporate-sustainability-content--results .section__item::before {
  top: 12px;
}
.corporate-sustainability-content--results .subsection__item {
  margin-bottom: 3rem;
}
.corporate-sustainability-content--results .subsection__item > p, .corporate-sustainability-content--results .subsection__item::before {
  font-weight: 500;
}
.corporate-sustainability-content--results .content__text {
  font-size: var(--text-size-default);
  padding: 0.75rem;
  border: 1px solid var(--neutro-2);
  border-radius: 0.5rem;
}
