:root {
  --modal-spacing: 2rem;
}

html {
  font-size: 93.75%;
}
@media only screen and (max-width: 1536px) {
  html {
    font-size: 87.5%;
  }
}
@media only screen and (max-width: 1280px) {
  html {
    font-size: 75%;
  }
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  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: 1900px) {
  :root {
    --modal-spacing: 2rem;
  }
}

:root {
  --always-white: #fff;
  --always-black: #121212;
  --white: #fff;
  --black: #121212;
  --transparent: rgba(0, 0, 0 ,0);
  --red-1: #ffebee;
  --red-2: #ffcdd2;
  --red-3: #ef9a9a;
  --red-4: #e57373;
  --red-5: #ef5350;
  --red-6: #f44336;
  --red-7: #e53935;
  --red-8: #d32f2f;
  --red-9: #c62828;
  --red-10: #b71c1c;
  --deep-purple-1: #ede7f6;
  --deep-purple-2: #d1c4e9;
  --deep-purple-3: #b39ddb;
  --deep-purple-4: #9575cd;
  --deep-purple-5: #7e57c2;
  --deep-purple-6: #673ab7;
  --deep-purple-7: #5e35b1;
  --deep-purple-8: #512da8;
  --deep-purple-9: #4527a0;
  --deep-purple-10: #311b92;
  --indigo-1: #e8eaf6;
  --indigo-2: #c5cae9;
  --indigo-3: #9fa8da;
  --indigo-4: #7986cb;
  --indigo-5: #5c6bc0;
  --indigo-6: #3f51b5;
  --indigo-7: #3949ab;
  --indigo-8: #303f9f;
  --indigo-9: #283593;
  --indigo-10: #1a237e;
  --blue-1: #e3f2fd;
  --blue-2: #bbdefb;
  --blue-3: #90caf9;
  --blue-4: #64b5f6;
  --blue-5: #42a5f5;
  --blue-6: #2196f3;
  --blue-7: #1e88e5;
  --blue-8: #1976d2;
  --blue-9: #1565c0;
  --blue-10: #0d47a1;
  --cyan-1: #e0f7fa;
  --cyan-2: #b2ebf2;
  --cyan-3: #80deea;
  --cyan-4: #4dd0e1;
  --cyan-5: #26c6da;
  --cyan-6: #00bcd4;
  --cyan-7: #00acc1;
  --cyan-8: #0097a7;
  --cyan-9: #00838f;
  --cyan-10: #006064;
  --teal-1: #e0f2f1;
  --teal-2: #b2dfdb;
  --teal-3: #80cbc4;
  --teal-4: #4db6ac;
  --teal-5: #26a69a;
  --teal-6: #009688;
  --teal-7: #00897b;
  --teal-8: #00796b;
  --teal-9: #00695c;
  --teal-10: #004d40;
  --green-1: #e8f5e9;
  --green-2: #c8e6c9;
  --green-3: #a5d6a7;
  --green-4: #81c784;
  --green-5: #66bb6a;
  --green-6: #4caf50;
  --green-7: #43a047;
  --green-8: #388e3c;
  --green-9: #2e7d32;
  --green-10: #1b5e20;
  --yellow-1: #fffde7;
  --yellow-2: #fff9c4;
  --yellow-3: #fff59d;
  --yellow-4: #fff176;
  --yellow-5: #ffee58;
  --yellow-6: #ffeb3b;
  --yellow-7: #fdd835;
  --yellow-8: #fbc02d;
  --yellow-9: #f9a825;
  --yellow-10: #f57f17;
  --amber-1: #fff8e1;
  --amber-2: #ffecb3;
  --amber-3: #ffe082;
  --amber-4: #ffd54f;
  --amber-5: #ffca28;
  --amber-6: #ffc107;
  --amber-7: #ffb300;
  --amber-8: #ffa000;
  --amber-9: #ff8f00;
  --amber-10: #ff6f00;
  --orange-1: #fff3e0;
  --orange-2: #ffe0b2;
  --orange-3: #ffcc80;
  --orange-4: #ffb74d;
  --orange-5: #ffa726;
  --orange-6: #ff9800;
  --orange-7: #fb8c00;
  --orange-8: #f57c00;
  --orange-9: #ef6c00;
  --orange-10: #e65100;
  --deep-orange-1: #fbe9e7;
  --deep-orange-2: #ffccbc;
  --deep-orange-3: #ffab91;
  --deep-orange-4: #ff8a65;
  --deep-orange-5: #ff7043;
  --deep-orange-6: #ff5722;
  --deep-orange-7: #f4511e;
  --deep-orange-8: #e64a19;
  --deep-orange-9: #d84315;
  --deep-orange-10: #bf360c;
  --blue-grey-1: #f4f7fa;
  --blue-grey-2: #eceff1;
  --blue-grey-3: #CED9E0;
  --blue-grey-4: #90a4ae;
  --blue-grey-5: #78909c;
  --blue-grey-6: #607d8b;
  --blue-grey-7: #546e7a;
  --blue-grey-8: #455a64;
  --blue-grey-9: #37474f;
  --blue-grey-10: #263238;
  --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: var(--orange-5);
  --q-dark: var(--neutro-10);
  --q-dark-page: var(--neutro-9);
  --q-positive: var(--green-7);
  --q-negative: var(--red-7);
  --q-info: var(--blue-5);
  --q-warning: var(--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;
}

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

.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);
}

.datatype-chart {
  font-family: "Datatype", sans-serif;
  font-feature-settings: "liga" 1, "calt" 1;
}
.datatype-chart--sm {
  font-size: var(--text-size-large);
}

@font-face {
  font-family: "Datatype";
  src: url("/fonts/Datatype.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 0% 100%;
  font-display: swap;
}
@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");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/OpenSans-Light.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/OpenSans-Regular.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/OpenSans-Medium.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/OpenSans-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/OpenSans-Bold.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 300;
  font-stretch: 87.5%;
  font-display: swap;
  src: url("/fonts/OpenSans_SemiCondensed-Light.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 400;
  font-stretch: 87.5%;
  font-display: swap;
  src: url("/fonts/OpenSans_SemiCondensed-Regular.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 500;
  font-stretch: 87.5%;
  font-display: swap;
  src: url("/fonts/OpenSans_SemiCondensed-Medium.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 600;
  font-stretch: 87.5%;
  font-display: swap;
  src: url("/fonts/OpenSans_SemiCondensed-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 700;
  font-stretch: 87.5%;
  font-display: swap;
  src: url("/fonts/OpenSans_SemiCondensed-Bold.woff") format("woff");
}
:root {
  --font-primary: 'Montserrat', sans-serif;
  --font-secondary: 'Montserrat', sans-serif;
  --line-height-small: 1.2;
  --line-height-default: 1.4;
  --line-height-large: 1.5;
  --text-size-large: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-size-default: 0.9375rem;
  --text-size-small: 0.875rem;
  --text-size-mini: 0.8125rem;
  --heading-size-display: clamp(3.5rem, 2.5rem + 2vw, 5rem);
  --heading-size-h1: clamp(3rem, 2.6rem + 1.2vw, 3.5rem);
  --heading-size-h2: clamp(2.25rem, 1.8rem + 1.5vw, 3rem);
  --heading-size-h3: clamp(1.75rem, 1.6rem + 0.8vw, 2rem);
  --heading-size-h4: clamp(1.35rem, 1.25rem + 0.5vw, 1.5rem);
  --heading-size-h5: clamp(1.125rem, 1rem + 0.4vw, 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: 80%;
  --text-width-normal: 100%;
  --letter-spacing-condensed: -.5px;
  --letter-spacing-expanded: 0.5px;
}

@keyframes callout {
  5% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--always-black), transparent 85%);
  }
  15% {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--always-black), transparent 85%), 0 0 0 4px color-mix(in srgb, var(--always-black), transparent 90%);
  }
  20% {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--always-black), transparent 85%), 0 0 0 6px color-mix(in srgb, var(--always-black), transparent 90%);
  }
  30% {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--always-black), transparent 85%), 0 0 0 4px color-mix(in srgb, var(--always-black), transparent 90%);
  }
  40% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--always-black), transparent 85%);
  }
  50% {
    box-shadow: 0 0 0 1px var(--transparent);
  }
}
@keyframes rotate360 {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes rotate360 {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.col:not(.q-notification__content):not(.q-btn__content):not(.q-field__messages) {
  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: row;
}
@media only screen and (max-width: 1536px) {
  .flex--responsive {
    flex-direction: column;
  }
}

.flex--gap {
  gap: 1rem;
}

.flex--gap-dense {
  gap: 0.5rem;
}

.flex--no-gap {
  gap: 0.5rem;
}

.flex--end {
  justify-content: flex-end;
}

.flex--nowrap {
  flex-wrap: nowrap;
}

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

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.flex-between--equals > * {
  flex: 1;
}

.flex-y-center {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

body[data-lang=es] [data-condensed~=es] {
  font-stretch: var(--text-width-condensed);
  letter-spacing: var(--letter-spacing-condensed);
}

body[data-lang=ca] [data-condensed~=ca] {
  font-stretch: var(--text-width-condensed);
  letter-spacing: var(--letter-spacing-condensed);
}
body[data-lang=ca] [data-condensed~=ca] .q-btn__content {
  font-stretch: var(--text-width-condensed);
  letter-spacing: var(--letter-spacing-condensed);
}

body[data-lang=en] [data-condensed~=en] {
  font-stretch: var(--text-width-condensed);
  letter-spacing: var(--letter-spacing-condensed);
}

.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 - 50px);
}
.q-header ~ .q-page-container .complete-screen--tabs {
  min-height: calc(100vh - 50px - 60px);
}

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

.styled-scrollbar {
  overflow-y: auto;
}
.styled-scrollbar::-webkit-scrollbar {
  width: 0.5rem;
}
.styled-scrollbar::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}
.styled-scrollbar::-webkit-scrollbar-track {
  box-shadow: unset;
}
.styled-scrollbar::-webkit-scrollbar-thumb {
  background-color: var(--neutro-3);
  outline: 1px solid var(--white);
  border-radius: 2rem;
}

.table-custom-scrollbar:not(.q-table__container) {
  scrollbar-gutter: stable;
}
.table-custom-scrollbar,
.table-custom-scrollbar .q-table__middle.scroll {
  overflow-y: auto;
}
.table-custom-scrollbar::-webkit-scrollbar-button,
.table-custom-scrollbar .q-table__middle.scroll::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}
.table-custom-scrollbar::-webkit-scrollbar-track,
.table-custom-scrollbar .q-table__middle.scroll::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: var(--neutro-1);
  border-radius: 0.25rem;
  width: 0.25rem;
}
.table-custom-scrollbar::-webkit-scrollbar,
.table-custom-scrollbar .q-table__middle.scroll::-webkit-scrollbar {
  background-color: var(--neutro-1);
  width: 0.25rem;
}
.table-custom-scrollbar::-webkit-scrollbar-thumb,
.table-custom-scrollbar .q-table__middle.scroll::-webkit-scrollbar-thumb {
  border-radius: 0.25rem;
  width: 0.25rem;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.33, var(--primary-6)), color-stop(0.66, var(--primary-8)));
}
.table-custom-scrollbar--neutro::-webkit-scrollbar-track,
.table-custom-scrollbar--neutro .q-table__middle.scroll::-webkit-scrollbar-track {
  background-color: var(--neutro-1);
}
.table-custom-scrollbar--neutro::-webkit-scrollbar,
.table-custom-scrollbar--neutro .q-table__middle.scroll::-webkit-scrollbar {
  background-color: var(--neutro-1);
}
.table-custom-scrollbar--neutro::-webkit-scrollbar-thumb,
.table-custom-scrollbar--neutro .q-table__middle.scroll::-webkit-scrollbar-thumb {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.33, var(--neutro-4)), color-stop(0.66, var(--neutro-6)));
}

.v-enter-active,
.v-leave-active {
  transition: opacity 0.3s ease-in-out;
}

.v-enter-from,
.v-leave-to {
  opacity: 0;
}

.slide-fade-enter-active, .slide-fade-leave-active {
  transition: all 0.3s ease-in;
}
.slide-fade-enter-from {
  transform: translateX(50px);
  opacity: 0;
}
.slide-fade-leave-to {
  transform: translateX(-50px);
  opacity: 0;
}

/* 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;
}

ul {
  list-style-type: none;
  padding-inline-start: 0;
}

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 var(--white) inset;
}

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

.t-display,
h1, .t-h1,
h2, .t-h2 {
  letter-spacing: var(--letter-spacing-expanded);
}

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

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

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

:is(.t-h1, .t-h2, .t-h3, .t-h4, .t-h5):not(:is(.q-mt-xs, .q-mt-sm, .q-mt-md, .q-mt-lg, .q-mt-xl, .q-mt-none, .q-mt-auto)) {
  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-default,
.t-small, .t-mini {
  font-weight: var(--text-weight-default);
  letter-spacing: 0;
  line-height: var(--line-height-large);
}

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

.t-default {
  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 {
  font-weight: var(--text-weight-black) !important;
}

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

p {
  margin-bottom: 0;
}

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

.q-dialog-plugin {
  width: auto;
}
.q-dialog-plugin .q-card > div:not(:last-child) {
  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: var(--line-height-large);
}
.q-table td {
  line-height: var(--line-height-large);
}
.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(--neutro-6);
  transition: all 0.1s ease-in-out;
  opacity: 0;
}
.q-table tr:hover td::before {
  background-color: var(--neutro-6);
  opacity: 0.1;
}
.q-table__bottom-row > td {
  border-top: 1px solid color-mix(in srgb, var(--always-black), transparent 88%);
}

.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-select .q-field__inner > .q-field__control {
  display: flex;
  align-items: center;
  background-color: var(--white);
  width: 100%;
}

.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: var(--text-weight-bold);
}
.q-input--align-left .q-field__inner {
  align-items: flex-start;
  justify-content: flex-start;
}
.q-input--in-table {
  height: 1.25rem;
}
.q-input--in-table.q-field--highlighted .q-field__control {
  color: transparent !important;
}
.q-input--in-table.q-field--highlighted .q-field__control::before {
  opacity: 0 !important;
}
.q-input--in-table.q-field--filled .q-field__control:after {
  opacity: 0 !important;
}
.q-input--in-table input {
  text-align: right;
  font-size: var(--text-size-small) !important;
  color: var(--neutro-9) !important;
  font-weight: var(--text-weight-default);
}
.q-input--in-table .q-field__control {
  height: 1.25rem;
}
.q-input--in-table .q-field__control:hover::before {
  opacity: 0;
}
.q-input--in-table .q-field__bottom {
  display: none;
}

.q-select--in-table .q-field__control {
  height: fit-content !important;
  min-height: 0 !important;
}
.q-select--in-table .q-field__control::after {
  height: 100% !important;
}
.q-select--in-table .q-field__native {
  font-size: var(--text-size-small) !important;
}
.q-select--in-table .q-field__append {
  height: 1.5rem;
}
.q-select .q-field__native {
  padding: 0.25rem 0;
}
.q-select .q-field__native.t-small {
  font-size: var(--text-size-small);
}

/*
  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 {
  max-height: calc(100svh - 50px - 4rem);
}
.q-table--sticky-header thead {
  position: sticky;
  z-index: 10;
  top: 0;
}
.q-table--sticky-header.q-table--loading thead tr:last-child th {
  top: 60px;
}
.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-tab__content {
  flex-direction: row !important;
  gap: 0.5rem;
}
.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: color-mix(in srgb, var(--always-white), transparent 10%) !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: fit-content;
}
.button__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.button .q-icon {
  display: inline-block;
  font-size: var(--heading-size-large);
}
.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--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: fit-content;
}
.form-group__row .form-item {
  flex: 1;
}

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

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

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

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

.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-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: 2rem;
  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: 2rem;
}
.n-form__actions {
  justify-content: end;
  gap: 1rem;
}
.n-form--actions-left .n-form__actions {
  justify-content: flex-start;
}
.n-form--modal {
  height: auto;
  width: auto;
  background: transparent;
  padding: 0;
  box-shadow: none;
  overflow: visible;
  margin-top: 0;
  margin-bottom: 0;
}
.n-form--modal::before {
  content: none;
}

.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: var(--text-weight-medium);
  margin-bottom: 0.5rem;
}
.n-form-group__label--superlabel {
  font-weight: var(--text-weight-bold);
}
.n-form-group__row {
  display: flex;
  row-gap: 1.5rem;
  column-gap: 2rem;
  justify-content: space-between;
  align-items: flex-end;
  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;
}
[data-type=file] .n-form-group__row .q-btn {
  position: relative;
  bottom: 1.25rem;
}
.n-form-group .n-form-group__label ~ .n-form-group__row .n-form-item__label {
  margin-top: 0.5rem;
  font-weight: var(--text-weight-default);
}

.n-form-item {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: end;
  align-items: start;
  gap: 0.5rem;
  width: 100%;
}
.n-form-item__label {
  font-size: var(--text-size-default);
  font-weight: var(--text-weight-medium) !important;
  position: relative;
}
.n-form-item__label .info-tooltip {
  position: relative;
  top: -2px;
}
.n-form-item__radio, .n-form-item__checkbox {
  display: flex;
  position: relative;
}
.n-form-item__radio:not(.q-option-group--inline), .n-form-item__checkbox:not(.q-option-group--inline) {
  flex-direction: column;
}
.n-form-item__radio.q-option-group:not(.q-option-group--inline) > div:first-child, .n-form-item__radio:first-child, .n-form-item__checkbox.q-option-group:not(.q-option-group--inline) > div:first-child, .n-form-item__checkbox:first-child {
  margin-top: -0.25rem;
}
.n-form-item__radio.q-option-group--inline > :not(div:first-child), .n-form-item__checkbox.q-option-group--inline > :not(div:first-child) {
  margin-left: 1rem;
}
.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;
  align-items: center;
  justify-content: flex-start;
}
.n-form-item--inline .q-checkbox,
.n-form-item--inline .q-radio {
  margin-top: 0 !important;
}
.n-form-item--inline .n-form-item__label {
  flex: 0 1 auto;
  margin-right: 0.5rem;
}
.n-form-item--inline .n-form-item__input {
  flex: 1;
  min-width: 60px;
}

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

.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-auto {
  width: auto;
}
.n-form-item--w-auto .n-form-item__label {
  width: -moz-available;
  width: -webkit-fill-available;
  width: stretch;
}

.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: calc(33% - 1rem);
}

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

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

.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-7);
}
.n-form .q-field .q-field__suffix {
  color: var(--neutro-10);
  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-7);
  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-default);
  line-height: var(--line-height-large);
}
.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: var(--blue-7);
}
.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;
  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;
}

.loading-box {
  border-radius: 1rem;
  padding: 2rem 6rem;
  color: var(--white);
  font-weight: var(--text-weight-bold);
  font-size: var(--text-size-large);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.loading-box::after {
  content: "";
  display: block;
  background: linear-gradient(90deg, hsla(77, 60%, 70%, 0.1) 0%, var(--secondary-6) 50%, hsla(77, 60%, 70%, 0.1) 100%);
  height: 300px;
  width: 100px;
  transform: translate(0);
  position: absolute;
  animation: rotate360 5s linear forwards infinite;
  z-index: -2;
  top: 50%;
  transform-origin: top center;
}
.loading-box::before {
  content: "";
  position: absolute;
  display: block;
  border-radius: 1rem;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  transform: translateY(-50%);
  background: radial-gradient(circle, var(--secondary-7) 0%, var(--neutro-10) 100%);
  animation: pulse-brightness 2s infinite alternate;
  top: calc(50% - 1rem);
  z-index: -1;
  margin: 1rem;
}

@keyframes pulse-brightness {
  0% {
    filter: brightness(0.7);
  }
  100% {
    filter: brightness(1);
  }
}
.page {
  padding: 2rem 0;
}
.page--white {
  background-color: var(--white);
}
.page--no-padding {
  padding: 0;
}
.page.has-steps {
  min-height: calc(100dvh - 50px - 60px) !important;
}

.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: var(--line-height-small);
}
.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: var(--line-height-small);
}
.wysiwyg-word h1, .wysiwyg-word h2,
.wysiwyg-word h3, .wysiwyg-word h4 {
  line-height: var(--line-height-small);
}
.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;
}
