/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/assets/index.scss ***!
  \****************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;900&display=swap);
/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/assets/index.scss (1) ***!
  \********************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0);
/*!***********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/pages/Projects/Creator/viva-configurator/styles.css ***!
  \***********************************************************************************************************/
.optimization-viva-root {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--color-palette-forest, #304a33);
  background: var(--color-gray-100, #f1f3fa);
  font-synthesis: none;
}
.optimization-viva-root,
.optimization-viva-root.viva-app {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.optimization-viva-root.viva-app .app-header {
  display: none;
}

.optimization-viva-root.viva-app .workspace {
  grid-template-columns: minmax(0, 1fr);
  height: 100%;
}

.optimization-viva-root.viva-app .sidebar {
  display: none;
}

.viva-app {
  --green: var(--color-primary, #378a41);
  --green-dark: color-mix(in srgb, var(--green) 86%, #000);
  --green-soft: var(--color-creator-card-hover-bg, #e5ffe8);
  --line: var(--color-gray-300, #dee2e6);
  --muted: var(--color-gray-600, #98a6ad);
  --panel: var(--color-white, #fff);
  --warn: var(--color-highlight, #ffb300);
  --danger: var(--color-danger, #8a374f);
  --sidebar-width: 350px;
  --diamond-size: 232px;
  --main-resizer-height: 10px;
  --left-column-min: 480px;
  --left-column-max: 560px;
  --upper-middle-min: 420px;
  --upper-right-min: 300px;
  box-sizing: border-box;
  width: 100%; height: 100%; overflow: hidden;
  font-size: 13px;
  background: var(--color-creator-surface, #f5fff6);
  color: var(--color-palette-forest, #304a33);
}
.viva-app * { box-sizing: border-box; }
.viva-app button, .viva-app input, .viva-app select { font: inherit; }
.viva-app button, .viva-app .button {
  cursor: pointer; border: 1px solid #cad7ce; border-radius: 6px; padding: 8px 11px;
  background: #fff; color: #28533f; font-weight: 600; text-align: center;
}
.viva-app button:hover:not(:disabled) { background: #edf5ef; border-color: #99b3a5; }
.viva-app button:disabled { opacity: .45; cursor: not-allowed; }
.viva-app button.primary, .viva-app .primary { background: var(--green); color: #fff; border-color: var(--green); }
.viva-app button.primary:hover:not(:disabled) { background: var(--green-dark); }
.viva-app .actions button.is-loading::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-right: 6px;
  vertical-align: -1px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: viva-button-spin .7s linear infinite;
}
@keyframes viva-button-spin { to { transform: rotate(360deg); } }
.viva-app :focus-visible { outline: 3px solid #83b292; outline-offset: 2px; }
.viva-app [hidden] { display: none !important; }
.viva-app h1, .viva-app h2, .viva-app h3, .viva-app p { margin-top: 0; }

/* Header and persistent sidebar context rail */
.viva-app .app-header {
  height: 70px; display: flex; align-items: center; gap: 28px; padding: 0 24px;
  background: #fff; border-bottom: 1px solid var(--line);
}
.viva-app .brand { font-size: 28px; letter-spacing: 2px; font-weight: 800; color: var(--green); display: flex; align-items: center; gap: 14px; }
.viva-app .brand span { font-size: 9px; letter-spacing: 1.5px; border-left: 1px solid var(--line); padding-left: 14px; color: #7f9085; }
.viva-app .page-title h1 { font-size: 17px; font-weight: 650; margin: 0 0 3px; }
.viva-app .page-title p { margin: 0; font-size: 11px; color: var(--muted); }
.viva-app .upload { margin-left: auto; }
.viva-app .workspace {
  display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); gap: 10px;
  height: calc(100% - 70px); padding: 10px;
}
.viva-app .sidebar {
  width: var(--sidebar-width);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 8px;
  overflow: auto;
}
.viva-app .sidebar .sidebar-context {
  width: 100%;
  margin-top: 0;
}
.viva-app .sidebar .context {
  margin-top: 0;
}
.viva-app main {
  min-width: 0; min-height: 0; display: grid;
  grid-template-rows: 38px minmax(300px, 47%) var(--main-resizer-height) minmax(0, 1fr);
  gap: 8px; overflow: hidden;
}

/* Upper dashboard */
.viva-app .dashboard {
  display: grid; grid-template-columns: minmax(var(--left-column-min), var(--left-column-max)) minmax(var(--upper-middle-min), 1.08fr) minmax(var(--upper-right-min), .80fr);
  gap: 8px; min-height: 0; min-width: 0; overflow: hidden;
}
.viva-app .panel, .viva-app .kpi-panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; min-height: 0; min-width: 0; overflow: hidden; }
.viva-app .panel-heading, .viva-app .table-heading {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding: 4px 6px; min-height: 43px; border-bottom: 1px solid var(--line);
}
.viva-app h2 { font-size: 14px; margin: 0; font-weight: 700; }
.viva-app .panel-heading small, .viva-app .table-heading p, .viva-app .table-heading small { color: var(--muted); font-size: 10px; margin: 2px 0 0; line-height: 1.35; }
.viva-app .text-button { padding: 3px 5px; border: 0; background: transparent; font-size: 11px; }
.viva-app .viewer-actions { display: flex; gap: 3px; }
.viva-app .viewer-panel { display: flex; flex-direction: column; }
.viva-app .viewer { position: relative; flex: 1; min-height: 150px; overflow: hidden; background: #f4f7f3; }
.viva-app .viewer canvas { display: block; width: 100% !important; height: 100% !important; }
.viva-app .viewer-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 25px; text-align: center; pointer-events: none; color: var(--muted); }
.viva-app .viewer-empty .cube { font-size: 68px; color: #7ca68f; line-height: .8; }
.viva-app .viewer-empty strong { color: #365749; font-size: 15px; }
.viva-app .viewer-empty p { max-width: 340px; font-size: 11px; }

/* Controls / radar / sliders */
.viva-app .controls-panel { display: flex; flex-direction: column; padding: 8px; overflow: hidden; }
.viva-app .controls-scroll { min-height: 0; overflow: hidden; flex: 1; padding: 3px 3px 7px; display: flex; flex-direction: column; }
.viva-app .mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; background: #f0f4f0; padding: 3px; border-radius: 7px; flex-shrink: 0; }
.viva-app .mode-switch button { border: 0; font-size: 10px; line-height: 1.35; padding: 7px 3px; background: transparent; }
.viva-app .mode-switch button[aria-pressed="true"] { background: #fff; box-shadow: 0 1px 4px #234f3520; color: var(--green); }
.viva-app .preference-layout { min-height: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; justify-items: center; align-items: start; gap: 10px; overflow: hidden; }
.viva-app .radar-zone { min-width: 0; width: 100%; display: grid; justify-items: center; align-content: start; row-gap: 4px; overflow: hidden; }
.viva-app .diamond { width: min(var(--diamond-size), 100%); height: auto; aspect-ratio: 1/1; margin: 0 auto; display: flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; }
.viva-app .diamond svg { width: 100%; height: 100%; overflow: visible; }
.viva-app .diamond .radar-grid { stroke: #b7cbbd; fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.viva-app .diamond .radar-ticks circle { fill: #829d90; opacity: .48; }
.viva-app .diamond .radar-baseline { fill: none; stroke: #526e60; stroke-width: 2.4; stroke-dasharray: 5 3.5; opacity: .88; vector-effect: non-scaling-stroke; }
.viva-app .diamond .radar-current { fill: #5b9d7048; stroke: #2f7049; stroke-width: 2.8; vector-effect: non-scaling-stroke; }
.viva-app .diamond-axis-icons { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.viva-app .diamond-axis-icon {
  position: absolute;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid #b9cec1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px #173b3426;
}
.viva-app .diamond-axis-icon img { width: 18px; height: 18px; object-fit: contain; }
.viva-app .diamond-axis-icon.axis-top { top: 0; left: 50%; transform: translateX(-50%); }
.viva-app .diamond-axis-icon.axis-right { top: 50%; right: 0; transform: translateY(-50%); }
.viva-app .diamond-axis-icon.axis-bottom { bottom: 0; left: 50%; transform: translateX(-50%); }
.viva-app .diamond-axis-icon.axis-left { top: 50%; left: 0; transform: translateY(-50%); }
.viva-app .muted { color: var(--muted); font-size: 11px; line-height: 1.45; }
.viva-app .sliders { min-width: 0; max-width: none; width: 100%; margin-top: 4px; justify-self: stretch; justify-items: center; overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.viva-app .sliders label { display: grid; gap: 3px; margin: 0; width: min(100%, 220px); }
.viva-app .slider-label { display: flex; justify-content: space-between; font-size: 10px; gap: 5px; color: #4f6a5c; }
.viva-app .slider-label output { font-variant-numeric: tabular-nums; color: var(--green); font-weight: 700; }
.viva-app input[type="range"] {
  appearance: none; height: 3px; width: 100%; margin: 6px 0;
  background: linear-gradient(90deg, #d8b8b1, #d4d1b2, #a9c8b5); border-radius: 999px;
  opacity: .84;
}
.viva-app input[type="range"]::-webkit-slider-thumb { appearance: none; width: 11px; height: 11px; background: #fff; border: 2px solid #4f806a; border-radius: 50%; cursor: pointer; }
.viva-app input[type="range"]::-moz-range-thumb { width: 11px; height: 11px; background: #fff; border: 2px solid #4f806a; border-radius: 50%; cursor: pointer; }
.viva-app .context { margin: 4px 0 0; border: 1px solid var(--line); border-radius: 7px; padding: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.viva-app .context legend { font-size: 11px; font-weight: 700; }
.viva-app .context label { display: grid; gap: 3px; font-size: 10px; color: var(--muted); }
.viva-app select, .viva-app input[type="search"] { width: 100%; min-width: 0; border: 1px solid #d1dcd3; background: #fff; padding: 6px; border-radius: 5px; color: #2b4939; font-size: 12px; }
.viva-app .actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; flex-shrink: 0; padding-top: 6px; }
.viva-app .actions button { font-size: 10px; padding: 7px; }

/* KPI cards */
.viva-app .kpi-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 8px; align-content: start; overflow: auto; }
.viva-app .kpi-card { border: 1px solid var(--line); border-radius: 7px; padding: 10px; min-height: 95px; background: #fbfdfb; }
.viva-app .kpi-card span { display: block; font-weight: 700; font-size: 14px; color: var(--muted); min-height: 26px; }
.viva-app .kpi-card strong { display: block; font-size: 21px; margin: 5px 0; color: #174b38; overflow-wrap: anywhere; }
.viva-app .kpi-card small { display: block; font-size: 9px; color: var(--muted); line-height: 1.35; }
.viva-app .evaluation-details { grid-column: 1/-1; border-top: 1px solid var(--line); padding: 7px 3px 0; font-size: 10px; }
.viva-app .evaluation-details summary { cursor: pointer; font-weight: 700; }
.viva-app .details-body { max-height: 200px; overflow: auto; line-height: 1.45; }
.viva-app .details-body ul { padding-left: 18px; }

/* Resizer */
.viva-app .main-resizer { position: relative; min-height: 8px; border-radius: 999px; background: transparent; cursor: row-resize; touch-action: none; }
.viva-app .main-resizer::before { content: ""; position: absolute; left: 50%; top: 50%; width: min(120px, 28%); height: 3px; border-radius: 999px; transform: translate(-50%, -50%); background: #c3d3c8; }
.viva-app .main-resizer:hover::before, .viva-app .main-resizer:focus-visible::before { background: #86a995; }

/* Lower band */
.viva-app .lower-band { min-height: 0; min-width: 0; display: grid; grid-template-columns: minmax(var(--left-column-min), var(--left-column-max)) minmax(0, 1fr); gap: 8px; overflow: hidden; }
.viva-app .systems-panel { display: flex; flex-direction: column; min-height: 0; }
.viva-app .systems-scroll { flex: 1; min-height: 0; overflow: auto; padding: 8px; }
.viva-app .system-footer { padding: 7px 10px; border-top: 1px solid var(--line); flex-shrink: 0; }
.viva-app .system-footer small { font-size: 9px; color: var(--muted); }
.viva-app .systems-scroll > details { border: 1px solid var(--line); border-radius: 6px; margin-bottom: 6px; background: #fff; }
.viva-app .systems-scroll > details > summary { cursor: pointer; padding: 9px 10px; font-size: 11px; font-weight: 650; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 5px; }
.viva-app .systems-scroll > details > summary::after { content: "+"; color: var(--muted); margin-left: auto; }
.viva-app .systems-scroll > details[open] > summary { background: #f2f6f1; border-bottom: 1px solid var(--line); }
.viva-app .systems-scroll > details[open] > summary::after { content: "−"; }
.viva-app .systems-scroll summary b { min-width: 22px; text-align: center; font-size: 9px; color: var(--green); background: #e8f1eb; border-radius: 999px; padding: 2px 6px; }
.viva-app .category-types { padding: 5px; display: grid; gap: 5px; }
.viva-app .type-explorer { border: 1px solid transparent; border-radius: 6px; overflow: hidden; }
.viva-app .type-explorer.is-selected { border-color: #91b29f; background: #f8fbf9; }
.viva-app .type-selector { width: 100%; border: 0; background: transparent; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; text-align: left; padding: 8px; font-weight: 500; }
.viva-app .type-selector > span:first-child { min-width: 0; }
.viva-app .type-selector strong, .viva-app .type-selector small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viva-app .type-selector strong { font-size: 10px; color: #274a3b; }
.viva-app .type-selector small { margin-top: 2px; font-size: 8px; color: var(--muted); }
.viva-app .type-assignment { max-width: 92px; font-size: 8px; color: var(--green); text-align: right; overflow-wrap: anywhere; }
.viva-app .solution-explorer, .viva-app .active-explorer { padding: 7px; border-top: 1px solid var(--line); background: #fbfdfb; }
.viva-app .explorer-heading { display: grid; gap: 2px; margin-bottom: 7px; }
.viva-app .explorer-heading strong { font-size: 10px; }
.viva-app .explorer-heading small { font-size: 8px; line-height: 1.35; color: var(--muted); }
.viva-app .solution-list { display: grid; gap: 7px; }
.viva-app .solution-card { border: 1px solid #d8e2dc; border-radius: 7px; background: #fff; padding: 8px; display: grid; gap: 6px; }
.viva-app .solution-card.is-assigned { border-color: #5e9477; box-shadow: inset 3px 0 #5e9477; }
.viva-app .solution-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.viva-app .solution-card-heading strong { display: block; font-size: 9px; color: var(--green); }
.viva-app .solution-card-heading span:not(.recommended) { display: block; font-size: 9px; line-height: 1.35; margin-top: 2px; }
.viva-app .recommended { flex-shrink: 0; background: #e8f1eb; color: var(--green); border-radius: 999px; padding: 2px 6px; font-size: 8px; }
.viva-app .metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; align-items: stretch; }
.viva-app .metric-tile { min-width: 0; border: 1px solid #e4ebe7; border-radius: 5px; padding: 5px; background: #fafcfb; }
.viva-app .metric-tile > span { display: block; font-size: 7px; color: var(--muted); min-height: 18px; line-height: 1.2; }
.viva-app .metric-tile strong { display: block; font-size: 11px; margin: 1px 0 3px; color: #315746; }
.viva-app .metric-tile small { display: block; font-size: 7px; color: #8a7760; margin-top: 3px; overflow-wrap: anywhere; line-height: 1.25; }
.viva-app .metric-tile .metric-raw { color: #51675d; min-height: 28px; }
.viva-app .metric-track { height: 3px; border-radius: 999px; background: #edf0ee; overflow: hidden; }
.viva-app .metric-track i { display: block; height: 100%; background: linear-gradient(90deg, #dc8d7d, #d9ce75, #73a381); }
.viva-app .metric-tile.is-unknown .metric-track i { width: 0 !important; }
.viva-app .solution-evidence, .viva-app .solution-ranking, .viva-app .warning-inline { margin: 0; font-size: 8px; line-height: 1.4; }
.viva-app .solution-evidence { color: #52675e; }
.viva-app .solution-ranking { color: var(--green); }
.viva-app .warning-inline { color: var(--warn); }
.viva-app .solution-card button { font-size: 8px; padding: 5px 7px; justify-self: start; }
.viva-app .solution-card button.assigned-button { background: #e9f2ec; border-color: #8cb29d; color: #245740; }
.viva-app .active-configuration-card .solution-evidence { max-height: 44px; overflow: auto; }
.viva-app .empty { color: var(--muted); text-align: center; padding: 18px; font-size: 10px; }

/* Tables */
.viva-app .tables-stack { min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 8px; }
.viva-app .tables-stack > .table-panel { min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.viva-app .passive-table-panel { flex: 1.25 1 0; }
.viva-app .active-table-panel { flex: .8 1 0; min-height: 165px; }
.viva-app .table-heading { flex-shrink: 0; }
.viva-app [data-measurement-view="passive"] .table-heading h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}
.viva-app .table-heading > div:first-child { min-width: 0; }
.viva-app .table-heading-controls { display: flex; align-items: end; gap: 8px; min-width: 0; }
.viva-app .table-heading-actions { display: flex; align-items: center; gap: 8px; }
.viva-app .table-toggle { white-space: nowrap; font-size: 10px; padding: 5px 8px; }
.viva-app .filters { display: flex; gap: 6px; flex-wrap: wrap; align-items: end; }
.viva-app .filters label { display: grid; gap: 2px; font-size: 10px; color: var(--muted); }
.viva-app .filters select, .viva-app .filters input { min-width: 110px; max-width: 155px; padding: 5px; }
.viva-app .table-scroll { overflow: auto; min-height: 0; flex: 1; }
.viva-app .tables-stack.is-passive-hidden .passive-table-panel,
.viva-app .tables-stack.is-active-hidden .active-table-panel { display: none; }
.viva-app .tables-stack.is-passive-hidden .active-table-panel,
.viva-app .tables-stack.is-active-hidden .passive-table-panel { flex: 1 1 auto; min-height: 0; }
.viva-app table { border-collapse: collapse; width: 100%; font-size: 11px; }
.viva-app th, .viva-app td { border-bottom: 1px solid #e2e8e5; padding: 6px 7px; text-align: left; vertical-align: top; }
.viva-app th { position: sticky; top: 0; background: #f4f8f6; z-index: 3; font-size: 10px; text-transform: uppercase; letter-spacing: .025em; color: #50625a; white-space: nowrap; }
.viva-app td strong { display: block; }
.viva-app td small { display: block; color: var(--muted); margin-top: 2px; line-height: 1.35; }
.viva-app [data-measurement-view="passive"] tbody tr[data-key] td strong {
  font-size: 10px;
}
.viva-app tbody tr[data-key] { cursor: pointer; }
.viva-app tbody tr[data-key]:hover, .viva-app tbody tr.selected { background: #edf7f2; }
.viva-app .solution-button { font-size: 8px; padding: 4px 6px; }
.viva-app .badge { display: inline-block; background: #f1e7c9; color: #6f541a; border-radius: 9px; padding: 2px 5px; font-size: 7px; margin: 2px 0; }
.viva-app .table-footer { display: flex; justify-content: space-between; gap: 12px; padding: 7px 10px; color: var(--muted); font-size: 9px; border-top: 1px solid var(--line); flex-shrink: 0; }
.viva-app .table-subtotal-row td { background: #f7faf8; border-top: 1px solid #cad8d0; font-size: 11spx; }
.viva-app .table-total-row td { background: #eaf3ee; border-top: 2px solid #9ebaa9; font-size: 11px; }
.viva-app .table-total-row td:first-child strong { color: #1f583f; font-size: 10px; }
.viva-app .partial-total { color: #876620; font-style: italic; }

/* Active-system derived facts and third table */
.viva-app .active-facts { padding: 6px 8px; border-bottom: 1px solid var(--line); background: #fbfdfb; flex-shrink: 0; }
.viva-app .active-facts-grid { display: grid; grid-template-columns: repeat(5, minmax(105px, 1fr)); gap: 5px; }
.viva-app .active-fact-card { border: 1px solid #e0e8e3; border-radius: 5px; padding: 5px 6px; background: #fff; }
.viva-app .active-fact-card span { display: block; font-size: 7px; color: var(--muted); }
.viva-app .active-fact-card strong { display: block; margin: 2px 0; font-size: 10px; color: #315746; }
.viva-app .active-fact-card small { display: block; font-size: 7px; color: var(--muted); line-height: 1.2; }
.viva-app .active-facts-note { margin: 5px 0 0; font-size: 8px; color: #52675e; line-height: 1.35; }
.viva-app .active-summary-row td { white-space: normal; min-width: 95px; }
.viva-app .active-summary-row td:first-child { min-width: 185px; }
.viva-app .active-service-values { display: grid; gap: 3px; }
.viva-app .active-service-values > span {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  padding-bottom: 2px;
  border-bottom: 1px dotted #dce5df;
  white-space: nowrap;
}
.viva-app .active-service-values > span:last-child { border-bottom: 0; padding-bottom: 0; }
.viva-app .active-service-values b { color: var(--green); font-size: 8px; }
.viva-app .active-service-total { margin-top: 2px; padding-top: 3px; border-top: 1px solid #cad9d0; font-weight: 700; }
.viva-app .active-details-row td { white-space: normal; line-height: 1.4; background: #fbfdfc; }
.viva-app .active-detail-grid { display: grid; grid-template-columns: .7fr 1.6fr 1.3fr; gap: 10px; }
.viva-app .active-detail-grid strong { font-size: 8px; }
.viva-app .active-detail-grid p { margin: 2px 0 0; font-size: 8px; color: var(--muted); }
.viva-app .derived-price-input { width: 82px; min-width: 0; padding: 4px 5px; font: inherit; text-align: right; }
.viva-app .derived-budget-total { position: sticky; bottom: 0; z-index: 2; }
.viva-app .derived-budget-total td { vertical-align: middle; }
.viva-app .derived-budget-total strong { white-space: nowrap; }

/* Dialog */
.viva-app dialog { width: min(700px, 92vw); max-height: 85dvh; border: 1px solid var(--line); border-radius: 12px; padding: 0; color: #233e35; overflow: auto; box-shadow: 0 20px 80px #173b3440; }
.viva-app dialog::backdrop { background: #152d2766; }
.viva-app .dialog-header { display: flex; justify-content: space-between; align-items: center; padding: 14px; border-bottom: 1px solid var(--line); margin: 0; }
.viva-app .dialog-header h2 { margin: 0; }
.viva-app .dialog-body { padding: 16px; display: grid; gap: 12px; }
.viva-app .dialog-body label { font-size: 11px; display: grid; gap: 6px; }
.viva-app .dialog-actions { padding: 14px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); }
.viva-app .manual-details { font-size: 10px; color: #52675e; }
.viva-app .manual-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.viva-app .manual-metrics span { border: 1px solid #e3eae6; padding: 5px; border-radius: 5px; }

@media (max-width: 1450px) {
  .viva-app { --sidebar-width: 320px; }
  .viva-app { --left-column-min: 390px; --left-column-max: 450px; --upper-middle-min: 380px; --upper-right-min: 270px; }
  .viva-app .workspace { gap: 8px; padding: 8px; }
  .viva-app .dashboard { grid-template-columns: minmax(var(--left-column-min), var(--left-column-max)) minmax(var(--upper-middle-min),1fr) minmax(var(--upper-right-min),.78fr); }
  .viva-app .lower-band { grid-template-columns: minmax(var(--left-column-min), var(--left-column-max)) minmax(0,1fr); }
  .viva-app { --diamond-size: 198px; }
}
@media (max-width: 980px) {
  .viva-app { --left-column-min: 340px; --left-column-max: 380px; }
  .viva-app .dashboard { grid-template-columns: 1fr 1fr; overflow: auto; }
  .viva-app .kpi-panel { grid-column: 1/-1; grid-template-columns: repeat(4,1fr); }
  .viva-app .evaluation-details { grid-column: 1/-1; }
  .viva-app .lower-band { grid-template-columns: minmax(var(--left-column-min), var(--left-column-max)) minmax(0,1.6fr); }
  .viva-app .preference-layout { grid-template-columns: 1fr; }
  .viva-app .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .viva-app .active-facts-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  html, body, #viva-root { overflow: auto; }
  .viva-app { min-height: 100dvh; height: auto; overflow: visible; --main-resizer-height: 8px; --diamond-size: 166px; --sidebar-width: 100%; }
  .viva-app .app-header { height: 60px; gap: 12px; padding: 0 10px; position: sticky; top: 0; z-index: 10; }
  .viva-app .brand { font-size: 22px; }
  .viva-app .brand span, .viva-app .page-title p { display: none; }
  .viva-app .page-title h1 { font-size: 12px; }
  .viva-app .workspace { height: auto; gap: 6px; padding: 6px; grid-template-columns: 1fr; }
  .viva-app .sidebar { width: auto; min-height: 0; }
  .viva-app main { height: auto; overflow: visible; display: block; }
  .viva-app .dashboard, .viva-app .lower-band { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .viva-app .preference-layout { grid-template-columns: 1fr; overflow: hidden; }
  .viva-app .controls-scroll { overflow: hidden; }
  .viva-app .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .viva-app .dashboard > *, .viva-app .lower-band > * { min-height: 320px; margin-bottom: 7px; }
  .viva-app .main-resizer { display: none; }
  .viva-app .tables-stack { overflow: visible; }
  .viva-app .tables-stack > .table-panel { min-height: 360px; margin-bottom: 7px; }
  .viva-app .kpi-panel { grid-template-columns: 1fr 1fr; }
  .viva-app .active-facts-grid { grid-template-columns: 1fr 1fr; }
  .viva-app .active-detail-grid { grid-template-columns: 1fr; }
}

/* Fase 3 PoC workspace/library/KPI extensions */
.viva-app .workspace-tabs{display:flex;gap:4px;margin-left:auto}.viva-app .workspace-tabs button{padding:6px 10px;font-size:10px;background:transparent}.viva-app .workspace-tabs button.active{background:#e6f1ea;border-color:#8fb3a0;color:var(--green-dark)}
.viva-app .dashboard{grid-template-columns:minmax(var(--left-column-min),var(--left-column-max)) minmax(var(--upper-middle-min),1fr) minmax(var(--upper-right-min),.9fr);}
.viva-app .library-panel{display:none;grid-column:2/4;min-height:0}.viva-app.workspace-library .viewer-panel,.viva-app.workspace-library .kpi-panel{display:none}.viva-app.workspace-library .library-panel{display:flex;flex-direction:column}.viva-app.workspace-library .measurement-panel{display:none}.viva-app.workspace-library .lower-band{grid-template-columns:minmax(var(--left-column-min),var(--left-column-max)) minmax(0,1fr)}
.viva-app .viewer-actions{flex-wrap:wrap;justify-content:flex-end}.viva-app .viewer-actions button[aria-pressed="true"]{background:#e4f0e8;color:var(--green-dark);border-color:#8fb3a0}
.viva-app .kpi-panel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;overflow:hidden}.viva-app .kpi-card{position:relative;padding-left:40px}.viva-app .kpi-card i{position:absolute;left:10px;top:11px;font-style:normal;font-weight:800;font-size:18px;color:#5e8975}.viva-app .kpi-detail-tabs{grid-column:1/-1;min-height:0;border-top:1px solid var(--line);display:flex;flex-direction:column}.viva-app .tab-strip,.viva-app .measurement-tabs{display:flex;gap:2px;padding:5px;background:#f5f8f6;border-bottom:1px solid var(--line)}.viva-app .tab-strip button,.viva-app .measurement-tabs button{font-size:9px;padding:6px 8px;background:transparent;border-color:transparent}.viva-app .tab-strip button.active,.viva-app .measurement-tabs button.active{background:#fff;border-color:#b9cabe;color:var(--green-dark)}.viva-app .details-body{overflow:auto;padding:8px;min-height:100px;font-size:9px}.viva-app .kpi-chapters{display:grid;gap:5px}.viva-app .kpi-chapter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:6px;border:1px solid #e2e9e5;border-radius:5px}.viva-app .kpi-chapter small{display:block;color:var(--muted)}.viva-app .kpi-subchapter{grid-column:1/-1;display:flex;justify-content:space-between;padding-left:9px;color:#5a6d63}.viva-app .carbon-summary,.viva-app .kpi-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:7px}.viva-app .carbon-summary span,.viva-app .kpi-facts span{padding:6px;border:1px solid #e1e9e4;border-radius:5px}.viva-app .carbon-summary b,.viva-app .kpi-facts b{display:block;font-size:8px;color:var(--muted);margin-bottom:3px}.viva-app .operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.viva-app .operation-card{border:1px solid #e1e9e4;border-radius:5px;padding:6px}.viva-app .operation-card h4{margin:0 0 5px}.viva-app .operation-card dl{display:grid;grid-template-columns:1fr auto;margin:0;gap:3px}.viva-app .operation-card dd{margin:0}.viva-app .method-note{color:var(--muted);font-size:8px}.viva-app .warnings{margin-top:7px;color:var(--warn)}
.viva-app .measurement-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.viva-app .measurement-tabs{flex-shrink:0}.viva-app .measurement-view{display:none;flex:1;min-height:0;overflow:hidden;flex-direction:column}.viva-app .measurement-view.active{display:flex}
.viva-app .scenario-grid{display:grid;gap:7px}.viva-app .scenario-card{border:1px solid #dbe6df;border-radius:7px;padding:8px;background:#fbfdfb}.viva-app .scenario-card.selected{border-color:#6c9e82;background:#eef6f1}.viva-app .scenario-card h3{margin:0 0 5px;font-size:11px}.viva-app .scenario-decisions{display:grid;grid-template-columns:1fr;gap:2px;font-size:8px}.viva-app .scenario-decision{display:flex;justify-content:space-between;gap:5px;border-bottom:1px dotted #e0e7e3;padding:2px 0}.viva-app .scenario-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:6px 0}.viva-app .scenario-metrics span{text-align:center;background:#f1f5f2;border-radius:4px;padding:3px;font-size:7px}
.viva-app .library-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:8px}.viva-app .library-toolbar{display:flex;gap:5px;align-items:center;margin-bottom:7px}.viva-app .library-toolbar input{flex:1;min-width:130px}.viva-app .library-browser{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.8fr);gap:8px;min-height:0;flex:1}.viva-app .library-list{overflow:auto;border:1px solid var(--line);border-radius:6px}.viva-app .library-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e5ebe7;border-radius:0;background:#fff;padding:7px}.viva-app .library-item.active{background:#eaf4ed}.viva-app .library-detail{overflow:auto;border:1px solid var(--line);border-radius:6px;padding:10px}.viva-app .library-detail h3{margin-top:0}.viva-app .library-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.viva-app .library-metric,.viva-app .library-fact{border:1px solid #e1e8e4;border-radius:5px;padding:6px}.viva-app .library-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0}.viva-app .library-detail pre{white-space:pre-wrap;word-break:break-word;font-size:8px;background:#f6f8f7;padding:7px;border-radius:5px}
@media(max-width:980px){.viva-app .workspace-tabs{order:4;width:100%;margin:0}.viva-app .library-browser{grid-template-columns:1fr}.viva-app .library-list{max-height:180px}.viva-app .operation-grid{grid-template-columns:1fr}.viva-app .library-metrics{grid-template-columns:repeat(2,1fr)}}
.viva-app .library-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.8fr);gap:8px;min-height:0;flex:1}.viva-app .library-list button{display:grid;gap:2px;width:100%;text-align:left;border:0;border-bottom:1px solid #e5ebe7;border-radius:0;background:#fff;padding:7px}.viva-app .library-list button.active{background:#eaf4ed}.viva-app .library-list button span,.viva-app .library-list button small{font-size:8px;color:var(--muted)}
.viva-app .scenario-list{display:grid;gap:7px}.viva-app .scenario-card.is-applied{border-color:#6c9e82;background:#eef6f1}.viva-app .scenario-heading{display:flex;justify-content:space-between;gap:6px}.viva-app .scenario-heading small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.viva-app .scenario-card ul{list-style:none;margin:6px 0;padding:0}.viva-app .scenario-card li{display:flex;justify-content:space-between;gap:6px;padding:3px 0;border-bottom:1px dotted #dde6e0;font-size:8px}
@media(max-width:980px){.viva-app .library-layout{grid-template-columns:1fr}}
.viva-app .system-family{border:1px solid #cfdcd4;border-radius:7px;margin-bottom:7px;background:#f8fbf9}.viva-app .system-family>summary{cursor:pointer;padding:9px;font-weight:750;color:#315746;list-style:none}.viva-app .system-family-body{padding:0 6px 6px}.viva-app .system-family-body>details{border:1px solid var(--line);border-radius:5px;margin-top:5px;background:#fff}.viva-app .system-family-body>details>summary{padding:7px;cursor:pointer;list-style:none}.viva-app .scenario-metrics span{display:grid;gap:1px}.viva-app .scenario-metrics small{font-size:6.5px;color:var(--muted)}.viva-app .scenario-metrics b{font-size:9px;color:#315746}

/* V6 UX refinement: workspaces, compact context, advanced assignment and library */
.viva-app main{grid-template-rows:38px minmax(300px,47%) var(--main-resizer-height) minmax(0,1fr)}
.viva-app .main-workspace-header{display:flex;align-items:center;gap:4px;padding:3px 5px;background:#e9efeb;border:1px solid var(--line);border-radius:7px;min-height:0}
.viva-app .main-workspace-header button{display:flex;align-items:center;gap:7px;height:30px;padding:4px 11px;border-color:transparent;background:transparent;font-size:10px}
.viva-app .main-workspace-header button b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#d5e2da;color:#476757;font-size:9px}
.viva-app .main-workspace-header button.active{background:#fff;border-color:#b7c9bd;box-shadow:0 1px 4px #153c2620;color:var(--green-dark)}
.viva-app .main-workspace-header button.active b{background:var(--green);color:#fff}
.viva-app .compact-context{display:block;padding:5px 7px;margin-top:2px}
.viva-app .compact-context legend{padding:0 4px}
.viva-app .context-climate-row label{display:grid;grid-template-columns:auto minmax(136px,1fr) 90px;align-items:center;gap:7px}
.viva-app .context-climate-row label>span{font-weight:700;color:#355a48}
.viva-app .context-climate-row label>small{font-size:9px;color:var(--muted)}
.viva-app .context-factor-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px}
.viva-app .context-factor-row label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px}
.viva-app .context-factor-row label span{font-weight:650;color:#526c5e;font-size:10px}
.viva-app .context-factor-row select{padding:4px;font-size:10px}
.viva-app .evaluate-cta{font-size:12px!important;padding:9px!important;box-shadow:0 2px 8px color-mix(in srgb,var(--green) 16%,transparent);letter-spacing:.15px}
.viva-app .evaluate-cta:not(:disabled){background:#0e6b4d;border-color:#0e6b4d}
.viva-app .kpi-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}
.viva-app .kpi-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f7fbf8,#fff)}
.viva-app .kpi-panel-heading small{font-size:7px;letter-spacing:1px;color:#6e8879;font-weight:800}.viva-app .kpi-panel-heading h2{font-size:16px;margin:2px 0 0;color:#174b38}.viva-app .kpi-panel-heading>span{font-size:8px;color:var(--muted)}
.viva-app .kpi-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:7px}
.viva-app .kpi-card{min-height:78px;padding:8px 8px 8px 56px;background:linear-gradient(145deg,#fff,#f7fbf8)}
.viva-app .kpi-card .kpi-icon{position:absolute;left:10px;top:10px;width:30px;height:30px;min-height:0;background:var(--color-primary,#378a41);-webkit-mask-image:var(--kpi-icon-image);mask-image:var(--kpi-icon-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.viva-app .kpi-card span{font-size:12px;min-height:18px}.viva-app .kpi-card strong{font-size:18px;margin:3px 0}
.viva-app .kpi-detail-tabs{flex:1;min-height:0}.viva-app .details-body{flex:1;max-height:none}
.viva-app .advanced-category{border:1px solid #dce6df;border-radius:6px;margin:5px 0;background:#fff}.viva-app .advanced-category>summary{padding:7px;display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-size:10px;font-weight:700}
.viva-app .advanced-type-list{display:grid;gap:5px;padding:5px}.viva-app .advanced-type-row{border:1px solid #e0e8e3;border-radius:6px;padding:6px;background:#fbfdfb}.viva-app .advanced-type-main{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr);gap:7px;align-items:end}.viva-app .advanced-type-title strong{display:block;font-size:9px}.viva-app .advanced-type-title small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.viva-app .advanced-type-main label{font-size:7px;color:var(--muted)}.viva-app .advanced-type-main select,.viva-app .advanced-active-select select{font-size:9px;padding:5px;margin-top:2px}
.viva-app .advanced-solution-summary{margin-top:5px;padding-top:5px;border-top:1px dashed #dfe7e2}.viva-app .advanced-solution-summary>p{font-size:7.5px;color:#5d7166;line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.viva-app .advanced-solution-summary>div:not(.mini-viva-metrics){display:flex;gap:8px;flex-wrap:wrap;font-size:7px;color:var(--muted)}.viva-app .mini-viva-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:5px}.viva-app .mini-viva-metrics span{background:#edf4ef;border-radius:4px;padding:3px;text-align:center}.viva-app .mini-viva-metrics small{display:block;font-size:5.8px;color:#6f8277}.viva-app .mini-viva-metrics b{font-size:8px;color:#28563f}
.viva-app .advanced-active-select{padding:7px}.viva-app .advanced-active-select>p{font-size:8px;color:var(--muted);margin:5px 0}
.viva-app .advanced-active-select .active-configuration-filter-note{padding:5px 6px;border-radius:4px;background:#f2f7f3;color:#486657;line-height:1.35}
.viva-app .scenario-card li{align-items:center}.viva-app .scenario-card li>span:first-child{display:grid;gap:1px}.viva-app .scenario-card li small{font-size:6px;color:var(--muted)}.viva-app .decision-metrics{display:grid;grid-template-columns:repeat(4,26px);gap:2px}.viva-app .decision-metrics span{font-size:7px;text-align:center;border:1px solid #dae5de;border-radius:3px;padding:2px;background:#f6faf7}.viva-app .scenario-metric-legend{display:grid;grid-template-columns:repeat(4,26px);justify-content:end;gap:2px;font-size:5px;color:var(--muted);text-align:center;margin-top:-3px}
.viva-app .library-panel{grid-column:1/4}.viva-app.workspace-library .controls-panel,.viva-app.workspace-library .viewer-panel,.viva-app.workspace-library .kpi-panel{display:none}.viva-app.workspace-library .library-panel{display:flex;flex-direction:column;grid-column:1/4}.viva-app.workspace-library .systems-panel,.viva-app.workspace-library .measurement-panel{display:none}.viva-app .library-breakdown-panel{display:none}.viva-app.workspace-library .library-breakdown-panel{display:flex;grid-column:1/-1;min-height:0;overflow:hidden}.viva-app.workspace-library .lower-band{display:grid;grid-template-columns:1fr}.viva-app.workspace-library .main-resizer{display:block}
.viva-app .library-content{padding:7px}.viva-app .library-toolbar{padding:5px;background:#f4f8f5;border:1px solid #e0e8e3;border-radius:6px}.viva-app .library-mode-switch{display:flex;gap:3px}.viva-app .library-mode-switch button{font-size:9px;padding:6px 9px}.viva-app .library-mode-switch button.active{background:var(--green);color:#fff;border-color:var(--green)}
.viva-app .library-browser{grid-template-columns:minmax(300px,.85fr) minmax(0,1.65fr)}.viva-app .library-tree{padding:4px;background:#f9fbfa}.viva-app .library-tree details{border-left:1px solid #d8e3dc;margin-left:5px;padding-left:5px}.viva-app .library-tree summary{cursor:pointer;padding:5px 4px;font-size:8.5px;font-weight:700;list-style:none;display:flex;justify-content:space-between}.viva-app .library-tree .library-tree-sub>summary{color:#37604b}.viva-app .library-tree .library-tree-arch>summary{color:#6b7b73;font-size:7.5px}.viva-app .library-tree button{padding:5px 6px;margin:1px 0;border-radius:4px!important;border:1px solid transparent!important}.viva-app .library-tree button.active{border-color:#7ca18b!important;background:#e5f1e9!important}.viva-app .library-tree button strong{font-size:7px}.viva-app .library-tree button span{font-size:7.5px!important}
.viva-app .library-title{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e3eae6;padding-bottom:7px}.viva-app .library-title small{font-size:7px;color:var(--muted)}.viva-app .library-title h3{margin:2px 0;font-size:15px}.viva-app .library-title p{font-size:10px;margin:0}.viva-app .library-title>span{font-size:8px;background:#edf4ef;border-radius:4px;padding:5px;height:max-content}.viva-app .library-description{font-size:9px;line-height:1.45;margin:8px 0;color:#4f665a}.viva-app .library-section{margin-top:10px}.viva-app .library-section h4{font-size:9px;margin:0 0 5px;text-transform:uppercase;letter-spacing:.5px;color:#446555}.viva-app .performance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:5px}.viva-app .performance-summary span{border:1px solid #e0e8e3;border-radius:5px;padding:5px;font-size:8px}.viva-app .performance-summary b{display:block;font-size:6px;color:var(--muted);margin-bottom:2px}.viva-app .technical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.viva-app .library-fact span{display:block;font-size:6px;color:var(--muted)}.viva-app .library-fact strong{font-size:8px}.viva-app .composition-table-wrap{overflow:auto;max-height:180px}.viva-app .composition-table{width:100%;border-collapse:collapse;font-size:8px}.viva-app .composition-table th,.viva-app .composition-table td{padding:5px;border-bottom:1px solid #e4ebe7;text-align:left;vertical-align:top}.viva-app .composition-table small{display:block;color:var(--muted)}.viva-app .slot-properties{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.viva-app .slot-properties .library-fact{padding:3px}
.viva-app .library-breakdown{display:flex;flex-direction:column;min-height:0;width:100%;padding:8px}.viva-app .ive-heading{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.viva-app .ive-heading h3{font-size:11px;margin:0}.viva-app .ive-heading p{font-size:8px;color:var(--muted);margin:2px 0 0}.viva-app .ive-totals{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.viva-app .ive-totals span{padding:4px 6px;background:#f1f6f2;border:1px solid #dce6df;border-radius:4px;font-size:8px}.viva-app .ive-totals b{display:block;font-size:6px;color:var(--muted)}.viva-app .ive-table{width:100%;border-collapse:collapse;font-size:8px}.viva-app .ive-table th,.viva-app .ive-table td{padding:5px;border-bottom:1px solid #e4ebe7;text-align:left}.viva-app .industrial-flag{display:inline-block;padding:2px 5px;border-radius:9px;font-size:7px;font-weight:700}.viva-app .industrial-flag.yes{background:#dcefe3;color:#256044}.viva-app .industrial-flag.no{background:#f1f2f1;color:#68756e}
.viva-app .library-breakdown-empty{padding:10px;color:var(--muted)}.viva-app .compact{padding:6px!important;min-height:0!important}

/* V7 usability refinements */
.viva-app main { overflow: auto; }
.viva-app .dashboard {
  min-width: 1040px;
  min-height: 330px;
}
.viva-app .lower-band { min-width: 1040px; }

/* Optimizer packages stay compact until the user chooses to inspect them. */
.viva-app .scenario-card { padding: 0; overflow: hidden; }
.viva-app .scenario-card-header {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 5px 8px;
  padding: 7px 8px;
  background: #fbfdfb;
}
.viva-app .scenario-card-header .scenario-toggle {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 25px;
  height: 25px;
  padding: 0;
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: 1;
  border-radius: 50%;
}
.viva-app .scenario-card-title { grid-column: 2; grid-row: 1; min-width: 0; }
.viva-app .scenario-card-title strong { font-size: 10px; }
.viva-app .scenario-card-title small { display:block; font-size:7px; color:var(--muted); margin-top:2px; }
.viva-app .scenario-card-header > .recommended,
.viva-app .scenario-card-header > span:last-child { grid-column: 3; grid-row: 1; }
.viva-app .scenario-card-header .scenario-metrics {
  grid-column: 2 / 4;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 3px;
  margin: 0;
}
.viva-app .scenario-card-header .scenario-metrics span {
  min-width: 0;
  min-height: 38px;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 4px 2px;
  border: 1px solid #dfe8e2;
  background: #fff;
  border-radius: 4px;
  text-align: center;
}
.viva-app .scenario-card-header .scenario-metrics small {
  display: block;
  max-width: 100%;
  font-size: 5.5px;
  line-height: 1.15;
  color: var(--muted);
  text-align: center;
  overflow-wrap: anywhere;
}
.viva-app .scenario-card-header .scenario-metrics b { max-width:100%; font-size:8px; color:#2e5b45; text-align:center; overflow-wrap:anywhere; }
.viva-app .scenario-card.is-applied .scenario-card-header { background:#edf6f0; }
.viva-app .scenario-card-body { border-top:1px solid #e4ebe7; padding:7px 8px 8px; }
.viva-app .scenario-card-body[hidden] { display:none; }

/* Advanced mode: one compact assignment control per configurable subsystem. */
.viva-app .advanced-family,
.viva-app .advanced-category {
  border:1px solid #dce6df;
  border-radius:6px;
  margin:5px 0;
  background:#fff;
  overflow:hidden;
}
.viva-app .advanced-family-heading,
.viva-app .advanced-category-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  width:100%;
  padding:7px 8px;
  background:#f8fbf9;
  border:0;
  border-radius:0;
  color:#315746;
  text-align:left;
}
.viva-app .advanced-category-heading { background:#fff; }
.viva-app .advanced-family-heading strong,
.viva-app .advanced-category-heading strong { font-size:10px; }
.viva-app .advanced-category-content { padding:7px; border-top:1px solid #e6ece8; }
.viva-app .advanced-category-content label { display:grid; gap:3px; font-size:8px; color:var(--muted); }
.viva-app .advanced-category-content select { width:100%; padding:6px; font-size:10px; }
.viva-app .advanced-category-actions { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:5px; }
.viva-app .advanced-category-actions button { padding:4px 7px; font-size:8px; }
.viva-app .advanced-solution-summary { margin-top:6px; }
.viva-app .advanced-solution-summary p { font-size:8px; line-height:1.35; }

/* KPI cards must always communicate whether the shown value is complete or partial. */
.viva-app .kpi-status { display:inline-flex; align-items:center; width:max-content; margin-top:2px; padding:2px 5px; border-radius:999px; font-size:6.5px; font-style:normal; background:#edf2ef; color:#607268; }
.viva-app .kpi-status.is-partial { background:#f7efd8; color:#7a5d1d; }
.viva-app .kpi-status.is-complete { background:#e2f1e7; color:#296146; }

/* Library: larger typography and persistent custom tree. */
.viva-app .library-toolbar input { font-size:11px; padding:7px 8px; }
.viva-app .library-mode-switch button { font-size:10px; }
.viva-app .library-tree-node { border-left:1px solid #d8e3dc; margin-left:5px; padding-left:5px; }
.viva-app .library-tree-toggle {
  display:flex;
  width:100%;
  justify-content:space-between;
  align-items:center;
  gap:6px;
  padding:6px 5px;
  border:0;
  background:transparent;
  text-align:left;
  font-size:10px;
  font-weight:700;
  color:#375f4c;
}
.viva-app .library-tree-toggle:hover { background:#eef5f0; }
.viva-app .library-tree-toggle .tree-caret { font-size:11px; width:14px; text-align:center; }
.viva-app .library-tree-leaf {
  display:block;
  width:100%;
  padding:6px 7px;
  margin:1px 0;
  text-align:left;
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  font-size:9.5px;
}
.viva-app .library-tree-leaf strong { display:block; font-size:9px; }
.viva-app .library-tree-leaf small { display:block; font-size:7.5px; color:var(--muted); margin-top:1px; }
.viva-app .library-tree-leaf.active { border-color:#7ca18b; background:#e5f1e9; }
.viva-app .library-title small { font-size:8px; }
.viva-app .library-title h3 { font-size:16px; }
.viva-app .library-title p { font-size:10.5px; }
.viva-app .library-description { font-size:10px; }
.viva-app .library-section h4 { font-size:10px; }
.viva-app .performance-summary span { font-size:9px; }
.viva-app .performance-summary b { font-size:7px; }
.viva-app .library-fact span { font-size:7px; }
.viva-app .library-fact strong { font-size:9px; }
.viva-app .composition-table { font-size:9px; }
.viva-app .composition-table th,
.viva-app .composition-table td { padding:6px; }
.viva-app .ive-heading h3 { font-size:12px; }
.viva-app .ive-heading p,
.viva-app .ive-table,
.viva-app .ive-totals span { font-size:9px; }

/* 1366x768 is the desktop baseline: collapse the side rail early enough to preserve content width. */
@media (max-width: 1450px) {
  .viva-app { --sidebar-width:320px; --left-column-min:370px; --left-column-max:430px; --upper-middle-min:350px; --upper-right-min:260px; --diamond-size:198px; }
  .viva-app .workspace { gap:7px; padding:7px; }
  .viva-app .dashboard { grid-template-columns:minmax(var(--left-column-min),var(--left-column-max)) minmax(var(--upper-middle-min),1fr) minmax(var(--upper-right-min),.76fr); }
  .viva-app .lower-band { grid-template-columns:minmax(var(--left-column-min),var(--left-column-max)) minmax(0,1fr); }
}
.viva-app .library-tree-summary {
  display:flex;
  width:100%;
  align-items:center;
  gap:6px;
  padding:6px 5px;
  border:0;
  background:transparent;
  text-align:left;
  color:#375f4c;
}
.viva-app .library-tree-summary:hover { background:#eef5f0; }
.viva-app .library-tree-summary > span { width:14px; font-size:12px; flex:0 0 auto; }
.viva-app .library-tree-summary > strong { flex:1; font-size:10px; }
.viva-app .library-tree-summary > b { font-size:8px; color:var(--muted); font-weight:600; }
.viva-app .library-tree-children { padding-left:5px; }
.viva-app .library-tree-leaf { color:#29493b; }
.viva-app .system-family-heading,
.viva-app .advanced-category-heading {
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
  padding:5px 6px;
}
.viva-app .system-family-heading > .tree-toggle,
.viva-app .advanced-category-heading > .tree-toggle {
  width:24px;
  height:24px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:13px;
}
.viva-app .family-focus,
.viva-app .category-focus {
  min-width:0;
  padding:3px 4px;
  border:0;
  background:transparent;
  text-align:left;
  color:#315746;
  justify-content:flex-start;
}
.viva-app .family-focus:hover,
.viva-app .category-focus:hover { background:#edf5f0; }
.viva-app .family-focus span,
.viva-app .category-focus span { display:block; font-size:10px; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.viva-app .category-focus small { display:block; margin-top:1px; color:var(--muted); font-size:7px; }
.viva-app .assignment-state { font-size:7px; padding:3px 6px; border-radius:999px; white-space:nowrap; background:#eff3f0; color:#687970; }
.viva-app .assignment-state.uniform { background:#e0f0e5; color:#296146; }
.viva-app .assignment-state.mixed { background:#f6edd4; color:#775b20; }
.viva-app .advanced-category-body { padding:7px; border-top:1px solid #e5ebe7; background:#fff; }
.viva-app .advanced-category-body label { display:grid; gap:3px; color:var(--muted); font-size:8px; }
.viva-app .advanced-category-body select { width:100%; padding:6px; font-size:10px; }
.viva-app .advanced-solution-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: end;
  gap: 5px;
}
.viva-app .solution-library-link {
  width: 24px;
  height: 24px;
  min-width: 24px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  color: var(--green);
  background: #f5faf6;
  border-color: #b9cec1;
  line-height: 1;
}
.viva-app .solution-library-link > span {
  position: relative;
  width: 8px;
  height: 8px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.viva-app .solution-library-link > span::after {
  content: "";
  position: absolute;
  width: 5px;
  border-top: 1.5px solid currentColor;
  right: -4px;
  bottom: -2px;
  transform: rotate(45deg);
  transform-origin: left center;
}
.viva-app .scenario-solution-code { display: flex; align-items: center; gap: 4px; }
.viva-app .scenario-solution-code .solution-library-link { width: 20px; height: 20px; min-width: 20px; }
.viva-app .system-family.is-viewer-filter,
.viva-app .advanced-category.is-viewer-filter { border-color:#5b9878; box-shadow:inset 3px 0 #5b9878; }

/* V10 — 100% browser zoom desktop balance, persistent IFC renderer and library UX */
.viva-app {
  --sidebar-width: 320px;
  --diamond-size: 196px;
  --left-column-min: 390px;
  --left-column-max: 455px;
  --upper-middle-min: 370px;
  --upper-right-min: 285px;
  font-size: 13px;
}
.viva-app .workspace { gap: 8px; padding: 8px; }
.viva-app main { grid-template-rows: 40px minmax(320px, 47%) var(--main-resizer-height) minmax(0, 1fr); }
.viva-app .dashboard { min-width: 930px; min-height: 330px; gap: 8px; }
.viva-app .lower-band { min-width: 930px; }
.viva-app .controls-panel { padding: 7px; }
.viva-app .diamond { width: min(var(--diamond-size), 100%); }
.viva-app .preference-layout { gap: 7px; }
.viva-app .sliders { gap: 7px 10px; }
.viva-app .slider-label { font-size: 10.5px; }

/* The viewer must never enter a zero-sized display:none state: ThatOpen/Fragments
   remains mounted off-canvas while the Library workspace is visible. */
.viva-app.workspace-library .viewer-panel {
  display: flex !important;
  position: fixed !important;
  left: -12000px !important;
  top: 0 !important;
  width: 720px !important;
  height: 480px !important;
  visibility: hidden !important;
  pointer-events: none !important;
  contain: layout paint size;
}
.viva-app.workspace-library .viewer-panel .viewer { min-height: 380px; }

/* KPI cards now carry a net total plus an area-normalized value when applicable. */
.viva-app .kpi-card { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 7px; align-content: start; min-height: 108px; }
.viva-app .kpi-card > .kpi-icon { grid-column: 1; grid-row: 1 / span 4; }
.viva-app .kpi-card > span,
.viva-app .kpi-card > .kpi-primary-value,
.viva-app .kpi-card > .kpi-normalized-value,
.viva-app .kpi-card > .kpi-status { grid-column: 2; }
.viva-app .kpi-card > span { min-height: 0; font-size: 12px; }
.viva-app .kpi-primary-value,
.viva-app .kpi-normalized-value { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
.viva-app .kpi-primary-value strong { font-size: 18px; margin: 3px 0 0; }
.viva-app .kpi-primary-value small { font-size: 8.5px; }
.viva-app .kpi-normalized-value { margin-top: 2px; padding-top: 3px; border-top: 1px solid #e4ebe6; }
.viva-app .kpi-normalized-value strong { font-size: 13px; margin: 0; color: #285c47; }
.viva-app .kpi-normalized-value small { font-size: 8px; }

/* Library visual language: construction catalogue rather than dense debug panel. */
.viva-app .library-panel { background: #fbfdfb; }
.viva-app .library-panel > .panel-heading { padding: 10px 14px; background: var(--green); color: #fff; }
.viva-app .library-panel > .panel-heading h2 { font-size: 16px; }
.viva-app .library-panel > .panel-heading small { color: #d9e9df; font-size: 10.5px; }
.viva-app .library-content { padding: 12px; }
.viva-app .library-toolbar { display: grid; grid-template-columns: auto minmax(260px,1fr); gap: 10px; align-items: center; padding: 9px; background: #eef5f0; border-color: #d2dfd6; }
.viva-app .library-mode-switch { gap: 5px; }
.viva-app .library-mode-switch button { min-height: 35px; padding: 7px 12px; font-size: 11px; }
.viva-app .library-toolbar input { min-height: 36px; padding: 8px 10px; font-size: 11.5px; border-color: #b9cbbf; }
.viva-app .library-browser { display: grid; grid-template-columns: minmax(320px,.88fr) minmax(0,1.75fr); gap: 12px; margin-top: 10px; min-height: 0; }
.viva-app .library-tree { padding: 8px; border: 1px solid #d8e3dc; border-radius: 7px; background: #fff; overflow: auto; }
.viva-app .library-tree-node { margin-left: 4px; padding-left: 7px; }
.viva-app .library-tree-summary { min-height: 31px; padding: 6px 7px; border-radius: 5px; }
.viva-app .library-tree-summary > span { font-size: 13px; }
.viva-app .library-tree-summary > strong { font-size: 11px; }
.viva-app .library-tree-summary > b { font-size: 9px; background: #edf4ef; padding: 2px 6px; border-radius: 999px; }
.viva-app .library-tree-leaf { padding: 7px 8px; margin: 2px 0; font-size: 10.5px; border-radius: 5px; }
.viva-app .library-tree-leaf strong { font-size: 10px; color: #154b39; }
.viva-app .library-tree-leaf small,
.viva-app .library-tree-leaf span { font-size: 9px !important; line-height: 1.3; }
.viva-app .library-tree-leaf.active { box-shadow: inset 3px 0 var(--green); }
.viva-app .library-detail { min-width: 0; padding: 12px 13px; border: 1px solid #d8e3dc; border-radius: 7px; background: #fff; overflow: auto; }
.viva-app .library-title { padding-bottom: 9px; }
.viva-app .library-title small { font-size: 9px; color: #557063; }
.viva-app .library-title h3 { font-size: 18px; color: var(--green-dark); }
.viva-app .library-title p { font-size: 11.5px; }
.viva-app .library-title > span { font-size: 9.5px; padding: 6px 8px; background: #e5f0e8; color: #24563f; }
.viva-app .library-description { font-size: 11px; line-height: 1.55; color: #425f52; }
.viva-app .library-metrics { gap: 7px; }
.viva-app .library-metric { border: 1px solid #dce6df; border-radius: 6px; padding: 8px; background: #f9fcfa; }
.viva-app .library-metric span { font-size: 9px; color: #536c60; }
.viva-app .library-metric strong { font-size: 16px; color: #16543e; }
.viva-app .library-metric small { font-size: 8px; line-height: 1.35; }
.viva-app .library-section { margin-top: 14px; padding-top: 11px; border-top: 1px solid #e2e9e4; }
.viva-app .library-section h4 { font-size: 11px; color: var(--green-dark); letter-spacing: .35px; }
.viva-app .performance-summary { gap: 6px; }
.viva-app .performance-summary span { padding: 7px; font-size: 10px; background: #f7faf8; }
.viva-app .performance-summary b { font-size: 8px; }
.viva-app .technical-grid { gap: 6px; }
.viva-app .library-fact { padding: 6px; border: 1px solid #e1e9e4; border-radius: 5px; background: #fbfdfc; }
.viva-app .library-fact span { font-size: 8px; }
.viva-app .library-fact strong { font-size: 10px; line-height: 1.35; }
.viva-app .composition-table-wrap { max-height: 240px; border: 1px solid #e0e7e2; border-radius: 6px; }
.viva-app .composition-table { font-size: 9.5px; }
.viva-app .composition-table th { position: sticky; top: 0; background: #eef5f0; color: #254c3c; z-index: 1; }
.viva-app .composition-table th,
.viva-app .composition-table td { padding: 7px 8px; }
.viva-app .library-breakdown { padding: 11px 12px; }
.viva-app .ive-heading h3 { font-size: 13px; color: var(--green-dark); }
.viva-app .ive-heading p { font-size: 9.5px; }
.viva-app .ive-totals span { padding: 5px 8px; font-size: 9.5px; }
.viva-app .ive-totals b { font-size: 7.5px; }
.viva-app .ive-table { font-size: 9.5px; }
.viva-app .ive-table th { background: #f0f5f2; color: #2a5442; }
.viva-app .ive-table th,
.viva-app .ive-table td { padding: 7px 8px; }

@media (max-width: 1450px) {
  .viva-app {
    --sidebar-width: 280px;
    --left-column-min: 335px;
    --left-column-max: 385px;
    --upper-middle-min: 325px;
    --upper-right-min: 250px;
    --diamond-size: 170px;
    font-size: 12.5px;
  }
  .viva-app .workspace { gap: 6px; padding: 6px; }
  .viva-app .sidebar { padding: 7px; }
  .viva-app .dashboard { min-width: 900px; grid-template-columns:minmax(335px,385px) minmax(325px,1fr) minmax(250px,.76fr); gap: 6px; }
  .viva-app .lower-band { min-width: 900px; grid-template-columns:minmax(335px,385px) minmax(0,1fr); gap: 6px; }
  .viva-app .panel-heading, .viva-app .table-heading { padding: 7px 8px; }
  .viva-app .kpi-card { padding: 7px; min-height: 96px; }
  .viva-app .library-content { padding: 9px; }
  .viva-app .library-browser { grid-template-columns: minmax(285px,.82fr) minmax(0,1.7fr); gap: 9px; }
}

/* V10 readability floor for 100% browser zoom. Keep density, remove the 80%-zoom dependency. */
.viva-app .mode-switch button { font-size:11px; }
.viva-app .context label,
.viva-app .context-factor-row label span { font-size:10.5px; }
.viva-app .context select { font-size:11px; }
.viva-app .panel-heading small,
.viva-app .table-heading p,
.viva-app .table-heading small { font-size:10.5px; }
.viva-app .scenario-card-title strong { font-size:11px; }
.viva-app .scenario-card-title small { font-size:8.5px; }
.viva-app .scenario-card-header .scenario-metrics small { font-size:7.5px; }
.viva-app .scenario-card-header .scenario-metrics b { font-size:9px; }
.viva-app .scenario-decisions { font-size:9.5px; }
.viva-app .decision-metrics span { font-size:8px; }
.viva-app .scenario-metric-legend { font-size:7px; }
.viva-app .advanced-category-heading strong { font-size:11px; }
.viva-app .advanced-category-body label { font-size:9px; }
.viva-app .advanced-category-body select { font-size:10.5px; }
.viva-app .advanced-solution-summary p { font-size:9px; }
.viva-app .mini-viva-metrics small { font-size:7px; }
.viva-app .mini-viva-metrics b { font-size:9px; }
.viva-app table { font-size:10.5px; }
.viva-app th { font-size:9.5px; }
.viva-app .kpi-card small { font-size:9px; }
.viva-app .evaluation-details,
.viva-app .details-body { font-size:10px; }
.viva-app .kpi-normalized-value small { font-size:8.5px; }
.viva-app .library-tree-summary > strong { font-size:12px; }
.viva-app .library-tree-summary > b { font-size:9.5px; }
.viva-app .library-tree-leaf { font-size:11px; }
.viva-app .library-tree-leaf strong { font-size:11px; }
.viva-app .library-tree-leaf small,
.viva-app .library-tree-leaf span { font-size:9.5px !important; }
.viva-app .library-title small { font-size:9.5px; }
.viva-app .library-title p { font-size:12px; }
.viva-app .library-description { font-size:11.5px; }
.viva-app .library-section h4 { font-size:11.5px; }
.viva-app .library-metric span { font-size:9.5px; }
.viva-app .library-metric small { font-size:9px; }
.viva-app .performance-summary span { font-size:10.5px; }
.viva-app .performance-summary b { font-size:8.5px; }
.viva-app .library-fact span { font-size:8.5px; }
.viva-app .library-fact strong { font-size:10.5px; }
.viva-app .composition-table,
.viva-app .ive-table { font-size:10.5px; }
.viva-app .ive-heading p,
.viva-app .ive-totals span { font-size:10px; }

/* --------------------------------------------------------------------------
   V12 — two workspaces with the same vertical composition
   -------------------------------------------------------------------------- */
.viva-app {
  --workspace-left-width: clamp(360px, 27vw, 400px);
}
.viva-app .notice {
  min-width: 0;
  max-width: 520px;
  margin-left: auto;
  padding: 5px 9px;
  border-radius: 5px;
  font-size: 10px;
  line-height: 1.3;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.viva-app .notice.success { background: #edf6ef; color: #285f43; }
.viva-app .notice.warning { background: #faf5e8; color: #7a5a19; }
.viva-app .notice.error { background: #faecec; color: #873838; }
.viva-app .upload { margin-left: 0; flex-shrink: 0; }

.viva-app main {
  grid-template-rows: 38px minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}
.viva-app .main-workspace-header {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 4px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f5f8f6;
}
.viva-app .main-workspace-header button {
  min-width: 0;
  padding: 5px 9px;
  border: 0;
  background: transparent;
  font-size: 10.5px;
  line-height: 1.15;
}
.viva-app .main-workspace-header button b { margin-right: 5px; }
.viva-app .main-workspace-header button.active {
  background: #e0efdf;
  box-shadow: inset 0 0 0 1px #a8c5ae;
  color: var(--green-dark);
}

.viva-app .workspace-surface {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: var(--workspace-left-width) minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}
/* Both workspaces deliberately stay laid out in the same grid cell. Do not use
   display:none here: the building WebGL canvas must keep a non-zero viewport while
   the user inspects the library so it can be shown again without reloading the IFC. */
.viva-app .main-workspace-header {
  grid-column: 1;
  grid-row: 1;
}
.viva-app .workspace-surface {
  grid-column: 1;
  grid-row: 2;
}
.viva-app .workspace-surface.is-inactive {
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}
.viva-app .workspace-surface:not(.is-inactive) {
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.viva-app .workspace-left,
.viva-app .workspace-right,
.viva-app .workspace-right-upper {
  min-width: 0;
  min-height: 0;
}
.viva-app .workspace-left {
  display: grid;
  gap: 8px;
  overflow: hidden;
}
.viva-app .optimize-left {
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}
.viva-app .library-left {
  grid-template-rows: minmax(0, 1fr);
}
.viva-app .workspace-right {
  display: grid;
  grid-template-rows: minmax(230px, 1fr) var(--main-resizer-height) minmax(220px, 1fr);
  gap: 0;
  overflow: hidden;
}
.viva-app .workspace-right-upper {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(300px, .9fr);
  gap: 8px;
  overflow: hidden;
}
.viva-app .right-resizer {
  min-height: var(--main-resizer-height);
  margin: 0 3px;
}
.viva-app .right-resizer::before { width: min(150px, 36%); }

/* Controls and systems share the left vertical. Only systems scroll. */
.viva-app .controls-panel {
  min-height: 0;
  overflow: hidden;
}
.viva-app .controls-panel .controls-scroll { overflow: hidden; }
.viva-app .systems-panel { min-height: 0; overflow: hidden; }
.viva-app .systems-panel .systems-scroll { min-height: 0; overflow: auto; }
.viva-app .preference-layout {
  grid-template-columns: minmax(170px, 1.1fr) minmax(130px, 0.9fr);
  grid-template-rows: 1fr;
  align-items: center;
  justify-items: stretch;
  gap: 6px;
  flex: 1;
}
.viva-app .radar-zone { align-content: center; }
.viva-app .diamond {
  --diamond-size: 186px;
  width: min(var(--diamond-size), 100%);
  max-height: 186px;
}
.viva-app .diamond > svg {
  position: absolute;
  inset: 9px;
  width: calc(100% - 18px);
  height: calc(100% - 18px);
}
.viva-app .sliders {
  grid-template-columns: 1fr;
  align-content: center;
  gap: 8px;
  margin: 0;
}
.viva-app .sliders label { width: 100%; }
.viva-app .actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.viva-app .actions [data-ui="evaluate-building"] { grid-column: auto; }

/* Building viewer + building KPIs in the right upper half. */
.viva-app .optimize-upper > .viewer-panel,
.viva-app .building-kpi-panel,
.viva-app .library-viewer-panel,
.viva-app .library-kpi-panel,
.viva-app .measurement-panel,
.viva-app .library-breakdown-panel,
.viva-app .library-panel {
  min-width: 0;
  min-height: 0;
}
.viva-app .building-kpi-panel {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.viva-app .building-kpi-panel .kpi-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 8px;
  flex-shrink: 0;
}
.viva-app .building-kpi-panel .kpi-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 88px;
  padding: 5px 8px;
  text-align: center;
}
.viva-app .building-kpi-panel .kpi-card > .kpi-icon {
  position: static;
  display: block;
  width: 28px;
  height: 28px;
  margin: 0 auto 2px;
  background: var(--color-primary, #378a41);
  grid-column: auto;
  grid-row: auto;
}
.viva-app .building-kpi-panel .kpi-card > span,
.viva-app .building-kpi-panel .kpi-card > .kpi-primary-value,
.viva-app .building-kpi-panel .kpi-card > .kpi-normalized-value,
.viva-app .building-kpi-panel .kpi-card > .kpi-status { grid-column: auto; }
.viva-app .building-kpi-panel .kpi-card > span {
  min-height: 0;
  font-size: 10px;
  text-align: center;
}
.viva-app .building-kpi-panel .kpi-primary-value,
.viva-app .building-kpi-panel .kpi-normalized-value {
  justify-content: center;
  text-align: center;
}
.viva-app .building-kpi-panel .kpi-primary-value strong { margin-top: 1px; font-size: 17px; }
.viva-app .building-kpi-panel .kpi-normalized-value { width: 100%; justify-content: center; }
.viva-app .building-kpi-panel .kpi-detail-tabs {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-top: 1px solid var(--line);
}
.viva-app .optimize-workspace .building-kpi-panel > .kpi-detail-tabs { display: none; }
.viva-app .building-kpi-panel .details-body { min-height: 0; max-height: none; flex: 1; overflow: auto; }
.viva-app .kpi-status.is-incomplete { color: #7b5b24; background: #f8f0df; }
.viva-app .evaluation-state { margin: 6px 8px 0; padding: 6px 8px; border: 1px solid #d7ad55; border-radius: 5px; background: #fff5dc; color: #745114; font-size: 8px; font-weight: 700; line-height: 1.35; }
.viva-app .evaluation-state[hidden] { display: none; }
.viva-app.results-stale .building-kpi-panel { border-color: #d1a64b; box-shadow: 0 0 0 1px #d1a64b33; }
.viva-app.results-stale .building-kpi-panel .kpi-card { background: #fffaf0; }
.viva-app.results-stale [data-measurement-view="active"] tbody { opacity: .72; }

/* KPI detail workspace reuses the live optimization controls on the left and
   replaces only the right side with four independently scrollable panels. */
.viva-app.workspace-kpis .optimize-right {
  visibility: hidden;
  pointer-events: none;
}
.viva-app .kpi-details-workspace {
  z-index: 2;
  pointer-events: none !important;
}
.viva-app .kpi-details-right {
  grid-column: 2;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px;
  overflow: hidden;
  pointer-events: auto;
}
.viva-app .kpi-detail-panel { min-width: 0; min-height: 0; }
.viva-app .kpi-detail-panel > .kpi-card {
  flex-shrink: 0;
  margin: 7px;
  min-height: 88px;
}
.viva-app .kpi-detail-body {
  border-top: 1px solid var(--line);
  padding: 8px;
}
.viva-app .kpi-detail-energy .operation-grid {
  min-width: 0;
}
.viva-app .kpi-detail-energy .operation-card {
  min-width: 0;
  overflow: hidden;
}
.viva-app .kpi-detail-energy .operation-card h4 {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.viva-app .kpi-detail-energy .operation-card dd {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

/* Lower panels occupy only the right vertical and are the only panels affected by the resizer. */
.viva-app .measurement-panel,
.viva-app .library-breakdown-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 8px;
}
.viva-app .measurement-tabs { flex-shrink: 0; }
.viva-app .measurement-tabs button { flex: 0 1 auto; min-width: 105px; }

/* Unified Library tree: System → Subsystem → Archetype → solution, with
   Instalaciones → Configuraciones de sistema → family → SystemConfiguration. */
.viva-app .library-panel {
  display: flex !important;
  flex-direction: column;
  grid-column: auto !important;
  overflow: hidden;
  background: #fbfdfb;
}
.viva-app .library-panel > .panel-heading {
  padding: 9px 11px;
  background: var(--green);
  color: #fff;
}
.viva-app .library-panel > .panel-heading h2 { font-size: 14px; }
.viva-app .library-panel > .panel-heading small { color: #dcebe2; font-size: 9px; }
.viva-app .library-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 8px;
  overflow: hidden;
}
.viva-app .library-toolbar {
  display: block;
  flex-shrink: 0;
  margin: 0 0 7px;
  padding: 0;
  border: 0;
  background: transparent;
}
.viva-app .library-toolbar input {
  min-height: 34px;
  font-size: 10.5px;
}
.viva-app .library-list.library-tree {
  --library-system-font-size: 14px;
  --library-subsystem-font-size: 12.5px;
  --library-archetype-font-size: 10.5px;
  --library-solution-font-size: 9px;
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow: auto;
  margin: 0;
  padding: 5px;
  border: 1px solid #d8e3dc;
  border-radius: 7px;
  background: #fff;
}
.viva-app .library-tree-node { margin: 0 0 1px 3px; padding-left: 5px; border-left: 1px solid #e3ebe6; }
.viva-app .library-tree-node.level-system { border-left: 2px solid var(--green); }
.viva-app .library-tree-node.level-subsystem { border-left-color: #7eaa91; }
.viva-app .library-tree-node.level-archetype { border-left-color: #c5d8cc; }
.viva-app .library-tree-children { padding-left: 5px; }
.viva-app .library-tree-summary {
  width: 100%;
  min-height: 29px;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  padding: 5px 6px !important;
  margin: 0;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  text-align: left;
}
.viva-app .library-tree-summary:hover { background: #f1f6f2 !important; }
.viva-app .library-tree-summary > span { font-size: 12px !important; color: #6a8175; text-align: center; }
.viva-app .library-tree-summary > strong { min-width: 0; font-size: 10.5px; white-space: normal; }
.viva-app .library-tree-summary > b { font-size: 8.5px; background: #edf4ef; padding: 2px 5px; border-radius: 999px; }
.viva-app .library-tree-node.level-system > .library-tree-summary {
  min-height: 36px;
  background: var(--green-soft) !important;
}
.viva-app .library-tree-node.level-system > .library-tree-summary > strong {
  color: var(--green-dark);
  font-size: var(--library-system-font-size);
  font-weight: 800;
}
.viva-app .library-tree-node.level-subsystem > .library-tree-summary > strong {
  color: var(--green);
  font-size: var(--library-subsystem-font-size);
  font-weight: 750;
}
.viva-app .library-tree-node.level-archetype > .library-tree-summary > strong {
  color: #527363;
  font-size: var(--library-archetype-font-size);
  font-weight: 650;
}
.viva-app .library-tree-leaf {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(86px, .62fr) minmax(0, 1.38fr);
  align-items: start;
  gap: 5px;
  min-height: 30px;
  margin: 1px 0;
  padding: 6px 7px !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  background: #fff !important;
}
.viva-app .library-tree-leaf:hover { background: #f3f8f4 !important; }
.viva-app .library-tree-leaf.active {
  background: #e7f2e9 !important;
  border-color: #a7c6b0 !important;
  box-shadow: inset 3px 0 #3f9f72;
}
.viva-app .library-tree-leaf strong { font-size: var(--library-solution-font-size); color: #245640; overflow-wrap: anywhere; }
.viva-app .library-tree-leaf span { font-size: var(--library-solution-font-size) !important; line-height: 1.25; color: #5b6e65; }

/* Library upper half: independent IFC viewer and product KPIs. */
.viva-app .library-viewer-panel,
.viva-app .library-kpi-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.viva-app .library-viewer { flex: 1; min-height: 0; }
.viva-app .library-product-heading h2 { max-width: 32ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viva-app .library-product-heading small { display: block; max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viva-app .library-kpi-panel .kpi-panel-heading { flex-shrink: 0; }
.viva-app .library-kpi-grid {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(118px, 1fr);
  gap: 7px;
  padding: 8px;
  overflow: auto;
}
.viva-app .library-kpi-grid > .empty { grid-column: 1 / -1; align-self: center; text-align: center; }
.viva-app .library-product-kpi {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfdfb;
  text-align: center;
}
.viva-app .library-product-kpi img { width: 27px; height: 27px; object-fit: contain; }
.viva-app .library-product-kpi > span { font-size: 9.5px; font-weight: 700; color: #60756a; }
.viva-app .library-product-kpi > strong { font-size: 17px; color: #174b38; line-height: 1.1; }
.viva-app .library-product-kpi > small { font-size: 8px; color: var(--muted); }
.viva-app .library-raw-value {
  width: 100%;
  margin-top: 4px;
  padding-top: 5px;
  border-top: 1px solid #e2e9e4;
  display: grid;
  gap: 1px;
}
.viva-app .library-raw-value b { font-size: 7.5px; color: var(--muted); font-weight: 700; }
.viva-app .library-raw-value span { font-size: 9px; color: #385a4b; overflow-wrap: anywhere; }

.viva-app .library-breakdown-panel { display: flex !important; grid-column: auto !important; }
.viva-app .library-detail-tabs button { flex: 1 1 0; min-width: 0; }
.viva-app .library-breakdown {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 10px 11px;
}
.viva-app .library-detail-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e2e9e4;
}
.viva-app .library-detail-heading small { font-size: 8.5px; color: var(--muted); }
.viva-app .library-detail-heading h3 { margin: 2px 0; font-size: 15px; color: var(--green-dark); }
.viva-app .library-detail-heading p { margin: 0; font-size: 10px; }
.viva-app .library-detail-heading > span { flex-shrink: 0; padding: 4px 6px; border-radius: 4px; background: #edf4ef; font-size: 8.5px; color: #285f46; }
.viva-app .library-description { font-size: 10px; line-height: 1.45; }
.viva-app .configuration-performance-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.viva-app .library-breakdown .table-scroll { max-height: none; overflow: auto; }

/* The old workspace-library selectors are intentionally neutralized for the
   new independent surfaces. The building viewer remains mounted in its own
   workspace and is resized again when that workspace becomes visible. */
.viva-app.workspace-library .library-viewer-panel,
.viva-app.workspace-library .library-kpi-panel,
.viva-app.workspace-library .library-breakdown-panel,
.viva-app.workspace-library .library-panel { display: flex !important; }

@media (max-width: 1320px) {
  .viva-app .preference-layout {
    grid-template-columns: minmax(165px, 1.05fr) minmax(125px, .95fr);
  }
  .viva-app .diamond {
    --diamond-size: 174px;
    max-height: 174px;
  }
}

@media (max-width: 980px) {
  .viva-app .workspace { overflow: auto; }
  .viva-app main { min-width: 820px; }
  .viva-app .workspace-surface { grid-template-columns: 345px minmax(0, 1fr); }
  .viva-app .workspace-right-upper { grid-template-columns: minmax(330px, 1fr) minmax(260px, .85fr); }
  .viva-app .notice { display: none; }
}

@media (max-width: 760px) {
  html, body, #viva-root { overflow: auto; }
  .viva-app { height: auto; min-height: 100dvh; overflow: visible; }
  .viva-app .app-header { height: auto; min-height: 64px; flex-wrap: wrap; gap: 8px 14px; padding: 10px 14px; }
  .viva-app .workspace { height: auto; grid-template-columns: 1fr; overflow: visible; }
  .viva-app .sidebar { width: 100%; max-height: none; }
  .viva-app main { min-width: 0; min-height: 900px; overflow: visible; }
  .viva-app .workspace-surface { grid-template-columns: 1fr; overflow: visible; }
  .viva-app .workspace-left { min-height: 640px; }
  .viva-app .workspace-right { min-height: 850px; grid-template-rows: minmax(470px, 1fr) minmax(330px, auto); gap: 8px; overflow: visible; }
  .viva-app .workspace-right-upper { grid-template-columns: 1fr; grid-template-rows: minmax(300px, 1fr) minmax(300px, auto); overflow: visible; }
  .viva-app .right-resizer { display: none !important; }
  .viva-app .library-left { min-height: 600px; }
  .viva-app .kpi-details-workspace { grid-template-rows: 640px auto; }
  .viva-app .kpi-details-right {
    grid-column: 1;
    grid-row: 2;
    min-height: 1500px;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, minmax(350px, auto));
    overflow: visible;
  }
  .viva-app .kpi-detail-energy .operation-grid {
    gap: 3px;
  }
  .viva-app .kpi-detail-energy .operation-card {
    padding: 4px;
    font-size: 8px;
  }
  .viva-app .kpi-detail-energy .operation-card h4 {
    margin-bottom: 3px;
    font-size: 9px;
  }
  .viva-app .kpi-detail-energy .operation-card dl {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .viva-app .kpi-detail-energy .operation-card dd {
    text-align: left;
  }
}

/* VIVA baseline reference: immutable IFC snapshot, refreshed only by scenario/climate. */
.viva-app .baseline-panel{border:1px solid #cfded5;border-radius:7px;background:linear-gradient(145deg,#f8fbf9,#fff);padding:8px;margin-bottom:8px;box-shadow:0 2px 7px rgba(31,78,58,.05)}
.viva-app .baseline-heading{display:flex;justify-content:space-between;gap:6px;margin-bottom:7px}.viva-app .baseline-heading small{display:block;font-size:7px;letter-spacing:1px;font-weight:850;color:#527564}.viva-app .baseline-heading b{display:block;margin-top:2px;font-size:10px;color:#174b38;line-height:1.25}
.viva-app .baseline-scenario{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-bottom:7px}.viva-app .baseline-scenario>span{font-size:9px;font-weight:750;color:#526c5e}.viva-app .baseline-scenario select{min-width:0;padding:5px;font-size:9px}
.viva-app .baseline-content{display:grid;gap:5px}.viva-app .baseline-metric{position:relative;border:1px solid #e0e9e4;border-radius:6px;background:#fff;padding:6px 7px}.viva-app .baseline-metric>span{display:block;font-size:8px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;color:#60776b}.viva-app .baseline-metric>div{display:flex;align-items:baseline;gap:4px;margin-top:2px;flex-wrap:wrap}.viva-app .baseline-metric strong{font-size:15px;color:#174b38}.viva-app .baseline-metric small{font-size:8px;color:#526c5e}.viva-app .baseline-metric p{margin:2px 0 0;font-size:8px;color:var(--muted)}
.viva-app .baseline-status{position:absolute;right:6px;top:6px;font-style:normal;font-size:6px;padding:2px 4px;border-radius:999px;background:#edf2ef;color:#607268}.viva-app .baseline-status.is-complete{background:#e2f1e7;color:#296146}.viva-app .baseline-status.is-partial{background:#f7efd8;color:#7a5d1d}.viva-app .baseline-status.is-incomplete{background:#f8f0df;color:#7b5b24}
.viva-app .baseline-note,.viva-app .baseline-empty,.viva-app .baseline-refreshing{font-size:7.5px;color:var(--muted);line-height:1.35}.viva-app .baseline-note{margin:6px 1px 0}.viva-app .baseline-empty{margin:4px 0}.viva-app .baseline-refreshing{margin:2px 0 0;color:#527564}

/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/assets/index.scss (2) ***!
  \********************************************************************************************************************/
@charset "UTF-8";
:root {
  --color-white: #fff;
  --color-black: #000;
  --color-gray-100: #f1f3fa;
  --color-gray-200: #e3eaef;
  --color-gray-300: #dee2e6;
  --color-gray-400: #ced4da;
  --color-gray-500: #adb5bd;
  --color-gray-600: #98a6ad;
  --color-gray-700: #707070;
  --color-gray-900: #313a46;
  --color-blue: #595d71;
  --color-cyan: #4096DA;
  --color-highlight: #FFB300;
  --color-ai-accent: #7C3AED;
  --color-highlight-rgb: 255, 179, 0;
  --color-primary: #378a41;
  --color-primary-rgb: 55, 138, 65;
  --color-palette-primary: #378a41;
  --color-palette-accent-rose: #8a374f;
  --color-palette-forest: #304a33;
  --color-palette-plum: #35272b;
  --color-palette-mint: #e5ffe8;
  --color-success: #304a33;
  --color-danger: #8a374f;
  --color-info: #4096DA;
  --color-creator-surface: #f5fff6;
  --color-creator-surface-hover: #ebf9ed;
  --color-creator-text: #304a33;
  --color-creator-card-bg: #fbfffb;
  --color-creator-card-hover-bg: #e5ffe8;
  --color-creator-card-active-bg: #ddf3e0;
  --color-creator-muted-text: #5f6368;
  --color-draw-section-active: #7C3AED;
  --color-draw-section-handle-base: #0b1028;
  --color-editable-point-hover: #00a880;
  --color-drawing-accent: #ff9900;
  --color-surroundings-default: #6296ff;
  --color-surroundings-hover: #8affda;
  --color-surroundings-selected: #65fccc;
  --color-section-variant-frame: #a1a2a3;
  --color-section-roof-line: #000;
  --color-section-exterior-line: #707070;
  --color-solar-unsuitable: #ff5757;
  --color-solar-suitable: #4fff4f;
  --color-solar-analysis-red: #ff0000;
  --color-solar-analysis-green: #00ff00;
  --color-solar-analysis-green-dark: #00c000;
  --color-draw-section-corner-tint-three: #7C3AED;
  --color-draw-section-corner-tint-preview: #7C3AED;
}

/*!
 * Bootstrap v4.5.3 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #595d71;
  --indigo: #EE0979;
  --purple: #6b5eae;
  --pink: #ff679b;
  --red: #D05F66;
  --orange: #fd7e14;
  --yellow: #DA7A40;
  --green: #304a33;
  --teal: #02a8b5;
  --cyan: #4096DA;
  --white: #fff;
  --gray: #adb5bd;
  --gray-dark: #343a40;
  --primary: #378a41;
  --secondary: #35272b;
  --success: #304a33;
  --info: #4096DA;
  --warning: #DA7A40;
  --danger: #8a374f;
  --light: #e5ffe8;
  --dark: #313a46;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1280px;
  --breakpoint-xxl: 1400px;
  --font-family-sans-serif: "Nunito Sans", sans-serif;
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: "Nunito Sans", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #313a46;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 900;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #378a41;
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: #215327;
  text-decoration: underline;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #98a6ad;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1, .h1 {
  font-size: 2.5rem;
}

h2, .h2 {
  font-size: 2rem;
}

h3, .h3 {
  font-size: 1.75rem;
}

h4, .h4 {
  font-size: 1.5rem;
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
  font-size: 80%;
  font-weight: 500;
}

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #98a6ad;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 90%;
  color: #98a6ad;
}

code {
  font-size: 87.5%;
  color: #ff679b;
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #313a46;
  border-radius: 0.2rem;
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 900;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #313a46;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1280px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xxl,
.col-xxl-auto, .col-xxl-12, .col-xxl-11, .col-xxl-10, .col-xxl-9, .col-xxl-8, .col-xxl-7, .col-xxl-6, .col-xxl-5, .col-xxl-4, .col-xxl-3, .col-xxl-2, .col-xxl-1, .col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-last {
    order: 13;
  }

  .order-sm-0 {
    order: 0;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-last {
    order: 13;
  }

  .order-md-0 {
    order: 0;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-last {
    order: 13;
  }

  .order-lg-0 {
    order: 0;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1280px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-last {
    order: 13;
  }

  .order-xl-0 {
    order: 0;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-xxl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-xxl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-xxl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-xxl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-xxl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-xxl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-xxl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xxl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xxl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xxl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xxl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xxl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xxl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xxl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xxl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xxl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xxl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xxl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xxl-first {
    order: -1;
  }

  .order-xxl-last {
    order: 13;
  }

  .order-xxl-0 {
    order: 0;
  }

  .order-xxl-1 {
    order: 1;
  }

  .order-xxl-2 {
    order: 2;
  }

  .order-xxl-3 {
    order: 3;
  }

  .order-xxl-4 {
    order: 4;
  }

  .order-xxl-5 {
    order: 5;
  }

  .order-xxl-6 {
    order: 6;
  }

  .order-xxl-7 {
    order: 7;
  }

  .order-xxl-8 {
    order: 8;
  }

  .order-xxl-9 {
    order: 9;
  }

  .order-xxl-10 {
    order: 10;
  }

  .order-xxl-11 {
    order: 11;
  }

  .order-xxl-12 {
    order: 12;
  }

  .offset-xxl-0 {
    margin-left: 0;
  }

  .offset-xxl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xxl-2 {
    margin-left: 16.6666666667%;
  }

  .offset-xxl-3 {
    margin-left: 25%;
  }

  .offset-xxl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xxl-5 {
    margin-left: 41.6666666667%;
  }

  .offset-xxl-6 {
    margin-left: 50%;
  }

  .offset-xxl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xxl-8 {
    margin-left: 66.6666666667%;
  }

  .offset-xxl-9 {
    margin-left: 75%;
  }

  .offset-xxl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #313a46;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #313a46;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #c7deca;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #97c29c;
}

.table-hover .table-primary:hover {
  background-color: #b7d5bb;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #b7d5bb;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #c6c3c4;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #968f91;
}

.table-hover .table-secondary:hover {
  background-color: #bab6b7;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #bab6b7;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c5ccc6;
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #93a195;
}

.table-hover .table-success:hover {
  background-color: #b7c0b9;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #b7c0b9;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #cae2f5;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #9cc8ec;
}

.table-hover .table-info:hover {
  background-color: #b5d6f1;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #b5d6f1;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #f5daca;
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ecba9c;
}

.table-hover .table-warning:hover {
  background-color: #f1cbb5;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #f1cbb5;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #dec7ce;
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #c297a3;
}

.table-hover .table-danger:hover {
  background-color: #d5b7c0;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #d5b7c0;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #f8fff9;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #f1fff3;
}

.table-hover .table-light:hover {
  background-color: #dfffe3;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #dfffe3;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c5c8cb;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #94999f;
}

.table-hover .table-dark:hover {
  background-color: #b8bbbf;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b8bbbf;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th {
  color: #707070;
  background-color: #e3eaef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1279.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xxl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #707070;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #707070;
}
.form-control:focus {
  color: #707070;
  background-color: #fff;
  border-color: #78c981;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.form-control::placeholder {
  color: #98a6ad;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e3eaef;
  opacity: 1;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
  appearance: none;
}

select.form-control:focus::-ms-value {
  color: #707070;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #313a46;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  color: #98a6ad;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #304a33;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(48, 74, 51, 0.9);
  border-radius: 0.25rem;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #304a33;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23304a33%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #304a33;
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #304a33;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%275%27 viewBox=%270 0 4 5%27%3e%3cpath fill=%27%23343a40%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23304a33%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #304a33;
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #304a33;
}
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #304a33;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #304a33;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #446948;
  background-color: #446948;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.25);
}
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #304a33;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #304a33;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #304a33;
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #8a374f;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(138, 55, 79, 0.9);
  border-radius: 0.25rem;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #8a374f;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%238a374f%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%238a374f%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #8a374f;
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #8a374f;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%275%27 viewBox=%270 0 4 5%27%3e%3cpath fill=%27%23343a40%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%238a374f%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%238a374f%27 stroke=%27none%27/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #8a374f;
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #8a374f;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #8a374f;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #8a374f;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #ae4664;
  background-color: #ae4664;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.25);
}
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #8a374f;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #8a374f;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #8a374f;
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
.form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 500;
  color: #313a46;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #313a46;
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.btn-primary:hover {
  color: #fff;
  background-color: #2c6f34;
  border-color: #286630;
}
.btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #2c6f34;
  border-color: #286630;
  box-shadow: 0 0 0 0.2rem rgba(85, 156, 94, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #286630;
  border-color: #255c2c;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(85, 156, 94, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #35272b;
  border-color: #35272b;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #1f1719;
  border-color: #181113;
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #fff;
  background-color: #1f1719;
  border-color: #181113;
  box-shadow: 0 0 0 0.2rem rgba(83, 71, 75, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #35272b;
  border-color: #35272b;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #181113;
  border-color: #100c0d;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(83, 71, 75, 0.5);
}

.btn-success, .btn-success-gradient {
  color: #fff;
  background-color: #304a33;
  border-color: #304a33;
}
.btn-success:hover, .btn-success-gradient:hover {
  color: #fff;
  background-color: #213323;
  border-color: #1c2b1e;
}
.btn-success:focus, .btn-success-gradient:focus, .btn-success.focus, .focus.btn-success-gradient {
  color: #fff;
  background-color: #213323;
  border-color: #1c2b1e;
  box-shadow: 0 0 0 0.2rem rgba(79, 101, 82, 0.5);
}
.btn-success.disabled, .disabled.btn-success-gradient, .btn-success:disabled, .btn-success-gradient:disabled {
  color: #fff;
  background-color: #304a33;
  border-color: #304a33;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success-gradient:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .btn-success-gradient:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle, .show > .dropdown-toggle.btn-success-gradient {
  color: #fff;
  background-color: #1c2b1e;
  border-color: #172318;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success-gradient:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .btn-success-gradient:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus, .show > .dropdown-toggle.btn-success-gradient:focus {
  box-shadow: 0 0 0 0.2rem rgba(79, 101, 82, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #4096DA;
  border-color: #4096DA;
}
.btn-info:hover {
  color: #fff;
  background-color: #2883cc;
  border-color: #257dc2;
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: #2883cc;
  border-color: #257dc2;
  box-shadow: 0 0 0 0.2rem rgba(93, 166, 224, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #4096DA;
  border-color: #4096DA;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #257dc2;
  border-color: #2376b7;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(93, 166, 224, 0.5);
}

.btn-warning {
  color: #fff;
  background-color: #DA7A40;
  border-color: #DA7A40;
}
.btn-warning:hover {
  color: #fff;
  background-color: #cc6628;
  border-color: #c26025;
}
.btn-warning:focus, .btn-warning.focus {
  color: #fff;
  background-color: #cc6628;
  border-color: #c26025;
  box-shadow: 0 0 0 0.2rem rgba(224, 142, 93, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #fff;
  background-color: #DA7A40;
  border-color: #DA7A40;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #c26025;
  border-color: #b75b23;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(224, 142, 93, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #8a374f;
  border-color: #8a374f;
}
.btn-danger:hover {
  color: #fff;
  background-color: #6f2c3f;
  border-color: #66283a;
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #6f2c3f;
  border-color: #66283a;
  box-shadow: 0 0 0 0.2rem rgba(156, 85, 105, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #8a374f;
  border-color: #8a374f;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #66283a;
  border-color: #5c2535;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(156, 85, 105, 0.5);
}

.btn-light {
  color: #313a46;
  background-color: #e5ffe8;
  border-color: #e5ffe8;
}
.btn-light:hover {
  color: #313a46;
  background-color: #bfffc6;
  border-color: #b2ffbb;
}
.btn-light:focus, .btn-light.focus {
  color: #313a46;
  background-color: #bfffc6;
  border-color: #b2ffbb;
  box-shadow: 0 0 0 0.2rem rgba(202, 225, 208, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #313a46;
  background-color: #e5ffe8;
  border-color: #e5ffe8;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #313a46;
  background-color: #b2ffbb;
  border-color: #a5ffb0;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(202, 225, 208, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #313a46;
  border-color: #313a46;
}
.btn-dark:hover {
  color: #fff;
  background-color: #212730;
  border-color: #1c2128;
}
.btn-dark:focus, .btn-dark.focus {
  color: #fff;
  background-color: #212730;
  border-color: #1c2128;
  box-shadow: 0 0 0 0.2rem rgba(80, 88, 98, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #313a46;
  border-color: #313a46;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1c2128;
  border-color: #171b21;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(80, 88, 98, 0.5);
}

.btn-outline-primary {
  color: #378a41;
  border-color: #378a41;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #378a41;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.5);
}

.btn-outline-secondary {
  color: #35272b;
  border-color: #35272b;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: #35272b;
  border-color: #35272b;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(53, 39, 43, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #35272b;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #35272b;
  border-color: #35272b;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(53, 39, 43, 0.5);
}

.btn-outline-success {
  color: #304a33;
  border-color: #304a33;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #304a33;
  border-color: #304a33;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #304a33;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #304a33;
  border-color: #304a33;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.5);
}

.btn-outline-info {
  color: #4096DA;
  border-color: #4096DA;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #4096DA;
  border-color: #4096DA;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(64, 150, 218, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #4096DA;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #4096DA;
  border-color: #4096DA;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(64, 150, 218, 0.5);
}

.btn-outline-warning {
  color: #DA7A40;
  border-color: #DA7A40;
}
.btn-outline-warning:hover {
  color: #fff;
  background-color: #DA7A40;
  border-color: #DA7A40;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(218, 122, 64, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #DA7A40;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #DA7A40;
  border-color: #DA7A40;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(218, 122, 64, 0.5);
}

.btn-outline-danger {
  color: #8a374f;
  border-color: #8a374f;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #8a374f;
  border-color: #8a374f;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #8a374f;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #8a374f;
  border-color: #8a374f;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.5);
}

.btn-outline-light {
  color: #e5ffe8;
  border-color: #e5ffe8;
}
.btn-outline-light:hover {
  color: #313a46;
  background-color: #e5ffe8;
  border-color: #e5ffe8;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(229, 255, 232, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #e5ffe8;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #313a46;
  background-color: #e5ffe8;
  border-color: #e5ffe8;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(229, 255, 232, 0.5);
}

.btn-outline-dark {
  color: #313a46;
  border-color: #313a46;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #313a46;
  border-color: #313a46;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 58, 70, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #313a46;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #313a46;
  border-color: #313a46;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 58, 70, 0.5);
}

.btn-link {
  font-weight: 500;
  color: #378a41;
  text-decoration: none;
}
.btn-link:hover {
  color: #215327;
  text-decoration: underline;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}
.btn-link:disabled, .btn-link.disabled {
  color: #98a6ad;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block {
  width: 100%;
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #313a46;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1280px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xxl-right {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e3eaef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 500;
  color: #313a46;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #272e37;
  text-decoration: none;
  background-color: #f1f3fa;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #378a41;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #98a6ad;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #98a6ad;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #313a46;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type=radio],
.btn-group-toggle > .btn input[type=checkbox],
.btn-group-toggle > .btn-group > .btn input[type=radio],
.btn-group-toggle > .btn-group > .btn input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #707070;
  text-align: center;
  white-space: nowrap;
  background-color: #e3eaef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 1.75rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #378a41;
  background-color: #378a41;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #78c981;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #9cd8a3;
  border-color: #9cd8a3;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #98a6ad;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e3eaef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: no-repeat 50%/50% 50%;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23fff%27 d=%27M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z%27/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #378a41;
  background-color: #378a41;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%274%27 viewBox=%270 0 4 4%27%3e%3cpath stroke=%27%23fff%27 d=%27M0 2h4%27/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(55, 138, 65, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(55, 138, 65, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(55, 138, 65, 0.5);
}

.custom-switch {
  padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(55, 138, 65, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #707070;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%275%27 viewBox=%270 0 4 5%27%3e%3cpath fill=%27%23343a40%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none;
}
.custom-select:focus {
  border-color: #78c981;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-select:focus::-ms-value {
  color: #707070;
  background-color: #fff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #98a6ad;
  background-color: #e3eaef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #707070;
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #78c981;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #e3eaef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  color: #707070;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #707070;
  content: "Browse";
  background-color: #e3eaef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: none;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #378a41;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #9cd8a3;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #378a41;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #9cd8a3;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #378a41;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #9cd8a3;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #98a6ad;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-item {
  margin-bottom: -1px;
}
.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e3eaef #e3eaef #dee2e6;
}
.nav-tabs .nav-link.disabled {
  color: #98a6ad;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #707070;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #378a41;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid,
.navbar-expand-sm > .container-sm,
.navbar-expand-sm > .container-md,
.navbar-expand-sm > .container-lg,
.navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid,
.navbar-expand-sm > .container-sm,
.navbar-expand-sm > .container-md,
.navbar-expand-sm > .container-lg,
.navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid,
.navbar-expand-md > .container-sm,
.navbar-expand-md > .container-md,
.navbar-expand-md > .container-lg,
.navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid,
.navbar-expand-md > .container-sm,
.navbar-expand-md > .container-md,
.navbar-expand-md > .container-lg,
.navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid,
.navbar-expand-lg > .container-sm,
.navbar-expand-lg > .container-md,
.navbar-expand-lg > .container-lg,
.navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid,
.navbar-expand-lg > .container-sm,
.navbar-expand-lg > .container-md,
.navbar-expand-lg > .container-lg,
.navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1279.98px) {
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid,
.navbar-expand-xl > .container-sm,
.navbar-expand-xl > .container-md,
.navbar-expand-xl > .container-lg,
.navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1280px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid,
.navbar-expand-xl > .container-sm,
.navbar-expand-xl > .container-md,
.navbar-expand-xl > .container-lg,
.navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1399.98px) {
  .navbar-expand-xxl > .container,
.navbar-expand-xxl > .container-fluid,
.navbar-expand-xxl > .container-sm,
.navbar-expand-xxl > .container-md,
.navbar-expand-xxl > .container-lg,
.navbar-expand-xxl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xxl > .container,
.navbar-expand-xxl > .container-fluid,
.navbar-expand-xxl > .container-sm,
.navbar-expand-xxl > .container-md,
.navbar-expand-xxl > .container-lg,
.navbar-expand-xxl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2730%27 height=%2730%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.5%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2730%27 height=%2730%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.5%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #fff;
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
.card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
.card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e3eaef;
  border-radius: 0.25rem;
}

.breadcrumb-item {
  display: flex;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  color: #98a6ad;
  content: "/";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #98a6ad;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #378a41;
  background-color: #fff;
  border: 1px solid #dee2e6;
}
.page-link:hover {
  z-index: 2;
  color: #215327;
  text-decoration: none;
  background-color: #e3eaef;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.page-item.disabled .page-link {
  color: #98a6ad;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}
a.badge:hover, a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #378a41;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #286630;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #35272b;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #181113;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(53, 39, 43, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #304a33;
}
a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1c2b1e;
}
a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(48, 74, 51, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #4096DA;
}
a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #257dc2;
}
a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(64, 150, 218, 0.5);
}

.badge-warning {
  color: #fff;
  background-color: #DA7A40;
}
a.badge-warning:hover, a.badge-warning:focus {
  color: #fff;
  background-color: #c26025;
}
a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(218, 122, 64, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #8a374f;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #66283a;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(138, 55, 79, 0.5);
}

.badge-light {
  color: #313a46;
  background-color: #e5ffe8;
}
a.badge-light:hover, a.badge-light:focus {
  color: #313a46;
  background-color: #b2ffbb;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(229, 255, 232, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #313a46;
}
a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1c2128;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(49, 58, 70, 0.5);
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e3eaef;
  border-radius: 0.3rem;
}
@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 900;
}

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #1d4822;
  background-color: #d7e8d9;
  border-color: #c7deca;
}
.alert-primary hr {
  border-top-color: #b7d5bb;
}
.alert-primary .alert-link {
  color: #0e2411;
}

.alert-secondary {
  color: #1c1416;
  background-color: #d7d4d5;
  border-color: #c6c3c4;
}
.alert-secondary hr {
  border-top-color: #bab6b7;
}
.alert-secondary .alert-link {
  color: black;
}

.alert-success {
  color: #19261b;
  background-color: #d6dbd6;
  border-color: #c5ccc6;
}
.alert-success hr {
  border-top-color: #b7c0b9;
}
.alert-success .alert-link {
  color: #050705;
}

.alert-info {
  color: #214e71;
  background-color: #d9eaf8;
  border-color: #cae2f5;
}
.alert-info hr {
  border-top-color: #b5d6f1;
}
.alert-info .alert-link {
  color: #15334a;
}

.alert-warning {
  color: #713f21;
  background-color: #f8e4d9;
  border-color: #f5daca;
}
.alert-warning hr {
  border-top-color: #f1cbb5;
}
.alert-warning .alert-link {
  color: #4a2915;
}

.alert-danger {
  color: #481d29;
  background-color: #e8d7dc;
  border-color: #dec7ce;
}
.alert-danger hr {
  border-top-color: #d5b7c0;
}
.alert-danger .alert-link {
  color: #240e14;
}

.alert-light {
  color: #778579;
  background-color: #fafffa;
  border-color: #f8fff9;
}
.alert-light hr {
  border-top-color: #dfffe3;
}
.alert-light .alert-link {
  color: #5f6a61;
}

.alert-dark {
  color: #191e24;
  background-color: #d6d8da;
  border-color: #c5c8cb;
}
.alert-dark hr {
  border-top-color: #b8bbbf;
}
.alert-dark .alert-link {
  color: #040506;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e3eaef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #378a41;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: progress-bar-stripes 1s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

.list-group-item-action {
  width: 100%;
  color: #707070;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #707070;
  text-decoration: none;
  background-color: #f1f3fa;
}
.list-group-item-action:active {
  color: #313a46;
  background-color: #e3eaef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #98a6ad;
  pointer-events: none;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #378a41;
  border-color: #378a41;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1280px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #1d4822;
  background-color: #c7deca;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #1d4822;
  background-color: #b7d5bb;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #1d4822;
  border-color: #1d4822;
}

.list-group-item-secondary {
  color: #1c1416;
  background-color: #c6c3c4;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #1c1416;
  background-color: #bab6b7;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #1c1416;
  border-color: #1c1416;
}

.list-group-item-success {
  color: #19261b;
  background-color: #c5ccc6;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #19261b;
  background-color: #b7c0b9;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #19261b;
  border-color: #19261b;
}

.list-group-item-info {
  color: #214e71;
  background-color: #cae2f5;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #214e71;
  background-color: #b5d6f1;
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #214e71;
  border-color: #214e71;
}

.list-group-item-warning {
  color: #713f21;
  background-color: #f5daca;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #713f21;
  background-color: #f1cbb5;
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #713f21;
  border-color: #713f21;
}

.list-group-item-danger {
  color: #481d29;
  background-color: #dec7ce;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #481d29;
  background-color: #d5b7c0;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #481d29;
  border-color: #481d29;
}

.list-group-item-light {
  color: #778579;
  background-color: #f8fff9;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #778579;
  background-color: #dfffe3;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #778579;
  border-color: #778579;
}

.list-group-item-dark {
  color: #191e24;
  background-color: #c5c8cb;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #191e24;
  background-color: #b8bbbf;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #191e24;
  border-color: #191e24;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #98a6ad;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }

  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }

  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
.modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1280px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Nunito Sans", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Nunito Sans", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^=top] {
  margin-bottom: 0.5rem;
}
.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-right, .bs-popover-auto[x-placement^=right] {
  margin-left: 0.5rem;
}
.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
  margin-top: 0.5rem;
}
.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow {
  top: calc(-0.5rem - 1px);
}
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left, .bs-popover-auto[x-placement^=left] {
  margin-right: 0.5rem;
}
.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #313a46;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
.carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50%/100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z%27/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 width=%278%27 height=%278%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z%27/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow 0.75s linear infinite;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #378a41 !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #286630 !important;
}

.bg-secondary {
  background-color: #35272b !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #181113 !important;
}

.bg-success {
  background-color: #304a33 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1c2b1e !important;
}

.bg-info {
  background-color: #4096DA !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #257dc2 !important;
}

.bg-warning {
  background-color: #DA7A40 !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #c26025 !important;
}

.bg-danger {
  background-color: #8a374f !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #66283a !important;
}

.bg-light {
  background-color: #e5ffe8 !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #b2ffbb !important;
}

.bg-dark {
  background-color: #313a46 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1c2128 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #378a41 !important;
}

.border-secondary {
  border-color: #35272b !important;
}

.border-success {
  border-color: #304a33 !important;
}

.border-info {
  border-color: #4096DA !important;
}

.border-warning {
  border-color: #DA7A40 !important;
}

.border-danger {
  border-color: #8a374f !important;
}

.border-light {
  border-color: #e5ffe8 !important;
}

.border-dark {
  border-color: #313a46 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1280px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }

  .d-xxl-inline {
    display: inline !important;
  }

  .d-xxl-inline-block {
    display: inline-block !important;
  }

  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-table {
    display: table !important;
  }

  .d-xxl-table-row {
    display: table-row !important;
  }

  .d-xxl-table-cell {
    display: table-cell !important;
  }

  .d-xxl-flex {
    display: flex !important;
  }

  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.8571428571%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

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

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

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

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1280px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1400px) {
  .flex-xxl-row {
    flex-direction: row !important;
  }

  .flex-xxl-column {
    flex-direction: column !important;
  }

  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xxl-center {
    justify-content: center !important;
  }

  .justify-content-xxl-between {
    justify-content: space-between !important;
  }

  .justify-content-xxl-around {
    justify-content: space-around !important;
  }

  .align-items-xxl-start {
    align-items: flex-start !important;
  }

  .align-items-xxl-end {
    align-items: flex-end !important;
  }

  .align-items-xxl-center {
    align-items: center !important;
  }

  .align-items-xxl-baseline {
    align-items: baseline !important;
  }

  .align-items-xxl-stretch {
    align-items: stretch !important;
  }

  .align-content-xxl-start {
    align-content: flex-start !important;
  }

  .align-content-xxl-end {
    align-content: flex-end !important;
  }

  .align-content-xxl-center {
    align-content: center !important;
  }

  .align-content-xxl-between {
    align-content: space-between !important;
  }

  .align-content-xxl-around {
    align-content: space-around !important;
  }

  .align-content-xxl-stretch {
    align-content: stretch !important;
  }

  .align-self-xxl-auto {
    align-self: auto !important;
  }

  .align-self-xxl-start {
    align-self: flex-start !important;
  }

  .align-self-xxl-end {
    align-self: flex-end !important;
  }

  .align-self-xxl-center {
    align-self: center !important;
  }

  .align-self-xxl-baseline {
    align-self: baseline !important;
  }

  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }

  .float-sm-right {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

  .float-md-right {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

  .float-lg-right {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1280px) {
  .float-xl-left {
    float: left !important;
  }

  .float-xl-right {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-left {
    float: left !important;
  }

  .float-xxl-right {
    float: right !important;
  }

  .float-xxl-none {
    float: none !important;
  }
}
.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }

  .mt-sm-0,
.my-sm-0 {
    margin-top: 0 !important;
  }

  .mr-sm-0,
.mx-sm-0 {
    margin-right: 0 !important;
  }

  .mb-sm-0,
.my-sm-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm-0,
.mx-sm-0 {
    margin-left: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .mt-sm-1,
.my-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm-1,
.mx-sm-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm-1,
.my-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm-1,
.mx-sm-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .mt-sm-2,
.my-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm-2,
.mx-sm-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm-2,
.my-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm-2,
.mx-sm-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .mt-sm-3,
.my-sm-3 {
    margin-top: 1rem !important;
  }

  .mr-sm-3,
.mx-sm-3 {
    margin-right: 1rem !important;
  }

  .mb-sm-3,
.my-sm-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm-3,
.mx-sm-3 {
    margin-left: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .mt-sm-4,
.my-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm-4,
.mx-sm-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm-4,
.my-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm-4,
.mx-sm-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .mt-sm-5,
.my-sm-5 {
    margin-top: 3rem !important;
  }

  .mr-sm-5,
.mx-sm-5 {
    margin-right: 3rem !important;
  }

  .mb-sm-5,
.my-sm-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm-5,
.mx-sm-5 {
    margin-left: 3rem !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
.py-sm-0 {
    padding-top: 0 !important;
  }

  .pr-sm-0,
.px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
.py-sm-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm-0,
.px-sm-0 {
    padding-left: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .pt-sm-1,
.py-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm-1,
.px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
.py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm-1,
.px-sm-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .pt-sm-2,
.py-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm-2,
.px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
.py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm-2,
.px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
.py-sm-3 {
    padding-top: 1rem !important;
  }

  .pr-sm-3,
.px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
.py-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm-3,
.px-sm-3 {
    padding-left: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .pt-sm-4,
.py-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm-4,
.px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
.py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm-4,
.px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
.py-sm-5 {
    padding-top: 3rem !important;
  }

  .pr-sm-5,
.px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
.py-sm-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm-5,
.px-sm-5 {
    padding-left: 3rem !important;
  }

  .m-sm-n1 {
    margin: -0.25rem !important;
  }

  .mt-sm-n1,
.my-sm-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-sm-n1,
.mx-sm-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-sm-n1,
.my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-sm-n1,
.mx-sm-n1 {
    margin-left: -0.25rem !important;
  }

  .m-sm-n2 {
    margin: -0.5rem !important;
  }

  .mt-sm-n2,
.my-sm-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-sm-n2,
.mx-sm-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-sm-n2,
.my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-sm-n2,
.mx-sm-n2 {
    margin-left: -0.5rem !important;
  }

  .m-sm-n3 {
    margin: -1rem !important;
  }

  .mt-sm-n3,
.my-sm-n3 {
    margin-top: -1rem !important;
  }

  .mr-sm-n3,
.mx-sm-n3 {
    margin-right: -1rem !important;
  }

  .mb-sm-n3,
.my-sm-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-sm-n3,
.mx-sm-n3 {
    margin-left: -1rem !important;
  }

  .m-sm-n4 {
    margin: -1.5rem !important;
  }

  .mt-sm-n4,
.my-sm-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-sm-n4,
.mx-sm-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-sm-n4,
.my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-sm-n4,
.mx-sm-n4 {
    margin-left: -1.5rem !important;
  }

  .m-sm-n5 {
    margin: -3rem !important;
  }

  .mt-sm-n5,
.my-sm-n5 {
    margin-top: -3rem !important;
  }

  .mr-sm-n5,
.mx-sm-n5 {
    margin-right: -3rem !important;
  }

  .mb-sm-n5,
.my-sm-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-sm-n5,
.mx-sm-n5 {
    margin-left: -3rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mt-sm-auto,
.my-sm-auto {
    margin-top: auto !important;
  }

  .mr-sm-auto,
.mx-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-auto,
.my-sm-auto {
    margin-bottom: auto !important;
  }

  .ml-sm-auto,
.mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }

  .mt-md-0,
.my-md-0 {
    margin-top: 0 !important;
  }

  .mr-md-0,
.mx-md-0 {
    margin-right: 0 !important;
  }

  .mb-md-0,
.my-md-0 {
    margin-bottom: 0 !important;
  }

  .ml-md-0,
.mx-md-0 {
    margin-left: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .mt-md-1,
.my-md-1 {
    margin-top: 0.25rem !important;
  }

  .mr-md-1,
.mx-md-1 {
    margin-right: 0.25rem !important;
  }

  .mb-md-1,
.my-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-md-1,
.mx-md-1 {
    margin-left: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .mt-md-2,
.my-md-2 {
    margin-top: 0.5rem !important;
  }

  .mr-md-2,
.mx-md-2 {
    margin-right: 0.5rem !important;
  }

  .mb-md-2,
.my-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-md-2,
.mx-md-2 {
    margin-left: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .mt-md-3,
.my-md-3 {
    margin-top: 1rem !important;
  }

  .mr-md-3,
.mx-md-3 {
    margin-right: 1rem !important;
  }

  .mb-md-3,
.my-md-3 {
    margin-bottom: 1rem !important;
  }

  .ml-md-3,
.mx-md-3 {
    margin-left: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .mt-md-4,
.my-md-4 {
    margin-top: 1.5rem !important;
  }

  .mr-md-4,
.mx-md-4 {
    margin-right: 1.5rem !important;
  }

  .mb-md-4,
.my-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-md-4,
.mx-md-4 {
    margin-left: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .mt-md-5,
.my-md-5 {
    margin-top: 3rem !important;
  }

  .mr-md-5,
.mx-md-5 {
    margin-right: 3rem !important;
  }

  .mb-md-5,
.my-md-5 {
    margin-bottom: 3rem !important;
  }

  .ml-md-5,
.mx-md-5 {
    margin-left: 3rem !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
.py-md-0 {
    padding-top: 0 !important;
  }

  .pr-md-0,
.px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
.py-md-0 {
    padding-bottom: 0 !important;
  }

  .pl-md-0,
.px-md-0 {
    padding-left: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .pt-md-1,
.py-md-1 {
    padding-top: 0.25rem !important;
  }

  .pr-md-1,
.px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
.py-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-md-1,
.px-md-1 {
    padding-left: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .pt-md-2,
.py-md-2 {
    padding-top: 0.5rem !important;
  }

  .pr-md-2,
.px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
.py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-md-2,
.px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
.py-md-3 {
    padding-top: 1rem !important;
  }

  .pr-md-3,
.px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
.py-md-3 {
    padding-bottom: 1rem !important;
  }

  .pl-md-3,
.px-md-3 {
    padding-left: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .pt-md-4,
.py-md-4 {
    padding-top: 1.5rem !important;
  }

  .pr-md-4,
.px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
.py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-md-4,
.px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
.py-md-5 {
    padding-top: 3rem !important;
  }

  .pr-md-5,
.px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
.py-md-5 {
    padding-bottom: 3rem !important;
  }

  .pl-md-5,
.px-md-5 {
    padding-left: 3rem !important;
  }

  .m-md-n1 {
    margin: -0.25rem !important;
  }

  .mt-md-n1,
.my-md-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-md-n1,
.mx-md-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-md-n1,
.my-md-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-md-n1,
.mx-md-n1 {
    margin-left: -0.25rem !important;
  }

  .m-md-n2 {
    margin: -0.5rem !important;
  }

  .mt-md-n2,
.my-md-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-md-n2,
.mx-md-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-md-n2,
.my-md-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-md-n2,
.mx-md-n2 {
    margin-left: -0.5rem !important;
  }

  .m-md-n3 {
    margin: -1rem !important;
  }

  .mt-md-n3,
.my-md-n3 {
    margin-top: -1rem !important;
  }

  .mr-md-n3,
.mx-md-n3 {
    margin-right: -1rem !important;
  }

  .mb-md-n3,
.my-md-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-md-n3,
.mx-md-n3 {
    margin-left: -1rem !important;
  }

  .m-md-n4 {
    margin: -1.5rem !important;
  }

  .mt-md-n4,
.my-md-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-md-n4,
.mx-md-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-md-n4,
.my-md-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-md-n4,
.mx-md-n4 {
    margin-left: -1.5rem !important;
  }

  .m-md-n5 {
    margin: -3rem !important;
  }

  .mt-md-n5,
.my-md-n5 {
    margin-top: -3rem !important;
  }

  .mr-md-n5,
.mx-md-n5 {
    margin-right: -3rem !important;
  }

  .mb-md-n5,
.my-md-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-md-n5,
.mx-md-n5 {
    margin-left: -3rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mt-md-auto,
.my-md-auto {
    margin-top: auto !important;
  }

  .mr-md-auto,
.mx-md-auto {
    margin-right: auto !important;
  }

  .mb-md-auto,
.my-md-auto {
    margin-bottom: auto !important;
  }

  .ml-md-auto,
.mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }

  .mt-lg-0,
.my-lg-0 {
    margin-top: 0 !important;
  }

  .mr-lg-0,
.mx-lg-0 {
    margin-right: 0 !important;
  }

  .mb-lg-0,
.my-lg-0 {
    margin-bottom: 0 !important;
  }

  .ml-lg-0,
.mx-lg-0 {
    margin-left: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .mt-lg-1,
.my-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mr-lg-1,
.mx-lg-1 {
    margin-right: 0.25rem !important;
  }

  .mb-lg-1,
.my-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-lg-1,
.mx-lg-1 {
    margin-left: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .mt-lg-2,
.my-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mr-lg-2,
.mx-lg-2 {
    margin-right: 0.5rem !important;
  }

  .mb-lg-2,
.my-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-lg-2,
.mx-lg-2 {
    margin-left: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .mt-lg-3,
.my-lg-3 {
    margin-top: 1rem !important;
  }

  .mr-lg-3,
.mx-lg-3 {
    margin-right: 1rem !important;
  }

  .mb-lg-3,
.my-lg-3 {
    margin-bottom: 1rem !important;
  }

  .ml-lg-3,
.mx-lg-3 {
    margin-left: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .mt-lg-4,
.my-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mr-lg-4,
.mx-lg-4 {
    margin-right: 1.5rem !important;
  }

  .mb-lg-4,
.my-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-lg-4,
.mx-lg-4 {
    margin-left: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .mt-lg-5,
.my-lg-5 {
    margin-top: 3rem !important;
  }

  .mr-lg-5,
.mx-lg-5 {
    margin-right: 3rem !important;
  }

  .mb-lg-5,
.my-lg-5 {
    margin-bottom: 3rem !important;
  }

  .ml-lg-5,
.mx-lg-5 {
    margin-left: 3rem !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
.py-lg-0 {
    padding-top: 0 !important;
  }

  .pr-lg-0,
.px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
.py-lg-0 {
    padding-bottom: 0 !important;
  }

  .pl-lg-0,
.px-lg-0 {
    padding-left: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .pt-lg-1,
.py-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pr-lg-1,
.px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
.py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-lg-1,
.px-lg-1 {
    padding-left: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .pt-lg-2,
.py-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pr-lg-2,
.px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
.py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-lg-2,
.px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
.py-lg-3 {
    padding-top: 1rem !important;
  }

  .pr-lg-3,
.px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
.py-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pl-lg-3,
.px-lg-3 {
    padding-left: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .pt-lg-4,
.py-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pr-lg-4,
.px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
.py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-lg-4,
.px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
.py-lg-5 {
    padding-top: 3rem !important;
  }

  .pr-lg-5,
.px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
.py-lg-5 {
    padding-bottom: 3rem !important;
  }

  .pl-lg-5,
.px-lg-5 {
    padding-left: 3rem !important;
  }

  .m-lg-n1 {
    margin: -0.25rem !important;
  }

  .mt-lg-n1,
.my-lg-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-lg-n1,
.mx-lg-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-lg-n1,
.my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-lg-n1,
.mx-lg-n1 {
    margin-left: -0.25rem !important;
  }

  .m-lg-n2 {
    margin: -0.5rem !important;
  }

  .mt-lg-n2,
.my-lg-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-lg-n2,
.mx-lg-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-lg-n2,
.my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-lg-n2,
.mx-lg-n2 {
    margin-left: -0.5rem !important;
  }

  .m-lg-n3 {
    margin: -1rem !important;
  }

  .mt-lg-n3,
.my-lg-n3 {
    margin-top: -1rem !important;
  }

  .mr-lg-n3,
.mx-lg-n3 {
    margin-right: -1rem !important;
  }

  .mb-lg-n3,
.my-lg-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-lg-n3,
.mx-lg-n3 {
    margin-left: -1rem !important;
  }

  .m-lg-n4 {
    margin: -1.5rem !important;
  }

  .mt-lg-n4,
.my-lg-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-lg-n4,
.mx-lg-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-lg-n4,
.my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-lg-n4,
.mx-lg-n4 {
    margin-left: -1.5rem !important;
  }

  .m-lg-n5 {
    margin: -3rem !important;
  }

  .mt-lg-n5,
.my-lg-n5 {
    margin-top: -3rem !important;
  }

  .mr-lg-n5,
.mx-lg-n5 {
    margin-right: -3rem !important;
  }

  .mb-lg-n5,
.my-lg-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-lg-n5,
.mx-lg-n5 {
    margin-left: -3rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mt-lg-auto,
.my-lg-auto {
    margin-top: auto !important;
  }

  .mr-lg-auto,
.mx-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-auto,
.my-lg-auto {
    margin-bottom: auto !important;
  }

  .ml-lg-auto,
.mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1280px) {
  .m-xl-0 {
    margin: 0 !important;
  }

  .mt-xl-0,
.my-xl-0 {
    margin-top: 0 !important;
  }

  .mr-xl-0,
.mx-xl-0 {
    margin-right: 0 !important;
  }

  .mb-xl-0,
.my-xl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xl-0,
.mx-xl-0 {
    margin-left: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .mt-xl-1,
.my-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xl-1,
.mx-xl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xl-1,
.my-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xl-1,
.mx-xl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .mt-xl-2,
.my-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xl-2,
.mx-xl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xl-2,
.my-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xl-2,
.mx-xl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .mt-xl-3,
.my-xl-3 {
    margin-top: 1rem !important;
  }

  .mr-xl-3,
.mx-xl-3 {
    margin-right: 1rem !important;
  }

  .mb-xl-3,
.my-xl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xl-3,
.mx-xl-3 {
    margin-left: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .mt-xl-4,
.my-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xl-4,
.mx-xl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xl-4,
.my-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xl-4,
.mx-xl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .mt-xl-5,
.my-xl-5 {
    margin-top: 3rem !important;
  }

  .mr-xl-5,
.mx-xl-5 {
    margin-right: 3rem !important;
  }

  .mb-xl-5,
.my-xl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xl-5,
.mx-xl-5 {
    margin-left: 3rem !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
.py-xl-0 {
    padding-top: 0 !important;
  }

  .pr-xl-0,
.px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
.py-xl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xl-0,
.px-xl-0 {
    padding-left: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .pt-xl-1,
.py-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xl-1,
.px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
.py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xl-1,
.px-xl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .pt-xl-2,
.py-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xl-2,
.px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
.py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xl-2,
.px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
.py-xl-3 {
    padding-top: 1rem !important;
  }

  .pr-xl-3,
.px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
.py-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xl-3,
.px-xl-3 {
    padding-left: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .pt-xl-4,
.py-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xl-4,
.px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
.py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xl-4,
.px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
.py-xl-5 {
    padding-top: 3rem !important;
  }

  .pr-xl-5,
.px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
.py-xl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xl-5,
.px-xl-5 {
    padding-left: 3rem !important;
  }

  .m-xl-n1 {
    margin: -0.25rem !important;
  }

  .mt-xl-n1,
.my-xl-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-xl-n1,
.mx-xl-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xl-n1,
.my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xl-n1,
.mx-xl-n1 {
    margin-left: -0.25rem !important;
  }

  .m-xl-n2 {
    margin: -0.5rem !important;
  }

  .mt-xl-n2,
.my-xl-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-xl-n2,
.mx-xl-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xl-n2,
.my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xl-n2,
.mx-xl-n2 {
    margin-left: -0.5rem !important;
  }

  .m-xl-n3 {
    margin: -1rem !important;
  }

  .mt-xl-n3,
.my-xl-n3 {
    margin-top: -1rem !important;
  }

  .mr-xl-n3,
.mx-xl-n3 {
    margin-right: -1rem !important;
  }

  .mb-xl-n3,
.my-xl-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-xl-n3,
.mx-xl-n3 {
    margin-left: -1rem !important;
  }

  .m-xl-n4 {
    margin: -1.5rem !important;
  }

  .mt-xl-n4,
.my-xl-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-xl-n4,
.mx-xl-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xl-n4,
.my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xl-n4,
.mx-xl-n4 {
    margin-left: -1.5rem !important;
  }

  .m-xl-n5 {
    margin: -3rem !important;
  }

  .mt-xl-n5,
.my-xl-n5 {
    margin-top: -3rem !important;
  }

  .mr-xl-n5,
.mx-xl-n5 {
    margin-right: -3rem !important;
  }

  .mb-xl-n5,
.my-xl-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-xl-n5,
.mx-xl-n5 {
    margin-left: -3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mt-xl-auto,
.my-xl-auto {
    margin-top: auto !important;
  }

  .mr-xl-auto,
.mx-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-auto,
.my-xl-auto {
    margin-bottom: auto !important;
  }

  .ml-xl-auto,
.mx-xl-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1400px) {
  .m-xxl-0 {
    margin: 0 !important;
  }

  .mt-xxl-0,
.my-xxl-0 {
    margin-top: 0 !important;
  }

  .mr-xxl-0,
.mx-xxl-0 {
    margin-right: 0 !important;
  }

  .mb-xxl-0,
.my-xxl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xxl-0,
.mx-xxl-0 {
    margin-left: 0 !important;
  }

  .m-xxl-1 {
    margin: 0.25rem !important;
  }

  .mt-xxl-1,
.my-xxl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xxl-1,
.mx-xxl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xxl-1,
.my-xxl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xxl-1,
.mx-xxl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xxl-2 {
    margin: 0.5rem !important;
  }

  .mt-xxl-2,
.my-xxl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xxl-2,
.mx-xxl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xxl-2,
.my-xxl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xxl-2,
.mx-xxl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xxl-3 {
    margin: 1rem !important;
  }

  .mt-xxl-3,
.my-xxl-3 {
    margin-top: 1rem !important;
  }

  .mr-xxl-3,
.mx-xxl-3 {
    margin-right: 1rem !important;
  }

  .mb-xxl-3,
.my-xxl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xxl-3,
.mx-xxl-3 {
    margin-left: 1rem !important;
  }

  .m-xxl-4 {
    margin: 1.5rem !important;
  }

  .mt-xxl-4,
.my-xxl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xxl-4,
.mx-xxl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xxl-4,
.my-xxl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xxl-4,
.mx-xxl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xxl-5 {
    margin: 3rem !important;
  }

  .mt-xxl-5,
.my-xxl-5 {
    margin-top: 3rem !important;
  }

  .mr-xxl-5,
.mx-xxl-5 {
    margin-right: 3rem !important;
  }

  .mb-xxl-5,
.my-xxl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xxl-5,
.mx-xxl-5 {
    margin-left: 3rem !important;
  }

  .p-xxl-0 {
    padding: 0 !important;
  }

  .pt-xxl-0,
.py-xxl-0 {
    padding-top: 0 !important;
  }

  .pr-xxl-0,
.px-xxl-0 {
    padding-right: 0 !important;
  }

  .pb-xxl-0,
.py-xxl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xxl-0,
.px-xxl-0 {
    padding-left: 0 !important;
  }

  .p-xxl-1 {
    padding: 0.25rem !important;
  }

  .pt-xxl-1,
.py-xxl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xxl-1,
.px-xxl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xxl-1,
.py-xxl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xxl-1,
.px-xxl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xxl-2 {
    padding: 0.5rem !important;
  }

  .pt-xxl-2,
.py-xxl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xxl-2,
.px-xxl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xxl-2,
.py-xxl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xxl-2,
.px-xxl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xxl-3 {
    padding: 1rem !important;
  }

  .pt-xxl-3,
.py-xxl-3 {
    padding-top: 1rem !important;
  }

  .pr-xxl-3,
.px-xxl-3 {
    padding-right: 1rem !important;
  }

  .pb-xxl-3,
.py-xxl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xxl-3,
.px-xxl-3 {
    padding-left: 1rem !important;
  }

  .p-xxl-4 {
    padding: 1.5rem !important;
  }

  .pt-xxl-4,
.py-xxl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xxl-4,
.px-xxl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xxl-4,
.py-xxl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xxl-4,
.px-xxl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xxl-5 {
    padding: 3rem !important;
  }

  .pt-xxl-5,
.py-xxl-5 {
    padding-top: 3rem !important;
  }

  .pr-xxl-5,
.px-xxl-5 {
    padding-right: 3rem !important;
  }

  .pb-xxl-5,
.py-xxl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xxl-5,
.px-xxl-5 {
    padding-left: 3rem !important;
  }

  .m-xxl-n1 {
    margin: -0.25rem !important;
  }

  .mt-xxl-n1,
.my-xxl-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-xxl-n1,
.mx-xxl-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xxl-n1,
.my-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xxl-n1,
.mx-xxl-n1 {
    margin-left: -0.25rem !important;
  }

  .m-xxl-n2 {
    margin: -0.5rem !important;
  }

  .mt-xxl-n2,
.my-xxl-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-xxl-n2,
.mx-xxl-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xxl-n2,
.my-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xxl-n2,
.mx-xxl-n2 {
    margin-left: -0.5rem !important;
  }

  .m-xxl-n3 {
    margin: -1rem !important;
  }

  .mt-xxl-n3,
.my-xxl-n3 {
    margin-top: -1rem !important;
  }

  .mr-xxl-n3,
.mx-xxl-n3 {
    margin-right: -1rem !important;
  }

  .mb-xxl-n3,
.my-xxl-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-xxl-n3,
.mx-xxl-n3 {
    margin-left: -1rem !important;
  }

  .m-xxl-n4 {
    margin: -1.5rem !important;
  }

  .mt-xxl-n4,
.my-xxl-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-xxl-n4,
.mx-xxl-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xxl-n4,
.my-xxl-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xxl-n4,
.mx-xxl-n4 {
    margin-left: -1.5rem !important;
  }

  .m-xxl-n5 {
    margin: -3rem !important;
  }

  .mt-xxl-n5,
.my-xxl-n5 {
    margin-top: -3rem !important;
  }

  .mr-xxl-n5,
.mx-xxl-n5 {
    margin-right: -3rem !important;
  }

  .mb-xxl-n5,
.my-xxl-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-xxl-n5,
.mx-xxl-n5 {
    margin-left: -3rem !important;
  }

  .m-xxl-auto {
    margin: auto !important;
  }

  .mt-xxl-auto,
.my-xxl-auto {
    margin-top: auto !important;
  }

  .mr-xxl-auto,
.mx-xxl-auto {
    margin-right: auto !important;
  }

  .mb-xxl-auto,
.my-xxl-auto {
    margin-bottom: auto !important;
  }

  .ml-xxl-auto,
.mx-xxl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }

  .text-sm-right {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }

  .text-md-right {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

  .text-lg-right {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1280px) {
  .text-xl-left {
    text-align: left !important;
  }

  .text-xl-right {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .text-xxl-left {
    text-align: left !important;
  }

  .text-xxl-right {
    text-align: right !important;
  }

  .text-xxl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 500 !important;
}

.font-weight-bold {
  font-weight: 900 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #378a41 !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #215327 !important;
}

.text-secondary {
  color: #35272b !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #090707 !important;
}

.text-success {
  color: #304a33 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #121c13 !important;
}

.text-info {
  color: #4096DA !important;
}

a.text-info:hover, a.text-info:focus {
  color: #216fac !important;
}

.text-warning {
  color: #DA7A40 !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #ac5621 !important;
}

.text-danger {
  color: #8a374f !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #532130 !important;
}

.text-light {
  color: #e5ffe8 !important;
}

a.text-light:hover, a.text-light:focus {
  color: #99ffa4 !important;
}

.text-dark {
  color: #313a46 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: #121519 !important;
}

.text-body {
  color: #313a46 !important;
}

.text-muted {
  color: #98a6ad !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
*::before,
*::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a:not(.btn) {
    text-decoration: underline;
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }

  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }

  .container {
    min-width: 992px !important;
  }

  .navbar {
    display: none;
  }

  .badge {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }
  .table td,
.table th {
    background-color: #fff !important;
  }

  .table-bordered th,
.table-bordered td {
    border: 1px solid #dee2e6 !important;
  }

  .table-dark {
    color: inherit;
  }
  .table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
    border-color: #dee2e6;
  }

  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}
/*!
 * Ladda
 * http://lab.hakim.se/ladda
 * MIT licensed
 *
 * Copyright (C) 2018 Hakim El Hattab, http://hakim.se
 */
/*************************************
 * CONFIG
 */
/*************************************
 * MIXINS
 */
/*************************************
 * Opacity animation for spin.js
 */
@keyframes ladda-spinner-line-fade {
  0%, 100% {
    opacity: 0.22;
    /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}
/*************************************
 * BUTTON BASE
 */
.ladda-button {
  position: relative;
}

/* Spinner animation */
.ladda-button .ladda-spinner {
  position: absolute;
  z-index: 2;
  display: inline-block;
  width: 32px;
  top: 50%;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
}

/* Button label */
.ladda-button .ladda-label {
  position: relative;
  z-index: 3;
}

/* Progress bar */
.ladda-button .ladda-progress {
  position: absolute;
  width: 0;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
  display: none;
  transition: 0.1s linear all !important;
}

.ladda-button[data-loading] .ladda-progress {
  display: block;
}

/*************************************
 * EASING
 */
.ladda-button,
.ladda-button .ladda-spinner,
.ladda-button .ladda-label {
  transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;
}

.ladda-button[data-style=zoom-in],
.ladda-button[data-style=zoom-in] .ladda-spinner,
.ladda-button[data-style=zoom-in] .ladda-label,
.ladda-button[data-style=zoom-out],
.ladda-button[data-style=zoom-out] .ladda-spinner,
.ladda-button[data-style=zoom-out] .ladda-label {
  transition: 0.3s ease all !important;
}

/*************************************
 * EXPAND RIGHT
 */
.ladda-button[data-style=expand-right] .ladda-spinner {
  right: -6px;
}
.ladda-button[data-style=expand-right][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-right][data-size=xs] .ladda-spinner {
  right: -12px;
}
.ladda-button[data-style=expand-right][data-loading] {
  padding-right: 56px;
}
.ladda-button[data-style=expand-right][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-right][data-loading][data-size=s], .ladda-button[data-style=expand-right][data-loading][data-size=xs] {
  padding-right: 40px;
}

/*************************************
 * EXPAND LEFT
 */
.ladda-button[data-style=expand-left] .ladda-spinner {
  left: 26px;
}
.ladda-button[data-style=expand-left][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-left][data-size=xs] .ladda-spinner {
  left: 4px;
}
.ladda-button[data-style=expand-left][data-loading] {
  padding-left: 56px;
}
.ladda-button[data-style=expand-left][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-left][data-loading][data-size=s], .ladda-button[data-style=expand-left][data-loading][data-size=xs] {
  padding-left: 40px;
}

/*************************************
 * EXPAND UP
 */
.ladda-button[data-style=expand-up] {
  overflow: hidden;
}
.ladda-button[data-style=expand-up] .ladda-spinner {
  top: -32px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-up][data-loading] {
  padding-top: 54px;
}
.ladda-button[data-style=expand-up][data-loading] .ladda-spinner {
  opacity: 1;
  top: 26px;
  margin-top: 0;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s], .ladda-button[data-style=expand-up][data-loading][data-size=xs] {
  padding-top: 32px;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-up][data-loading][data-size=xs] .ladda-spinner {
  top: 4px;
}

/*************************************
 * EXPAND DOWN
 */
.ladda-button[data-style=expand-down] {
  overflow: hidden;
}
.ladda-button[data-style=expand-down] .ladda-spinner {
  top: 62px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-down][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-down][data-size=xs] .ladda-spinner {
  top: 40px;
}
.ladda-button[data-style=expand-down][data-loading] {
  padding-bottom: 54px;
}
.ladda-button[data-style=expand-down][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-down][data-loading][data-size=s], .ladda-button[data-style=expand-down][data-loading][data-size=xs] {
  padding-bottom: 32px;
}

/*************************************
 * SLIDE LEFT
 */
.ladda-button[data-style=slide-left] {
  overflow: hidden;
}
.ladda-button[data-style=slide-left] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-left] .ladda-spinner {
  left: 100%;
  margin-left: 0;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-label {
  opacity: 0;
  left: -100%;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}

/*************************************
 * SLIDE RIGHT
 */
.ladda-button[data-style=slide-right] {
  overflow: hidden;
}
.ladda-button[data-style=slide-right] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-right] .ladda-spinner {
  right: 100%;
  margin-left: 0;
  left: 16px;
}
[dir=rtl] .ladda-button[data-style=slide-right] .ladda-spinner {
  right: auto;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-label {
  opacity: 0;
  left: 100%;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}

/*************************************
 * SLIDE UP
 */
.ladda-button[data-style=slide-up] {
  overflow: hidden;
}
.ladda-button[data-style=slide-up] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-up] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: 1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-label {
  opacity: 0;
  top: -1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}

/*************************************
 * SLIDE DOWN
 */
.ladda-button[data-style=slide-down] {
  overflow: hidden;
}
.ladda-button[data-style=slide-down] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-down] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: -2em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-label {
  opacity: 0;
  top: 1em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}

/*************************************
 * ZOOM-OUT
 */
.ladda-button[data-style=zoom-out] {
  overflow: hidden;
}

.ladda-button[data-style=zoom-out] .ladda-spinner {
  left: 50%;
  margin-left: 32px;
  transform: scale(2.5);
}

.ladda-button[data-style=zoom-out] .ladda-label {
  position: relative;
  display: inline-block;
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(0.5);
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}

/*************************************
 * ZOOM-IN
 */
.ladda-button[data-style=zoom-in] {
  overflow: hidden;
}

.ladda-button[data-style=zoom-in] .ladda-spinner {
  left: 50%;
  margin-left: -16px;
  transform: scale(0.2);
}

.ladda-button[data-style=zoom-in] .ladda-label {
  position: relative;
  display: inline-block;
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(2.2);
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}

/*************************************
 * CONTRACT
 */
.ladda-button[data-style=contract] {
  overflow: hidden;
  width: 100px;
}

.ladda-button[data-style=contract] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}

.ladda-button[data-style=contract][data-loading] {
  border-radius: 50%;
  width: 52px;
}

.ladda-button[data-style=contract][data-loading] .ladda-label {
  opacity: 0;
}

.ladda-button[data-style=contract][data-loading] .ladda-spinner {
  opacity: 1;
}

/*************************************
 * OVERLAY
 */
.ladda-button[data-style=contract-overlay] {
  overflow: hidden;
  width: 100px;
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);
}

.ladda-button[data-style=contract-overlay] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}

.ladda-button[data-style=contract-overlay][data-loading] {
  border-radius: 50%;
  width: 52px;
  /*outline: 10000px solid rgba( 0, 0, 0, 0.5 );*/
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-label {
  opacity: 0;
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner {
  opacity: 1;
}

[dir=rtl] .ladda-spinner > div {
  left: 25% !important;
}

/**
 *
 * All animations must live in their own file
 * in the animations directory and be included
 * here.
 *
 */
/**
 * Styles shared by multiple animations
 */
/**
 * Dots
 */
@keyframes scale {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  45% {
    transform: scale(0.1);
    opacity: 0.7;
  }
  80% {
    transform: scale(1);
    opacity: 1;
  }
}
.ball-pulse > div:nth-child(0) {
  animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.ball-pulse > div:nth-child(1) {
  animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.ball-pulse > div:nth-child(2) {
  animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.ball-pulse > div:nth-child(3) {
  animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.ball-pulse > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
}

@keyframes ball-pulse-sync {
  33% {
    transform: translateY(10px);
  }
  66% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.ball-pulse-sync > div:nth-child(0) {
  animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out;
}
.ball-pulse-sync > div:nth-child(1) {
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
}
.ball-pulse-sync > div:nth-child(2) {
  animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
}
.ball-pulse-sync > div:nth-child(3) {
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
}
.ball-pulse-sync > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
}

@keyframes ball-scale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  animation: ball-scale 1s 0s ease-in-out infinite;
}

@keyframes ball-scale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  animation: ball-scale 1s 0s ease-in-out infinite;
}

.ball-scale-random {
  width: 37px;
  height: 40px;
}
.ball-scale-random > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
  display: inline-block;
  height: 30px;
  width: 30px;
  animation: ball-scale 1s 0s ease-in-out infinite;
}
.ball-scale-random > div:nth-child(1) {
  margin-left: -7px;
  animation: ball-scale 1s 0.2s ease-in-out infinite;
}
.ball-scale-random > div:nth-child(3) {
  margin-left: -2px;
  margin-top: 9px;
  animation: ball-scale 1s 0.5s ease-in-out infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ball-rotate {
  position: relative;
}
.ball-rotate > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: relative;
}
.ball-rotate > div:first-child {
  animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
}
.ball-rotate > div:before, .ball-rotate > div:after {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  content: "";
  position: absolute;
  opacity: 0.8;
}
.ball-rotate > div:before {
  top: 0px;
  left: -28px;
}
.ball-rotate > div:after {
  top: 0px;
  left: 25px;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
.ball-clip-rotate > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  border: 2px solid #378a41;
  border-bottom-color: transparent;
  height: 25px;
  width: 25px;
  background: transparent !important;
  display: inline-block;
  animation: rotate 0.75s 0s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
@keyframes scale {
  30% {
    transform: scale(0.3);
  }
  100% {
    transform: scale(1);
  }
}
.ball-clip-rotate-pulse {
  position: relative;
  transform: translateY(-15px);
}
.ball-clip-rotate-pulse > div {
  animation-fill-mode: both;
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 100%;
}
.ball-clip-rotate-pulse > div:first-child {
  background: #378a41;
  height: 16px;
  width: 16px;
  top: 7px;
  left: -7px;
  animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}
.ball-clip-rotate-pulse > div:last-child {
  position: absolute;
  border: 2px solid #378a41;
  width: 30px;
  height: 30px;
  left: -16px;
  top: -2px;
  background: transparent;
  border: 2px solid;
  border-color: #378a41 transparent #378a41 transparent;
  animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation-duration: 1s;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
.ball-clip-rotate-multiple {
  position: relative;
}
.ball-clip-rotate-multiple > div {
  animation-fill-mode: both;
  position: absolute;
  left: -20px;
  top: -20px;
  border: 2px solid #378a41;
  border-bottom-color: transparent;
  border-top-color: transparent;
  border-radius: 100%;
  height: 35px;
  width: 35px;
  animation: rotate 1s 0s ease-in-out infinite;
}
.ball-clip-rotate-multiple > div:last-child {
  display: inline-block;
  top: -10px;
  left: -10px;
  width: 15px;
  height: 15px;
  animation-duration: 0.5s;
  border-color: #378a41 transparent #378a41 transparent;
  animation-direction: reverse;
}

@keyframes ball-scale-ripple {
  0% {
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
.ball-scale-ripple > div {
  animation-fill-mode: both;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  border: 2px solid #378a41;
  animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
}

@keyframes ball-scale-ripple-multiple {
  0% {
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
.ball-scale-ripple-multiple {
  position: relative;
  transform: translateY(-25px);
}
.ball-scale-ripple-multiple > div:nth-child(0) {
  animation-delay: -0.8s;
}
.ball-scale-ripple-multiple > div:nth-child(1) {
  animation-delay: -0.6s;
}
.ball-scale-ripple-multiple > div:nth-child(2) {
  animation-delay: -0.4s;
}
.ball-scale-ripple-multiple > div:nth-child(3) {
  animation-delay: -0.2s;
}
.ball-scale-ripple-multiple > div {
  animation-fill-mode: both;
  position: absolute;
  top: -2px;
  left: -26px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 2px solid #378a41;
  animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
}

@keyframes ball-beat {
  50% {
    opacity: 0.2;
    transform: scale(0.75);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.ball-beat > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  animation: ball-beat 0.7s 0s infinite linear;
}
.ball-beat > div:nth-child(2n-1) {
  animation-delay: -0.35s !important;
}

@keyframes ball-scale-multiple {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale-multiple {
  position: relative;
  transform: translateY(-30px);
}
.ball-scale-multiple > div:nth-child(2) {
  animation-delay: -0.4s;
}
.ball-scale-multiple > div:nth-child(3) {
  animation-delay: -0.2s;
}
.ball-scale-multiple > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
  left: -30px;
  top: 0px;
  opacity: 0;
  margin: 0;
  width: 60px;
  height: 60px;
  animation: ball-scale-multiple 1s 0s linear infinite;
}

@keyframes ball-triangle-path-1 {
  33% {
    transform: translate(25px, -50px);
  }
  66% {
    transform: translate(50px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-2 {
  33% {
    transform: translate(25px, 50px);
  }
  66% {
    transform: translate(-25px, 50px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-3 {
  33% {
    transform: translate(-50px, 0px);
  }
  66% {
    transform: translate(-25px, -50px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
.ball-triangle-path {
  position: relative;
  transform: translate(-29.9940011998px, -37.5093773443px);
}
.ball-triangle-path > div:nth-child(1) {
  animation-name: ball-triangle-path-1;
  animation-delay: 0;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div:nth-child(2) {
  animation-name: ball-triangle-path-2;
  animation-delay: 0;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div:nth-child(3) {
  animation-name: ball-triangle-path-3;
  animation-delay: 0;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div {
  animation-fill-mode: both;
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 1px solid #378a41;
}
.ball-triangle-path > div:nth-of-type(1) {
  top: 50px;
}
.ball-triangle-path > div:nth-of-type(2) {
  left: 25px;
}
.ball-triangle-path > div:nth-of-type(3) {
  top: 50px;
  left: 50px;
}

@keyframes ball-pulse-rise-even {
  0% {
    transform: scale(1.1);
  }
  25% {
    transform: translateY(-30px);
  }
  50% {
    transform: scale(0.4);
  }
  75% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0);
    transform: scale(1);
  }
}
@keyframes ball-pulse-rise-odd {
  0% {
    transform: scale(0.4);
  }
  25% {
    transform: translateY(30px);
  }
  50% {
    transform: scale(1.1);
  }
  75% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
    transform: scale(0.75);
  }
}
.ball-pulse-rise > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  animation-iteration-count: infinite;
  animation-delay: 0;
}
.ball-pulse-rise > div:nth-child(2n) {
  animation-name: ball-pulse-rise-even;
}
.ball-pulse-rise > div:nth-child(2n-1) {
  animation-name: ball-pulse-rise-odd;
}

@keyframes ball-grid-beat {
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
.ball-grid-beat {
  width: 57px;
}
.ball-grid-beat > div:nth-child(1) {
  animation-delay: 0.24s;
  animation-duration: 1.34s;
}
.ball-grid-beat > div:nth-child(2) {
  animation-delay: 0.47s;
  animation-duration: 0.62s;
}
.ball-grid-beat > div:nth-child(3) {
  animation-delay: 0.13s;
  animation-duration: 0.77s;
}
.ball-grid-beat > div:nth-child(4) {
  animation-delay: 0.08s;
  animation-duration: 1.23s;
}
.ball-grid-beat > div:nth-child(5) {
  animation-delay: -0.18s;
  animation-duration: 0.75s;
}
.ball-grid-beat > div:nth-child(6) {
  animation-delay: 0.64s;
  animation-duration: 0.68s;
}
.ball-grid-beat > div:nth-child(7) {
  animation-delay: 0.37s;
  animation-duration: 1.58s;
}
.ball-grid-beat > div:nth-child(8) {
  animation-delay: -0.13s;
  animation-duration: 0.89s;
}
.ball-grid-beat > div:nth-child(9) {
  animation-delay: 0.72s;
  animation-duration: 0.79s;
}
.ball-grid-beat > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  animation-name: ball-grid-beat;
  animation-iteration-count: infinite;
  animation-delay: 0;
}

@keyframes ball-grid-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.5);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.ball-grid-pulse {
  width: 57px;
}
.ball-grid-pulse > div:nth-child(1) {
  animation-delay: 0.15s;
  animation-duration: 1.11s;
}
.ball-grid-pulse > div:nth-child(2) {
  animation-delay: 0.04s;
  animation-duration: 1.09s;
}
.ball-grid-pulse > div:nth-child(3) {
  animation-delay: -0.17s;
  animation-duration: 1.21s;
}
.ball-grid-pulse > div:nth-child(4) {
  animation-delay: 0.24s;
  animation-duration: 1.24s;
}
.ball-grid-pulse > div:nth-child(5) {
  animation-delay: -0.03s;
  animation-duration: 1.1s;
}
.ball-grid-pulse > div:nth-child(6) {
  animation-delay: 0.77s;
  animation-duration: 0.8s;
}
.ball-grid-pulse > div:nth-child(7) {
  animation-delay: -0.12s;
  animation-duration: 1.03s;
}
.ball-grid-pulse > div:nth-child(8) {
  animation-delay: -0.02s;
  animation-duration: 0.61s;
}
.ball-grid-pulse > div:nth-child(9) {
  animation-delay: 0.56s;
  animation-duration: 1.38s;
}
.ball-grid-pulse > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  animation-name: ball-grid-pulse;
  animation-iteration-count: infinite;
  animation-delay: 0;
}

@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    transform: scale(0.4);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px;
}
.ball-spin-fade-loader > div:nth-child(1) {
  top: 25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.96s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(2) {
  top: 17.0454545455px;
  left: 17.0454545455px;
  animation: ball-spin-fade-loader 1s -0.84s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(3) {
  top: 0;
  left: 25px;
  animation: ball-spin-fade-loader 1s -0.72s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(4) {
  top: -17.0454545455px;
  left: 17.0454545455px;
  animation: ball-spin-fade-loader 1s -0.6s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(5) {
  top: -25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.48s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(6) {
  top: -17.0454545455px;
  left: -17.0454545455px;
  animation: ball-spin-fade-loader 1s -0.36s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(7) {
  top: 0;
  left: -25px;
  animation: ball-spin-fade-loader 1s -0.24s infinite linear;
}
.ball-spin-fade-loader > div:nth-child(8) {
  top: 17.0454545455px;
  left: -17.0454545455px;
  animation: ball-spin-fade-loader 1s -0.12s infinite linear;
}
.ball-spin-fade-loader > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
}

@keyframes ball-spin-loader {
  75% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
.ball-spin-loader {
  position: relative;
}
.ball-spin-loader > span:nth-child(1) {
  top: 45px;
  left: 0;
  animation: ball-spin-loader 2s 0.9s infinite linear;
}
.ball-spin-loader > span:nth-child(2) {
  top: 30.6818181818px;
  left: 30.6818181818px;
  animation: ball-spin-loader 2s 1.8s infinite linear;
}
.ball-spin-loader > span:nth-child(3) {
  top: 0;
  left: 45px;
  animation: ball-spin-loader 2s 2.7s infinite linear;
}
.ball-spin-loader > span:nth-child(4) {
  top: -30.6818181818px;
  left: 30.6818181818px;
  animation: ball-spin-loader 2s 3.6s infinite linear;
}
.ball-spin-loader > span:nth-child(5) {
  top: -45px;
  left: 0;
  animation: ball-spin-loader 2s 4.5s infinite linear;
}
.ball-spin-loader > span:nth-child(6) {
  top: -30.6818181818px;
  left: -30.6818181818px;
  animation: ball-spin-loader 2s 5.4s infinite linear;
}
.ball-spin-loader > span:nth-child(7) {
  top: 0;
  left: -45px;
  animation: ball-spin-loader 2s 6.3s infinite linear;
}
.ball-spin-loader > span:nth-child(8) {
  top: 30.6818181818px;
  left: -30.6818181818px;
  animation: ball-spin-loader 2s 7.2s infinite linear;
}
.ball-spin-loader > div {
  animation-fill-mode: both;
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background: green;
}

@keyframes ball-zig {
  33% {
    transform: translate(-15px, -30px);
  }
  66% {
    transform: translate(15px, -30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes ball-zag {
  33% {
    transform: translate(15px, 30px);
  }
  66% {
    transform: translate(-15px, 30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.ball-zig-zag {
  position: relative;
  transform: translate(-15px, -15px);
}
.ball-zig-zag > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px;
}
.ball-zig-zag > div:first-child {
  animation: ball-zig 0.7s 0s infinite linear;
}
.ball-zig-zag > div:last-child {
  animation: ball-zag 0.7s 0s infinite linear;
}

@keyframes ball-zig-deflect {
  17% {
    transform: translate(-15px, -30px);
  }
  34% {
    transform: translate(15px, -30px);
  }
  50% {
    transform: translate(0, 0);
  }
  67% {
    transform: translate(15px, -30px);
  }
  84% {
    transform: translate(-15px, -30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes ball-zag-deflect {
  17% {
    transform: translate(15px, 30px);
  }
  34% {
    transform: translate(-15px, 30px);
  }
  50% {
    transform: translate(0, 0);
  }
  67% {
    transform: translate(-15px, 30px);
  }
  84% {
    transform: translate(15px, 30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.ball-zig-zag-deflect {
  position: relative;
  transform: translate(-15px, -15px);
}
.ball-zig-zag-deflect > div {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px;
}
.ball-zig-zag-deflect > div:first-child {
  animation: ball-zig-deflect 1.5s 0s infinite linear;
}
.ball-zig-zag-deflect > div:last-child {
  animation: ball-zag-deflect 1.5s 0s infinite linear;
}

/**
 * Lines
 */
@keyframes line-scale {
  0% {
    transform: scaley(1);
  }
  50% {
    transform: scaley(0.4);
  }
  100% {
    transform: scaley(1);
  }
}
.line-scale > div:nth-child(1) {
  animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.line-scale > div:nth-child(2) {
  animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.line-scale > div:nth-child(3) {
  animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.line-scale > div:nth-child(4) {
  animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.line-scale > div:nth-child(5) {
  animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.line-scale > div {
  background-color: #378a41;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
}

@keyframes line-scale-party {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.5);
  }
  100% {
    transform: scale(1);
  }
}
.line-scale-party > div:nth-child(1) {
  animation-delay: 0.62s;
  animation-duration: 0.74s;
}
.line-scale-party > div:nth-child(2) {
  animation-delay: 0.78s;
  animation-duration: 1.16s;
}
.line-scale-party > div:nth-child(3) {
  animation-delay: 0.3s;
  animation-duration: 0.75s;
}
.line-scale-party > div:nth-child(4) {
  animation-delay: 0.51s;
  animation-duration: 0.4s;
}
.line-scale-party > div {
  background-color: #378a41;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  animation-name: line-scale-party;
  animation-iteration-count: infinite;
  animation-delay: 0;
}

@keyframes line-scale-pulse-out {
  0% {
    transform: scaley(1);
  }
  50% {
    transform: scaley(0.4);
  }
  100% {
    transform: scaley(1);
  }
}
.line-scale-pulse-out > div {
  background-color: #378a41;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
}
.line-scale-pulse-out > div:nth-child(2), .line-scale-pulse-out > div:nth-child(4) {
  animation-delay: -0.4s !important;
}
.line-scale-pulse-out > div:nth-child(1), .line-scale-pulse-out > div:nth-child(5) {
  animation-delay: -0.2s !important;
}

@keyframes line-scale-pulse-out-rapid {
  0% {
    transform: scaley(1);
  }
  80% {
    transform: scaley(0.3);
  }
  90% {
    transform: scaley(1);
  }
}
.line-scale-pulse-out-rapid > div {
  background-color: #378a41;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
  vertical-align: middle;
  animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
}
.line-scale-pulse-out-rapid > div:nth-child(2), .line-scale-pulse-out-rapid > div:nth-child(4) {
  animation-delay: -0.25s !important;
}
.line-scale-pulse-out-rapid > div:nth-child(1), .line-scale-pulse-out-rapid > div:nth-child(5) {
  animation-delay: 0s !important;
}

@keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
.line-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -4px;
}
.line-spin-fade-loader > div:nth-child(1) {
  top: 20px;
  left: 0;
  animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(2) {
  top: 13.6363636364px;
  left: 13.6363636364px;
  transform: rotate(-45deg);
  animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(3) {
  top: 0;
  left: 20px;
  transform: rotate(90deg);
  animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(4) {
  top: -13.6363636364px;
  left: 13.6363636364px;
  transform: rotate(45deg);
  animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(5) {
  top: -20px;
  left: 0;
  animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(6) {
  top: -13.6363636364px;
  left: -13.6363636364px;
  transform: rotate(-45deg);
  animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(7) {
  top: 0;
  left: -20px;
  transform: rotate(90deg);
  animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
}
.line-spin-fade-loader > div:nth-child(8) {
  top: 13.6363636364px;
  left: -13.6363636364px;
  transform: rotate(45deg);
  animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
}
.line-spin-fade-loader > div {
  background-color: #378a41;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  animation-fill-mode: both;
  position: absolute;
  width: 5px;
  height: 15px;
}

/**
 * Misc
 */
@keyframes triangle-skew-spin {
  25% {
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
.triangle-skew-spin > div {
  animation-fill-mode: both;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #378a41;
  animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

@keyframes square-spin {
  25% {
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
.square-spin > div {
  animation-fill-mode: both;
  width: 50px;
  height: 50px;
  background: #378a41;
  animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

@keyframes rotate_pacman_half_up {
  0% {
    transform: rotate(270deg);
  }
  50% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
@keyframes rotate_pacman_half_down {
  0% {
    transform: rotate(90deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}
@keyframes pacman-balls {
  75% {
    opacity: 0.7;
  }
  100% {
    transform: translate(-100px, -6.25px);
  }
}
.pacman {
  position: relative;
}
.pacman > div:nth-child(2) {
  animation: pacman-balls 1s -0.99s infinite linear;
}
.pacman > div:nth-child(3) {
  animation: pacman-balls 1s -0.66s infinite linear;
}
.pacman > div:nth-child(4) {
  animation: pacman-balls 1s -0.33s infinite linear;
}
.pacman > div:nth-child(5) {
  animation: pacman-balls 1s 0s infinite linear;
}
.pacman > div:first-of-type {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #378a41;
  border-left: 25px solid #378a41;
  border-bottom: 25px solid #378a41;
  border-radius: 25px;
  animation: rotate_pacman_half_up 0.5s 0s infinite;
  position: relative;
  left: -30px;
}
.pacman > div:nth-child(2) {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #378a41;
  border-left: 25px solid #378a41;
  border-bottom: 25px solid #378a41;
  border-radius: 25px;
  animation: rotate_pacman_half_down 0.5s 0s infinite;
  margin-top: -50px;
  position: relative;
  left: -30px;
}
.pacman > div:nth-child(3),
.pacman > div:nth-child(4),
.pacman > div:nth-child(5),
.pacman > div:nth-child(6) {
  background-color: #378a41;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  width: 10px;
  height: 10px;
  position: absolute;
  transform: translate(0, -6.25px);
  top: 25px;
  left: 70px;
}

@keyframes cube-transition {
  25% {
    transform: translateX(50px) scale(0.5) rotate(-90deg);
  }
  50% {
    transform: translate(50px, 50px) rotate(-180deg);
  }
  75% {
    transform: translateY(50px) scale(0.5) rotate(-270deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.cube-transition {
  position: relative;
  transform: translate(-25px, -25px);
}
.cube-transition > div {
  animation-fill-mode: both;
  width: 10px;
  height: 10px;
  position: absolute;
  top: -5px;
  left: -5px;
  background-color: #378a41;
  animation: cube-transition 1.6s 0s infinite ease-in-out;
}
.cube-transition > div:last-child {
  animation-delay: -0.8s;
}

@keyframes spin-rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.semi-circle-spin {
  position: relative;
  width: 35px;
  height: 35px;
  overflow: hidden;
}
.semi-circle-spin > div {
  position: absolute;
  border-width: 0px;
  border-radius: 100%;
  animation: spin-rotate 0.6s 0s infinite linear;
  background-image: linear-gradient(transparent 0%, transparent 70%, #378a41 30%, #378a41 100%);
  width: 100%;
  height: 100%;
}

@font-face {
  font-family: "icomoon";
  src: url(c280ddb4866119817d16.eot?b1dxs1);
  src: url(c280ddb4866119817d16.eot?b1dxs1#iefix) format("embedded-opentype"), url(c8a4075e8f115ff74922.ttf?b1dxs1) format("truetype"), url(dd790c902c78149e38f5.woff?b1dxs1) format("woff"), url(7904119d111b99374242.svg?b1dxs1#icomoon) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-trash-solid:before {
  content: "";
}

.icon-extrude:before {
  content: "";
}

.icon-draw1:before {
  content: "";
}

.icon-draw:before {
  content: "";
}

.icon-draw-polygon .path1:before {
  content: "";
}

.icon-draw-polygon .path2:before {
  content: "";
  margin-left: -1.0068359375em;
}

.icon-draw-polygon .path3:before {
  content: "";
  margin-left: -1.0068359375em;
}

.icon-draw-polygon .path4:before {
  content: "";
  margin-left: -1.0068359375em;
}

.icon-draw-polygon .path5:before {
  content: "";
  margin-left: -1.0068359375em;
}

.icon-alignment:before {
  content: "";
}

.icon-calculator:before {
  content: "";
}

.icon-comparsion:before {
  content: "";
}

.icon-compass:before {
  content: "";
}

.icon-copy:before {
  content: "";
}

.icon-cross:before {
  content: "";
}

.icon-download:before {
  content: "";
}

.icon-dxf-file:before {
  content: "";
}

.icon-folder:before {
  content: "";
}

.icon-jpg-file:before {
  content: "";
}

.icon-pdf-file:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400;
  content: "";
}

.icon-long-cuboid:before {
  content: "";
}

.icon-minus:before {
  content: "";
}

.icon-mirror:before {
  content: "";
}

.icon-move:before {
  content: "";
}

.icon-move-direction:before {
  content: "";
}

.icon-move-surroundings:before {
  content: "";
}

.icon-obj-file:before {
  content: "";
}

.icon-plus:before {
  content: "";
}

.icon-plus-circle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
}

.icon-plus-circle:before {
  content: "";
  font-size: 1em;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.icon-plus-circle:after {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.08em solid currentColor;
  border-radius: 50%;
  box-sizing: border-box;
}

.icon-save:before {
  content: "";
}

.icon-save-as:before {
  content: "";
}

.icon-stats:before {
  content: "";
}

.icon-swap:before {
  content: "";
}

.icon-three-layers:before {
  content: "";
}

.icon-two-layers:before {
  content: "";
}

.icon-zoom-in:before {
  content: "";
}

.icon-zoom-out:before {
  content: "";
}

.icon-move-camera:before {
  content: "";
}

.icon-reset-camera:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-angle-rotation:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-rotate-360:before {
  font-family: "Material Symbols Outlined", "Material Icons" !important;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  content: "360";
}

.icon-swap-circular:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-info:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-document:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-cube:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-sun:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

.icon-cloud:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  content: "";
}

/*!
 * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fa-lg {
  font-size: 1.3333333333em;
  line-height: 0.75em;
  vertical-align: -0.0667em;
}

.fa-xs {
  font-size: 0.75em;
}

.fa-sm {
  font-size: 0.875em;
}

.fa-1x {
  font-size: 1em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa-fw {
  text-align: center;
  width: 1.25em;
}

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit;
}

.fa-border {
  border: solid 0.08em #e3eaef;
  border-radius: 0.1em;
  padding: 0.2em 0.25em 0.15em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: 0.3em;
}
.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1);
}

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(-1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
  filter: none;
}

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-500px:before {
  content: "";
}

.fa-accessible-icon:before {
  content: "";
}

.fa-accusoft:before {
  content: "";
}

.fa-acquisitions-incorporated:before {
  content: "";
}

.fa-ad:before {
  content: "";
}

.fa-address-book:before {
  content: "";
}

.fa-address-card:before {
  content: "";
}

.fa-adjust:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-adversal:before {
  content: "";
}

.fa-affiliatetheme:before {
  content: "";
}

.fa-air-freshener:before {
  content: "";
}

.fa-airbnb:before {
  content: "";
}

.fa-algolia:before {
  content: "";
}

.fa-align-center:before {
  content: "";
}

.fa-align-justify:before {
  content: "";
}

.fa-align-left:before {
  content: "";
}

.fa-align-right:before {
  content: "";
}

.fa-alipay:before {
  content: "";
}

.fa-allergies:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-amazon-pay:before {
  content: "";
}

.fa-ambulance:before {
  content: "";
}

.fa-american-sign-language-interpreting:before {
  content: "";
}

.fa-amilia:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-angle-double-down:before {
  content: "";
}

.fa-angle-double-left:before {
  content: "";
}

.fa-angle-double-right:before {
  content: "";
}

.fa-angle-double-up:before {
  content: "";
}

.fa-angle-down:before {
  content: "";
}

.fa-angle-left:before {
  content: "";
}

.fa-angle-right:before {
  content: "";
}

.fa-angle-up:before {
  content: "";
}

.fa-angry:before {
  content: "";
}

.fa-angrycreative:before {
  content: "";
}

.fa-angular:before {
  content: "";
}

.fa-ankh:before {
  content: "";
}

.fa-app-store:before {
  content: "";
}

.fa-app-store-ios:before {
  content: "";
}

.fa-apper:before {
  content: "";
}

.fa-apple:before {
  content: "";
}

.fa-apple-alt:before {
  content: "";
}

.fa-apple-pay:before {
  content: "";
}

.fa-archive:before {
  content: "";
}

.fa-archway:before {
  content: "";
}

.fa-arrow-alt-circle-down:before {
  content: "";
}

.fa-arrow-alt-circle-left:before {
  content: "";
}

.fa-arrow-alt-circle-right:before {
  content: "";
}

.fa-arrow-alt-circle-up:before {
  content: "";
}

.fa-arrow-circle-down:before {
  content: "";
}

.fa-arrow-circle-left:before {
  content: "";
}

.fa-arrow-circle-right:before {
  content: "";
}

.fa-arrow-circle-up:before {
  content: "";
}

.fa-arrow-down:before {
  content: "";
}

.fa-arrow-left:before {
  content: "";
}

.fa-arrow-right:before {
  content: "";
}

.fa-arrow-up:before {
  content: "";
}

.fa-arrows-alt:before {
  content: "";
}

.fa-arrows-alt-h:before {
  content: "";
}

.fa-arrows-alt-v:before {
  content: "";
}

.fa-artstation:before {
  content: "";
}

.fa-assistive-listening-systems:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

.fa-asymmetrik:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-atlas:before {
  content: "";
}

.fa-atlassian:before {
  content: "";
}

.fa-atom:before {
  content: "";
}

.fa-audible:before {
  content: "";
}

.fa-audio-description:before {
  content: "";
}

.fa-autoprefixer:before {
  content: "";
}

.fa-avianex:before {
  content: "";
}

.fa-aviato:before {
  content: "";
}

.fa-award:before {
  content: "";
}

.fa-aws:before {
  content: "";
}

.fa-baby:before {
  content: "";
}

.fa-baby-carriage:before {
  content: "";
}

.fa-backspace:before {
  content: "";
}

.fa-backward:before {
  content: "";
}

.fa-bacon:before {
  content: "";
}

.fa-bacteria:before {
  content: "";
}

.fa-bacterium:before {
  content: "";
}

.fa-bahai:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-balance-scale-left:before {
  content: "";
}

.fa-balance-scale-right:before {
  content: "";
}

.fa-ban:before {
  content: "";
}

.fa-band-aid:before {
  content: "";
}

.fa-bandcamp:before {
  content: "";
}

.fa-barcode:before {
  content: "";
}

.fa-bars:before {
  content: "";
}

.fa-baseball-ball:before {
  content: "";
}

.fa-basketball-ball:before {
  content: "";
}

.fa-bath:before {
  content: "";
}

.fa-battery-empty:before {
  content: "";
}

.fa-battery-full:before {
  content: "";
}

.fa-battery-half:before {
  content: "";
}

.fa-battery-quarter:before {
  content: "";
}

.fa-battery-three-quarters:before {
  content: "";
}

.fa-battle-net:before {
  content: "";
}

.fa-bed:before {
  content: "";
}

.fa-beer:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

.fa-behance-square:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-bell-slash:before {
  content: "";
}

.fa-bezier-curve:before {
  content: "";
}

.fa-bible:before {
  content: "";
}

.fa-bicycle:before {
  content: "";
}

.fa-biking:before {
  content: "";
}

.fa-bimobject:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-biohazard:before {
  content: "";
}

.fa-birthday-cake:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

.fa-bitcoin:before {
  content: "";
}

.fa-bity:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-blackberry:before {
  content: "";
}

.fa-blender:before {
  content: "";
}

.fa-blender-phone:before {
  content: "";
}

.fa-blind:before {
  content: "";
}

.fa-blog:before {
  content: "";
}

.fa-blogger:before {
  content: "";
}

.fa-blogger-b:before {
  content: "";
}

.fa-bluetooth:before {
  content: "";
}

.fa-bluetooth-b:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-bolt:before {
  content: "";
}

.fa-bomb:before {
  content: "";
}

.fa-bone:before {
  content: "";
}

.fa-bong:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-book-dead:before {
  content: "";
}

.fa-book-medical:before {
  content: "";
}

.fa-book-open:before {
  content: "";
}

.fa-book-reader:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-bootstrap:before {
  content: "";
}

.fa-border-all:before {
  content: "";
}

.fa-border-none:before {
  content: "";
}

.fa-border-style:before {
  content: "";
}

.fa-bowling-ball:before {
  content: "";
}

.fa-box:before {
  content: "";
}

.fa-box-open:before {
  content: "";
}

.fa-box-tissue:before {
  content: "";
}

.fa-boxes:before {
  content: "";
}

.fa-braille:before {
  content: "";
}

.fa-brain:before {
  content: "";
}

.fa-bread-slice:before {
  content: "";
}

.fa-briefcase:before {
  content: "";
}

.fa-briefcase-medical:before {
  content: "";
}

.fa-broadcast-tower:before {
  content: "";
}

.fa-broom:before {
  content: "";
}

.fa-brush:before {
  content: "";
}

.fa-btc:before {
  content: "";
}

.fa-buffer:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-bullhorn:before {
  content: "";
}

.fa-bullseye:before {
  content: "";
}

.fa-burn:before {
  content: "";
}

.fa-buromobelexperte:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-bus-alt:before {
  content: "";
}

.fa-business-time:before {
  content: "";
}

.fa-buy-n-large:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-calendar:before {
  content: "";
}

.fa-calendar-alt:before {
  content: "";
}

.fa-calendar-check:before {
  content: "";
}

.fa-calendar-day:before {
  content: "";
}

.fa-calendar-minus:before {
  content: "";
}

.fa-calendar-plus:before {
  content: "";
}

.fa-calendar-times:before {
  content: "";
}

.fa-calendar-week:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-camera-retro:before {
  content: "";
}

.fa-campground:before {
  content: "";
}

.fa-canadian-maple-leaf:before {
  content: "";
}

.fa-candy-cane:before {
  content: "";
}

.fa-cannabis:before {
  content: "";
}

.fa-capsules:before {
  content: "";
}

.fa-car:before {
  content: "";
}

.fa-car-alt:before {
  content: "";
}

.fa-car-battery:before {
  content: "";
}

.fa-car-crash:before {
  content: "";
}

.fa-car-side:before {
  content: "";
}

.fa-caravan:before {
  content: "";
}

.fa-caret-down:before {
  content: "";
}

.fa-caret-left:before {
  content: "";
}

.fa-caret-right:before {
  content: "";
}

.fa-caret-square-down:before {
  content: "";
}

.fa-caret-square-left:before {
  content: "";
}

.fa-caret-square-right:before {
  content: "";
}

.fa-caret-square-up:before {
  content: "";
}

.fa-caret-up:before {
  content: "";
}

.fa-carrot:before {
  content: "";
}

.fa-cart-arrow-down:before {
  content: "";
}

.fa-cart-plus:before {
  content: "";
}

.fa-cash-register:before {
  content: "";
}

.fa-cat:before {
  content: "";
}

.fa-cc-amazon-pay:before {
  content: "";
}

.fa-cc-amex:before {
  content: "";
}

.fa-cc-apple-pay:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-cc-discover:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-mastercard:before {
  content: "";
}

.fa-cc-paypal:before {
  content: "";
}

.fa-cc-stripe:before {
  content: "";
}

.fa-cc-visa:before {
  content: "";
}

.fa-centercode:before {
  content: "";
}

.fa-centos:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

.fa-chair:before {
  content: "";
}

.fa-chalkboard:before {
  content: "";
}

.fa-chalkboard-teacher:before {
  content: "";
}

.fa-charging-station:before {
  content: "";
}

.fa-chart-area:before {
  content: "";
}

.fa-chart-bar:before {
  content: "";
}

.fa-chart-line:before {
  content: "";
}

.fa-chart-pie:before {
  content: "";
}

.fa-check:before {
  content: "";
}

.fa-check-circle:before {
  content: "";
}

.fa-check-double:before {
  content: "";
}

.fa-check-square:before {
  content: "";
}

.fa-cheese:before {
  content: "";
}

.fa-chess:before {
  content: "";
}

.fa-chess-bishop:before {
  content: "";
}

.fa-chess-board:before {
  content: "";
}

.fa-chess-king:before {
  content: "";
}

.fa-chess-knight:before {
  content: "";
}

.fa-chess-pawn:before {
  content: "";
}

.fa-chess-queen:before {
  content: "";
}

.fa-chess-rook:before {
  content: "";
}

.fa-chevron-circle-down:before {
  content: "";
}

.fa-chevron-circle-left:before {
  content: "";
}

.fa-chevron-circle-right:before {
  content: "";
}

.fa-chevron-circle-up:before {
  content: "";
}

.fa-chevron-down:before {
  content: "";
}

.fa-chevron-left:before {
  content: "";
}

.fa-chevron-right:before {
  content: "";
}

.fa-chevron-up:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-chromecast:before {
  content: "";
}

.fa-church:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

.fa-circle-notch:before {
  content: "";
}

.fa-city:before {
  content: "";
}

.fa-clinic-medical:before {
  content: "";
}

.fa-clipboard:before {
  content: "";
}

.fa-clipboard-check:before {
  content: "";
}

.fa-clipboard-list:before {
  content: "";
}

.fa-clock:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-closed-captioning:before {
  content: "";
}

.fa-cloud:before {
  content: "";
}

.fa-cloud-download-alt:before {
  content: "";
}

.fa-cloud-meatball:before {
  content: "";
}

.fa-cloud-moon:before {
  content: "";
}

.fa-cloud-moon-rain:before {
  content: "";
}

.fa-cloud-rain:before {
  content: "";
}

.fa-cloud-showers-heavy:before {
  content: "";
}

.fa-cloud-sun:before {
  content: "";
}

.fa-cloud-sun-rain:before {
  content: "";
}

.fa-cloud-upload-alt:before {
  content: "";
}

.fa-cloudflare:before {
  content: "";
}

.fa-cloudscale:before {
  content: "";
}

.fa-cloudsmith:before {
  content: "";
}

.fa-cloudversify:before {
  content: "";
}

.fa-cocktail:before {
  content: "";
}

.fa-code:before {
  content: "";
}

.fa-code-branch:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-codiepie:before {
  content: "";
}

.fa-coffee:before {
  content: "";
}

.fa-cog:before {
  content: "";
}

.fa-cogs:before {
  content: "";
}

.fa-coins:before {
  content: "";
}

.fa-columns:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-comment-alt:before {
  content: "";
}

.fa-comment-dollar:before {
  content: "";
}

.fa-comment-dots:before {
  content: "";
}

.fa-comment-medical:before {
  content: "";
}

.fa-comment-slash:before {
  content: "";
}

.fa-comments:before {
  content: "";
}

.fa-comments-dollar:before {
  content: "";
}

.fa-compact-disc:before {
  content: "";
}

.fa-compass:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-compress-alt:before {
  content: "";
}

.fa-compress-arrows-alt:before {
  content: "";
}

.fa-concierge-bell:before {
  content: "";
}

.fa-confluence:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-cookie:before {
  content: "";
}

.fa-cookie-bite:before {
  content: "";
}

.fa-copy:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-cotton-bureau:before {
  content: "";
}

.fa-couch:before {
  content: "";
}

.fa-cpanel:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-creative-commons-by:before {
  content: "";
}

.fa-creative-commons-nc:before {
  content: "";
}

.fa-creative-commons-nc-eu:before {
  content: "";
}

.fa-creative-commons-nc-jp:before {
  content: "";
}

.fa-creative-commons-nd:before {
  content: "";
}

.fa-creative-commons-pd:before {
  content: "";
}

.fa-creative-commons-pd-alt:before {
  content: "";
}

.fa-creative-commons-remix:before {
  content: "";
}

.fa-creative-commons-sa:before {
  content: "";
}

.fa-creative-commons-sampling:before {
  content: "";
}

.fa-creative-commons-sampling-plus:before {
  content: "";
}

.fa-creative-commons-share:before {
  content: "";
}

.fa-creative-commons-zero:before {
  content: "";
}

.fa-credit-card:before {
  content: "";
}

.fa-critical-role:before {
  content: "";
}

.fa-crop:before {
  content: "";
}

.fa-crop-alt:before {
  content: "";
}

.fa-cross:before {
  content: "";
}

.fa-crosshairs:before {
  content: "";
}

.fa-crow:before {
  content: "";
}

.fa-crown:before {
  content: "";
}

.fa-crutch:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-css3-alt:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-cut:before {
  content: "";
}

.fa-cuttlefish:before {
  content: "";
}

.fa-d-and-d:before {
  content: "";
}

.fa-d-and-d-beyond:before {
  content: "";
}

.fa-dailymotion:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-database:before {
  content: "";
}

.fa-deaf:before {
  content: "";
}

.fa-deezer:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-democrat:before {
  content: "";
}

.fa-deploydog:before {
  content: "";
}

.fa-deskpro:before {
  content: "";
}

.fa-desktop:before {
  content: "";
}

.fa-dev:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-dharmachakra:before {
  content: "";
}

.fa-dhl:before {
  content: "";
}

.fa-diagnoses:before {
  content: "";
}

.fa-diaspora:before {
  content: "";
}

.fa-dice:before {
  content: "";
}

.fa-dice-d20:before {
  content: "";
}

.fa-dice-d6:before {
  content: "";
}

.fa-dice-five:before {
  content: "";
}

.fa-dice-four:before {
  content: "";
}

.fa-dice-one:before {
  content: "";
}

.fa-dice-six:before {
  content: "";
}

.fa-dice-three:before {
  content: "";
}

.fa-dice-two:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-digital-ocean:before {
  content: "";
}

.fa-digital-tachograph:before {
  content: "";
}

.fa-directions:before {
  content: "";
}

.fa-discord:before {
  content: "";
}

.fa-discourse:before {
  content: "";
}

.fa-disease:before {
  content: "";
}

.fa-divide:before {
  content: "";
}

.fa-dizzy:before {
  content: "";
}

.fa-dna:before {
  content: "";
}

.fa-dochub:before {
  content: "";
}

.fa-docker:before {
  content: "";
}

.fa-dog:before {
  content: "";
}

.fa-dollar-sign:before {
  content: "";
}

.fa-dolly:before {
  content: "";
}

.fa-dolly-flatbed:before {
  content: "";
}

.fa-donate:before {
  content: "";
}

.fa-door-closed:before {
  content: "";
}

.fa-door-open:before {
  content: "";
}

.fa-dot-circle:before {
  content: "";
}

.fa-dove:before {
  content: "";
}

.fa-download:before {
  content: "";
}

.fa-draft2digital:before {
  content: "";
}

.fa-drafting-compass:before {
  content: "";
}

.fa-dragon:before {
  content: "";
}

.fa-draw-polygon:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-dribbble-square:before {
  content: "";
}

.fa-dropbox:before {
  content: "";
}

.fa-drum:before {
  content: "";
}

.fa-drum-steelpan:before {
  content: "";
}

.fa-drumstick-bite:before {
  content: "";
}

.fa-drupal:before {
  content: "";
}

.fa-dumbbell:before {
  content: "";
}

.fa-dumpster:before {
  content: "";
}

.fa-dumpster-fire:before {
  content: "";
}

.fa-dungeon:before {
  content: "";
}

.fa-dyalog:before {
  content: "";
}

.fa-earlybirds:before {
  content: "";
}

.fa-ebay:before {
  content: "";
}

.fa-edge:before {
  content: "";
}

.fa-edge-legacy:before {
  content: "";
}

.fa-edit:before {
  content: "";
}

.fa-egg:before {
  content: "";
}

.fa-eject:before {
  content: "";
}

.fa-elementor:before {
  content: "";
}

.fa-ellipsis-h:before {
  content: "";
}

.fa-ellipsis-v:before {
  content: "";
}

.fa-ello:before {
  content: "";
}

.fa-ember:before {
  content: "";
}

.fa-empire:before {
  content: "";
}

.fa-envelope:before {
  content: "";
}

.fa-envelope-open:before {
  content: "";
}

.fa-envelope-open-text:before {
  content: "";
}

.fa-envelope-square:before {
  content: "";
}

.fa-envira:before {
  content: "";
}

.fa-equals:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

.fa-erlang:before {
  content: "";
}

.fa-ethereum:before {
  content: "";
}

.fa-ethernet:before {
  content: "";
}

.fa-etsy:before {
  content: "";
}

.fa-euro-sign:before {
  content: "";
}

.fa-evernote:before {
  content: "";
}

.fa-exchange-alt:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-exclamation-circle:before {
  content: "";
}

.fa-exclamation-triangle:before {
  content: "";
}

.fa-expand:before {
  content: "";
}

.fa-expand-alt:before {
  content: "";
}

.fa-expand-arrows-alt:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-external-link-alt:before {
  content: "";
}

.fa-external-link-square-alt:before {
  content: "";
}

.fa-eye:before {
  content: "";
}

.fa-eye-dropper:before {
  content: "";
}

.fa-eye-slash:before {
  content: "";
}

.fa-facebook:before {
  content: "";
}

.fa-facebook-f:before {
  content: "";
}

.fa-facebook-messenger:before {
  content: "";
}

.fa-facebook-square:before {
  content: "";
}

.fa-fan:before {
  content: "";
}

.fa-fantasy-flight-games:before {
  content: "";
}

.fa-fast-backward:before {
  content: "";
}

.fa-fast-forward:before {
  content: "";
}

.fa-faucet:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-feather:before {
  content: "";
}

.fa-feather-alt:before {
  content: "";
}

.fa-fedex:before {
  content: "";
}

.fa-fedora:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-fighter-jet:before {
  content: "";
}

.fa-figma:before {
  content: "";
}

.fa-file:before {
  content: "";
}

.fa-file-alt:before {
  content: "";
}

.fa-file-archive:before {
  content: "";
}

.fa-file-audio:before {
  content: "";
}

.fa-file-code:before {
  content: "";
}

.fa-file-contract:before {
  content: "";
}

.fa-file-csv:before {
  content: "";
}

.fa-file-download:before {
  content: "";
}

.fa-file-excel:before {
  content: "";
}

.fa-file-export:before {
  content: "";
}

.fa-file-image:before {
  content: "";
}

.fa-file-import:before {
  content: "";
}

.fa-file-invoice:before {
  content: "";
}

.fa-file-invoice-dollar:before {
  content: "";
}

.fa-file-medical:before {
  content: "";
}

.fa-file-medical-alt:before {
  content: "";
}

.fa-file-pdf:before {
  content: "";
}

.fa-file-powerpoint:before {
  content: "";
}

.fa-file-prescription:before {
  content: "";
}

.fa-file-signature:before {
  content: "";
}

.fa-file-upload:before {
  content: "";
}

.fa-file-video:before {
  content: "";
}

.fa-file-word:before {
  content: "";
}

.fa-fill:before {
  content: "";
}

.fa-fill-drip:before {
  content: "";
}

.fa-film:before {
  content: "";
}

.fa-filter:before {
  content: "";
}

.fa-fingerprint:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-fire-alt:before {
  content: "";
}

.fa-fire-extinguisher:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-firefox-browser:before {
  content: "";
}

.fa-first-aid:before {
  content: "";
}

.fa-first-order:before {
  content: "";
}

.fa-first-order-alt:before {
  content: "";
}

.fa-firstdraft:before {
  content: "";
}

.fa-fish:before {
  content: "";
}

.fa-fist-raised:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-flag-checkered:before {
  content: "";
}

.fa-flag-usa:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-flipboard:before {
  content: "";
}

.fa-flushed:before {
  content: "";
}

.fa-fly:before {
  content: "";
}

.fa-folder:before {
  content: "";
}

.fa-folder-minus:before {
  content: "";
}

.fa-folder-open:before {
  content: "";
}

.fa-folder-plus:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-font-awesome:before {
  content: "";
}

.fa-font-awesome-alt:before {
  content: "";
}

.fa-font-awesome-flag:before {
  content: "";
}

.fa-font-awesome-logo-full:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

.fa-fonticons-fi:before {
  content: "";
}

.fa-football-ball:before {
  content: "";
}

.fa-fort-awesome:before {
  content: "";
}

.fa-fort-awesome-alt:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-free-code-camp:before {
  content: "";
}

.fa-freebsd:before {
  content: "";
}

.fa-frog:before {
  content: "";
}

.fa-frown:before {
  content: "";
}

.fa-frown-open:before {
  content: "";
}

.fa-fulcrum:before {
  content: "";
}

.fa-funnel-dollar:before {
  content: "";
}

.fa-futbol:before {
  content: "";
}

.fa-galactic-republic:before {
  content: "";
}

.fa-galactic-senate:before {
  content: "";
}

.fa-gamepad:before {
  content: "";
}

.fa-gas-pump:before {
  content: "";
}

.fa-gavel:before {
  content: "";
}

.fa-gem:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-ghost:before {
  content: "";
}

.fa-gift:before {
  content: "";
}

.fa-gifts:before {
  content: "";
}

.fa-git:before {
  content: "";
}

.fa-git-alt:before {
  content: "";
}

.fa-git-square:before {
  content: "";
}

.fa-github:before {
  content: "";
}

.fa-github-alt:before {
  content: "";
}

.fa-github-square:before {
  content: "";
}

.fa-gitkraken:before {
  content: "";
}

.fa-gitlab:before {
  content: "";
}

.fa-gitter:before {
  content: "";
}

.fa-glass-cheers:before {
  content: "";
}

.fa-glass-martini:before {
  content: "";
}

.fa-glass-martini-alt:before {
  content: "";
}

.fa-glass-whiskey:before {
  content: "";
}

.fa-glasses:before {
  content: "";
}

.fa-glide:before {
  content: "";
}

.fa-glide-g:before {
  content: "";
}

.fa-globe:before {
  content: "";
}

.fa-globe-africa:before {
  content: "";
}

.fa-globe-americas:before {
  content: "";
}

.fa-globe-asia:before {
  content: "";
}

.fa-globe-europe:before {
  content: "";
}

.fa-gofore:before {
  content: "";
}

.fa-golf-ball:before {
  content: "";
}

.fa-goodreads:before {
  content: "";
}

.fa-goodreads-g:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-google-drive:before {
  content: "";
}

.fa-google-pay:before {
  content: "";
}

.fa-google-play:before {
  content: "";
}

.fa-google-plus:before {
  content: "";
}

.fa-google-plus-g:before {
  content: "";
}

.fa-google-plus-square:before {
  content: "";
}

.fa-google-wallet:before {
  content: "";
}

.fa-gopuram:before {
  content: "";
}

.fa-graduation-cap:before {
  content: "";
}

.fa-gratipay:before {
  content: "";
}

.fa-grav:before {
  content: "";
}

.fa-greater-than:before {
  content: "";
}

.fa-greater-than-equal:before {
  content: "";
}

.fa-grimace:before {
  content: "";
}

.fa-grin:before {
  content: "";
}

.fa-grin-alt:before {
  content: "";
}

.fa-grin-beam:before {
  content: "";
}

.fa-grin-beam-sweat:before {
  content: "";
}

.fa-grin-hearts:before {
  content: "";
}

.fa-grin-squint:before {
  content: "";
}

.fa-grin-squint-tears:before {
  content: "";
}

.fa-grin-stars:before {
  content: "";
}

.fa-grin-tears:before {
  content: "";
}

.fa-grin-tongue:before {
  content: "";
}

.fa-grin-tongue-squint:before {
  content: "";
}

.fa-grin-tongue-wink:before {
  content: "";
}

.fa-grin-wink:before {
  content: "";
}

.fa-grip-horizontal:before {
  content: "";
}

.fa-grip-lines:before {
  content: "";
}

.fa-grip-lines-vertical:before {
  content: "";
}

.fa-grip-vertical:before {
  content: "";
}

.fa-gripfire:before {
  content: "";
}

.fa-grunt:before {
  content: "";
}

.fa-guilded:before {
  content: "";
}

.fa-guitar:before {
  content: "";
}

.fa-gulp:before {
  content: "";
}

.fa-h-square:before {
  content: "";
}

.fa-hacker-news:before {
  content: "";
}

.fa-hacker-news-square:before {
  content: "";
}

.fa-hackerrank:before {
  content: "";
}

.fa-hamburger:before {
  content: "";
}

.fa-hammer:before {
  content: "";
}

.fa-hamsa:before {
  content: "";
}

.fa-hand-holding:before {
  content: "";
}

.fa-hand-holding-heart:before {
  content: "";
}

.fa-hand-holding-medical:before {
  content: "";
}

.fa-hand-holding-usd:before {
  content: "";
}

.fa-hand-holding-water:before {
  content: "";
}

.fa-hand-lizard:before {
  content: "";
}

.fa-hand-middle-finger:before {
  content: "";
}

.fa-hand-paper:before {
  content: "";
}

.fa-hand-peace:before {
  content: "";
}

.fa-hand-point-down:before {
  content: "";
}

.fa-hand-point-left:before {
  content: "";
}

.fa-hand-point-right:before {
  content: "";
}

.fa-hand-point-up:before {
  content: "";
}

.fa-hand-pointer:before {
  content: "";
}

.fa-hand-rock:before {
  content: "";
}

.fa-hand-scissors:before {
  content: "";
}

.fa-hand-sparkles:before {
  content: "";
}

.fa-hand-spock:before {
  content: "";
}

.fa-hands:before {
  content: "";
}

.fa-hands-helping:before {
  content: "";
}

.fa-hands-wash:before {
  content: "";
}

.fa-handshake:before {
  content: "";
}

.fa-handshake-alt-slash:before {
  content: "";
}

.fa-handshake-slash:before {
  content: "";
}

.fa-hanukiah:before {
  content: "";
}

.fa-hard-hat:before {
  content: "";
}

.fa-hashtag:before {
  content: "";
}

.fa-hat-cowboy:before {
  content: "";
}

.fa-hat-cowboy-side:before {
  content: "";
}

.fa-hat-wizard:before {
  content: "";
}

.fa-hdd:before {
  content: "";
}

.fa-head-side-cough:before {
  content: "";
}

.fa-head-side-cough-slash:before {
  content: "";
}

.fa-head-side-mask:before {
  content: "";
}

.fa-head-side-virus:before {
  content: "";
}

.fa-heading:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

.fa-headphones-alt:before {
  content: "";
}

.fa-headset:before {
  content: "";
}

.fa-heart:before {
  content: "";
}

.fa-heart-broken:before {
  content: "";
}

.fa-heartbeat:before {
  content: "";
}

.fa-helicopter:before {
  content: "";
}

.fa-highlighter:before {
  content: "";
}

.fa-hiking:before {
  content: "";
}

.fa-hippo:before {
  content: "";
}

.fa-hips:before {
  content: "";
}

.fa-hire-a-helper:before {
  content: "";
}

.fa-history:before {
  content: "";
}

.fa-hive:before {
  content: "";
}

.fa-hockey-puck:before {
  content: "";
}

.fa-holly-berry:before {
  content: "";
}

.fa-home:before {
  content: "";
}

.fa-hooli:before {
  content: "";
}

.fa-hornbill:before {
  content: "";
}

.fa-horse:before {
  content: "";
}

.fa-horse-head:before {
  content: "";
}

.fa-hospital:before {
  content: "";
}

.fa-hospital-alt:before {
  content: "";
}

.fa-hospital-symbol:before {
  content: "";
}

.fa-hospital-user:before {
  content: "";
}

.fa-hot-tub:before {
  content: "";
}

.fa-hotdog:before {
  content: "";
}

.fa-hotel:before {
  content: "";
}

.fa-hotjar:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-start:before {
  content: "";
}

.fa-house-damage:before {
  content: "";
}

.fa-house-user:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-hryvnia:before {
  content: "";
}

.fa-html5:before {
  content: "";
}

.fa-hubspot:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-ice-cream:before {
  content: "";
}

.fa-icicles:before {
  content: "";
}

.fa-icons:before {
  content: "";
}

.fa-id-badge:before {
  content: "";
}

.fa-id-card:before {
  content: "";
}

.fa-id-card-alt:before {
  content: "";
}

.fa-ideal:before {
  content: "";
}

.fa-igloo:before {
  content: "";
}

.fa-image:before {
  content: "";
}

.fa-images:before {
  content: "";
}

.fa-imdb:before {
  content: "";
}

.fa-inbox:before {
  content: "";
}

.fa-indent:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-infinity:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-info-circle:before {
  content: "";
}

.fa-innosoft:before {
  content: "";
}

.fa-instagram:before {
  content: "";
}

.fa-instagram-square:before {
  content: "";
}

.fa-instalod:before {
  content: "";
}

.fa-intercom:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-invision:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

.fa-itch-io:before {
  content: "";
}

.fa-itunes:before {
  content: "";
}

.fa-itunes-note:before {
  content: "";
}

.fa-java:before {
  content: "";
}

.fa-jedi:before {
  content: "";
}

.fa-jedi-order:before {
  content: "";
}

.fa-jenkins:before {
  content: "";
}

.fa-jira:before {
  content: "";
}

.fa-joget:before {
  content: "";
}

.fa-joint:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-journal-whills:before {
  content: "";
}

.fa-js:before {
  content: "";
}

.fa-js-square:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

.fa-kaaba:before {
  content: "";
}

.fa-kaggle:before {
  content: "";
}

.fa-key:before {
  content: "";
}

.fa-keybase:before {
  content: "";
}

.fa-keyboard:before {
  content: "";
}

.fa-keycdn:before {
  content: "";
}

.fa-khanda:before {
  content: "";
}

.fa-kickstarter:before {
  content: "";
}

.fa-kickstarter-k:before {
  content: "";
}

.fa-kiss:before {
  content: "";
}

.fa-kiss-beam:before {
  content: "";
}

.fa-kiss-wink-heart:before {
  content: "";
}

.fa-kiwi-bird:before {
  content: "";
}

.fa-korvue:before {
  content: "";
}

.fa-landmark:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-laptop-code:before {
  content: "";
}

.fa-laptop-house:before {
  content: "";
}

.fa-laptop-medical:before {
  content: "";
}

.fa-laravel:before {
  content: "";
}

.fa-lastfm:before {
  content: "";
}

.fa-lastfm-square:before {
  content: "";
}

.fa-laugh:before {
  content: "";
}

.fa-laugh-beam:before {
  content: "";
}

.fa-laugh-squint:before {
  content: "";
}

.fa-laugh-wink:before {
  content: "";
}

.fa-layer-group:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-lemon:before {
  content: "";
}

.fa-less:before {
  content: "";
}

.fa-less-than:before {
  content: "";
}

.fa-less-than-equal:before {
  content: "";
}

.fa-level-down-alt:before {
  content: "";
}

.fa-level-up-alt:before {
  content: "";
}

.fa-life-ring:before {
  content: "";
}

.fa-lightbulb:before {
  content: "";
}

.fa-line:before {
  content: "";
}

.fa-link:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

.fa-linkedin-in:before {
  content: "";
}

.fa-linode:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-lira-sign:before {
  content: "";
}

.fa-list:before {
  content: "";
}

.fa-list-alt:before {
  content: "";
}

.fa-list-ol:before {
  content: "";
}

.fa-list-ul:before {
  content: "";
}

.fa-location-arrow:before {
  content: "";
}

.fa-lock:before {
  content: "";
}

.fa-lock-open:before {
  content: "";
}

.fa-long-arrow-alt-down:before {
  content: "";
}

.fa-long-arrow-alt-left:before {
  content: "";
}

.fa-long-arrow-alt-right:before {
  content: "";
}

.fa-long-arrow-alt-up:before {
  content: "";
}

.fa-low-vision:before {
  content: "";
}

.fa-luggage-cart:before {
  content: "";
}

.fa-lungs:before {
  content: "";
}

.fa-lungs-virus:before {
  content: "";
}

.fa-lyft:before {
  content: "";
}

.fa-magento:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

.fa-mail-bulk:before {
  content: "";
}

.fa-mailchimp:before {
  content: "";
}

.fa-male:before {
  content: "";
}

.fa-mandalorian:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-map-marked:before {
  content: "";
}

.fa-map-marked-alt:before {
  content: "";
}

.fa-map-marker:before {
  content: "";
}

.fa-map-marker-alt:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-markdown:before {
  content: "";
}

.fa-marker:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mars-double:before {
  content: "";
}

.fa-mars-stroke:before {
  content: "";
}

.fa-mars-stroke-h:before {
  content: "";
}

.fa-mars-stroke-v:before {
  content: "";
}

.fa-mask:before {
  content: "";
}

.fa-mastodon:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

.fa-mdb:before {
  content: "";
}

.fa-medal:before {
  content: "";
}

.fa-medapps:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-medium-m:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

.fa-medrt:before {
  content: "";
}

.fa-meetup:before {
  content: "";
}

.fa-megaport:before {
  content: "";
}

.fa-meh:before {
  content: "";
}

.fa-meh-blank:before {
  content: "";
}

.fa-meh-rolling-eyes:before {
  content: "";
}

.fa-memory:before {
  content: "";
}

.fa-mendeley:before {
  content: "";
}

.fa-menorah:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-meteor:before {
  content: "";
}

.fa-microblog:before {
  content: "";
}

.fa-microchip:before {
  content: "";
}

.fa-microphone:before {
  content: "";
}

.fa-microphone-alt:before {
  content: "";
}

.fa-microphone-alt-slash:before {
  content: "";
}

.fa-microphone-slash:before {
  content: "";
}

.fa-microscope:before {
  content: "";
}

.fa-microsoft:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-minus-circle:before {
  content: "";
}

.fa-minus-square:before {
  content: "";
}

.fa-mitten:before {
  content: "";
}

.fa-mix:before {
  content: "";
}

.fa-mixcloud:before {
  content: "";
}

.fa-mixer:before {
  content: "";
}

.fa-mizuni:before {
  content: "";
}

.fa-mobile:before {
  content: "";
}

.fa-mobile-alt:before {
  content: "";
}

.fa-modx:before {
  content: "";
}

.fa-monero:before {
  content: "";
}

.fa-money-bill:before {
  content: "";
}

.fa-money-bill-alt:before {
  content: "";
}

.fa-money-bill-wave:before {
  content: "";
}

.fa-money-bill-wave-alt:before {
  content: "";
}

.fa-money-check:before {
  content: "";
}

.fa-money-check-alt:before {
  content: "";
}

.fa-monument:before {
  content: "";
}

.fa-moon:before {
  content: "";
}

.fa-mortar-pestle:before {
  content: "";
}

.fa-mosque:before {
  content: "";
}

.fa-motorcycle:before {
  content: "";
}

.fa-mountain:before {
  content: "";
}

.fa-mouse:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-mug-hot:before {
  content: "";
}

.fa-music:before {
  content: "";
}

.fa-napster:before {
  content: "";
}

.fa-neos:before {
  content: "";
}

.fa-network-wired:before {
  content: "";
}

.fa-neuter:before {
  content: "";
}

.fa-newspaper:before {
  content: "";
}

.fa-nimblr:before {
  content: "";
}

.fa-node:before {
  content: "";
}

.fa-node-js:before {
  content: "";
}

.fa-not-equal:before {
  content: "";
}

.fa-notes-medical:before {
  content: "";
}

.fa-npm:before {
  content: "";
}

.fa-ns8:before {
  content: "";
}

.fa-nutritionix:before {
  content: "";
}

.fa-object-group:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-octopus-deploy:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-oil-can:before {
  content: "";
}

.fa-old-republic:before {
  content: "";
}

.fa-om:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-orcid:before {
  content: "";
}

.fa-osi:before {
  content: "";
}

.fa-otter:before {
  content: "";
}

.fa-outdent:before {
  content: "";
}

.fa-page4:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

.fa-pager:before {
  content: "";
}

.fa-paint-brush:before {
  content: "";
}

.fa-paint-roller:before {
  content: "";
}

.fa-palette:before {
  content: "";
}

.fa-palfed:before {
  content: "";
}

.fa-pallet:before {
  content: "";
}

.fa-paper-plane:before {
  content: "";
}

.fa-paperclip:before {
  content: "";
}

.fa-parachute-box:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-parking:before {
  content: "";
}

.fa-passport:before {
  content: "";
}

.fa-pastafarianism:before {
  content: "";
}

.fa-paste:before {
  content: "";
}

.fa-patreon:before {
  content: "";
}

.fa-pause:before {
  content: "";
}

.fa-pause-circle:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

.fa-peace:before {
  content: "";
}

.fa-pen:before {
  content: "";
}

.fa-pen-alt:before {
  content: "";
}

.fa-pen-fancy:before {
  content: "";
}

.fa-pen-nib:before {
  content: "";
}

.fa-pen-square:before {
  content: "";
}

.fa-pencil-alt:before {
  content: "";
}

.fa-pencil-ruler:before {
  content: "";
}

.fa-penny-arcade:before {
  content: "";
}

.fa-people-arrows:before {
  content: "";
}

.fa-people-carry:before {
  content: "";
}

.fa-pepper-hot:before {
  content: "";
}

.fa-perbyte:before {
  content: "";
}

.fa-percent:before {
  content: "";
}

.fa-percentage:before {
  content: "";
}

.fa-periscope:before {
  content: "";
}

.fa-person-booth:before {
  content: "";
}

.fa-phabricator:before {
  content: "";
}

.fa-phoenix-framework:before {
  content: "";
}

.fa-phoenix-squadron:before {
  content: "";
}

.fa-phone:before {
  content: "";
}

.fa-phone-alt:before {
  content: "";
}

.fa-phone-slash:before {
  content: "";
}

.fa-phone-square:before {
  content: "";
}

.fa-phone-square-alt:before {
  content: "";
}

.fa-phone-volume:before {
  content: "";
}

.fa-photo-video:before {
  content: "";
}

.fa-php:before {
  content: "";
}

.fa-pied-piper:before {
  content: "";
}

.fa-pied-piper-alt:before {
  content: "";
}

.fa-pied-piper-hat:before {
  content: "";
}

.fa-pied-piper-pp:before {
  content: "";
}

.fa-pied-piper-square:before {
  content: "";
}

.fa-piggy-bank:before {
  content: "";
}

.fa-pills:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

.fa-pinterest-p:before {
  content: "";
}

.fa-pinterest-square:before {
  content: "";
}

.fa-pizza-slice:before {
  content: "";
}

.fa-place-of-worship:before {
  content: "";
}

.fa-plane:before {
  content: "";
}

.fa-plane-arrival:before {
  content: "";
}

.fa-plane-departure:before {
  content: "";
}

.fa-plane-slash:before {
  content: "";
}

.fa-play:before {
  content: "";
}

.fa-play-circle:before {
  content: "";
}

.fa-playstation:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-plus-circle:before {
  content: "";
}

.fa-plus-square:before {
  content: "";
}

.fa-podcast:before {
  content: "";
}

.fa-poll:before {
  content: "";
}

.fa-poll-h:before {
  content: "";
}

.fa-poo:before {
  content: "";
}

.fa-poo-storm:before {
  content: "";
}

.fa-poop:before {
  content: "";
}

.fa-portrait:before {
  content: "";
}

.fa-pound-sign:before {
  content: "";
}

.fa-power-off:before {
  content: "";
}

.fa-pray:before {
  content: "";
}

.fa-praying-hands:before {
  content: "";
}

.fa-prescription:before {
  content: "";
}

.fa-prescription-bottle:before {
  content: "";
}

.fa-prescription-bottle-alt:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-procedures:before {
  content: "";
}

.fa-product-hunt:before {
  content: "";
}

.fa-project-diagram:before {
  content: "";
}

.fa-pump-medical:before {
  content: "";
}

.fa-pump-soap:before {
  content: "";
}

.fa-pushed:before {
  content: "";
}

.fa-puzzle-piece:before {
  content: "";
}

.fa-python:before {
  content: "";
}

.fa-qq:before {
  content: "";
}

.fa-qrcode:before {
  content: "";
}

.fa-question:before {
  content: "";
}

.fa-question-circle:before {
  content: "";
}

.fa-quidditch:before {
  content: "";
}

.fa-quinscape:before {
  content: "";
}

.fa-quora:before {
  content: "";
}

.fa-quote-left:before {
  content: "";
}

.fa-quote-right:before {
  content: "";
}

.fa-quran:before {
  content: "";
}

.fa-r-project:before {
  content: "";
}

.fa-radiation:before {
  content: "";
}

.fa-radiation-alt:before {
  content: "";
}

.fa-rainbow:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-raspberry-pi:before {
  content: "";
}

.fa-ravelry:before {
  content: "";
}

.fa-react:before {
  content: "";
}

.fa-reacteurope:before {
  content: "";
}

.fa-readme:before {
  content: "";
}

.fa-rebel:before {
  content: "";
}

.fa-receipt:before {
  content: "";
}

.fa-record-vinyl:before {
  content: "";
}

.fa-recycle:before {
  content: "";
}

.fa-red-river:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

.fa-reddit-alien:before {
  content: "";
}

.fa-reddit-square:before {
  content: "";
}

.fa-redhat:before {
  content: "";
}

.fa-redo:before {
  content: "";
}

.fa-redo-alt:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-remove-format:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-reply:before {
  content: "";
}

.fa-reply-all:before {
  content: "";
}

.fa-replyd:before {
  content: "";
}

.fa-republican:before {
  content: "";
}

.fa-researchgate:before {
  content: "";
}

.fa-resolving:before {
  content: "";
}

.fa-restroom:before {
  content: "";
}

.fa-retweet:before {
  content: "";
}

.fa-rev:before {
  content: "";
}

.fa-ribbon:before {
  content: "";
}

.fa-ring:before {
  content: "";
}

.fa-road:before {
  content: "";
}

.fa-robot:before {
  content: "";
}

.fa-rocket:before {
  content: "";
}

.fa-rocketchat:before {
  content: "";
}

.fa-rockrms:before {
  content: "";
}

.fa-route:before {
  content: "";
}

.fa-rss:before {
  content: "";
}

.fa-rss-square:before {
  content: "";
}

.fa-ruble-sign:before {
  content: "";
}

.fa-ruler:before {
  content: "";
}

.fa-ruler-combined:before {
  content: "";
}

.fa-ruler-horizontal:before {
  content: "";
}

.fa-ruler-vertical:before {
  content: "";
}

.fa-running:before {
  content: "";
}

.fa-rupee-sign:before {
  content: "";
}

.fa-rust:before {
  content: "";
}

.fa-sad-cry:before {
  content: "";
}

.fa-sad-tear:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-salesforce:before {
  content: "";
}

.fa-sass:before {
  content: "";
}

.fa-satellite:before {
  content: "";
}

.fa-satellite-dish:before {
  content: "";
}

.fa-save:before {
  content: "";
}

.fa-schlix:before {
  content: "";
}

.fa-school:before {
  content: "";
}

.fa-screwdriver:before {
  content: "";
}

.fa-scribd:before {
  content: "";
}

.fa-scroll:before {
  content: "";
}

.fa-sd-card:before {
  content: "";
}

.fa-search:before {
  content: "";
}

.fa-search-dollar:before {
  content: "";
}

.fa-search-location:before {
  content: "";
}

.fa-search-minus:before {
  content: "";
}

.fa-search-plus:before {
  content: "";
}

.fa-searchengin:before {
  content: "";
}

.fa-seedling:before {
  content: "";
}

.fa-sellcast:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-server:before {
  content: "";
}

.fa-servicestack:before {
  content: "";
}

.fa-shapes:before {
  content: "";
}

.fa-share:before {
  content: "";
}

.fa-share-alt:before {
  content: "";
}

.fa-share-alt-square:before {
  content: "";
}

.fa-share-square:before {
  content: "";
}

.fa-shekel-sign:before {
  content: "";
}

.fa-shield-alt:before {
  content: "";
}

.fa-shield-virus:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

.fa-shipping-fast:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-shoe-prints:before {
  content: "";
}

.fa-shopify:before {
  content: "";
}

.fa-shopping-bag:before {
  content: "";
}

.fa-shopping-basket:before {
  content: "";
}

.fa-shopping-cart:before {
  content: "";
}

.fa-shopware:before {
  content: "";
}

.fa-shower:before {
  content: "";
}

.fa-shuttle-van:before {
  content: "";
}

.fa-sign:before {
  content: "";
}

.fa-sign-in-alt:before {
  content: "";
}

.fa-sign-language:before {
  content: "";
}

.fa-sign-out-alt:before {
  content: "";
}

.fa-signal:before {
  content: "";
}

.fa-signature:before {
  content: "";
}

.fa-sim-card:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-sink:before {
  content: "";
}

.fa-sistrix:before {
  content: "";
}

.fa-sitemap:before {
  content: "";
}

.fa-sith:before {
  content: "";
}

.fa-skating:before {
  content: "";
}

.fa-sketch:before {
  content: "";
}

.fa-skiing:before {
  content: "";
}

.fa-skiing-nordic:before {
  content: "";
}

.fa-skull:before {
  content: "";
}

.fa-skull-crossbones:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-slack:before {
  content: "";
}

.fa-slack-hash:before {
  content: "";
}

.fa-slash:before {
  content: "";
}

.fa-sleigh:before {
  content: "";
}

.fa-sliders-h:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-smile:before {
  content: "";
}

.fa-smile-beam:before {
  content: "";
}

.fa-smile-wink:before {
  content: "";
}

.fa-smog:before {
  content: "";
}

.fa-smoking:before {
  content: "";
}

.fa-smoking-ban:before {
  content: "";
}

.fa-sms:before {
  content: "";
}

.fa-snapchat:before {
  content: "";
}

.fa-snapchat-ghost:before {
  content: "";
}

.fa-snapchat-square:before {
  content: "";
}

.fa-snowboarding:before {
  content: "";
}

.fa-snowflake:before {
  content: "";
}

.fa-snowman:before {
  content: "";
}

.fa-snowplow:before {
  content: "";
}

.fa-soap:before {
  content: "";
}

.fa-socks:before {
  content: "";
}

.fa-solar-panel:before {
  content: "";
}

.fa-sort:before {
  content: "";
}

.fa-sort-alpha-down:before {
  content: "";
}

.fa-sort-alpha-down-alt:before {
  content: "";
}

.fa-sort-alpha-up:before {
  content: "";
}

.fa-sort-alpha-up-alt:before {
  content: "";
}

.fa-sort-amount-down:before {
  content: "";
}

.fa-sort-amount-down-alt:before {
  content: "";
}

.fa-sort-amount-up:before {
  content: "";
}

.fa-sort-amount-up-alt:before {
  content: "";
}

.fa-sort-down:before {
  content: "";
}

.fa-sort-numeric-down:before {
  content: "";
}

.fa-sort-numeric-down-alt:before {
  content: "";
}

.fa-sort-numeric-up:before {
  content: "";
}

.fa-sort-numeric-up-alt:before {
  content: "";
}

.fa-sort-up:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-sourcetree:before {
  content: "";
}

.fa-spa:before {
  content: "";
}

.fa-space-shuttle:before {
  content: "";
}

.fa-speakap:before {
  content: "";
}

.fa-speaker-deck:before {
  content: "";
}

.fa-spell-check:before {
  content: "";
}

.fa-spider:before {
  content: "";
}

.fa-spinner:before {
  content: "";
}

.fa-splotch:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-spray-can:before {
  content: "";
}

.fa-square:before {
  content: "";
}

.fa-square-full:before {
  content: "";
}

.fa-square-root-alt:before {
  content: "";
}

.fa-squarespace:before {
  content: "";
}

.fa-stack-exchange:before {
  content: "";
}

.fa-stack-overflow:before {
  content: "";
}

.fa-stackpath:before {
  content: "";
}

.fa-stamp:before {
  content: "";
}

.fa-star:before {
  content: "";
}

.fa-star-and-crescent:before {
  content: "";
}

.fa-star-half:before {
  content: "";
}

.fa-star-half-alt:before {
  content: "";
}

.fa-star-of-david:before {
  content: "";
}

.fa-star-of-life:before {
  content: "";
}

.fa-staylinked:before {
  content: "";
}

.fa-steam:before {
  content: "";
}

.fa-steam-square:before {
  content: "";
}

.fa-steam-symbol:before {
  content: "";
}

.fa-step-backward:before {
  content: "";
}

.fa-step-forward:before {
  content: "";
}

.fa-stethoscope:before {
  content: "";
}

.fa-sticker-mule:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-stop:before {
  content: "";
}

.fa-stop-circle:before {
  content: "";
}

.fa-stopwatch:before {
  content: "";
}

.fa-stopwatch-20:before {
  content: "";
}

.fa-store:before {
  content: "";
}

.fa-store-alt:before {
  content: "";
}

.fa-store-alt-slash:before {
  content: "";
}

.fa-store-slash:before {
  content: "";
}

.fa-strava:before {
  content: "";
}

.fa-stream:before {
  content: "";
}

.fa-street-view:before {
  content: "";
}

.fa-strikethrough:before {
  content: "";
}

.fa-stripe:before {
  content: "";
}

.fa-stripe-s:before {
  content: "";
}

.fa-stroopwafel:before {
  content: "";
}

.fa-studiovinari:before {
  content: "";
}

.fa-stumbleupon:before {
  content: "";
}

.fa-stumbleupon-circle:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

.fa-suitcase-rolling:before {
  content: "";
}

.fa-sun:before {
  content: "";
}

.fa-superpowers:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-supple:before {
  content: "";
}

.fa-surprise:before {
  content: "";
}

.fa-suse:before {
  content: "";
}

.fa-swatchbook:before {
  content: "";
}

.fa-swift:before {
  content: "";
}

.fa-swimmer:before {
  content: "";
}

.fa-swimming-pool:before {
  content: "";
}

.fa-symfony:before {
  content: "";
}

.fa-synagogue:before {
  content: "";
}

.fa-sync:before {
  content: "";
}

.fa-sync-alt:before {
  content: "";
}

.fa-syringe:before {
  content: "";
}

.fa-table:before {
  content: "";
}

.fa-table-tennis:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

.fa-tablet-alt:before {
  content: "";
}

.fa-tablets:before {
  content: "";
}

.fa-tachometer-alt:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-tape:before {
  content: "";
}

.fa-tasks:before {
  content: "";
}

.fa-taxi:before {
  content: "";
}

.fa-teamspeak:before {
  content: "";
}

.fa-teeth:before {
  content: "";
}

.fa-teeth-open:before {
  content: "";
}

.fa-telegram:before {
  content: "";
}

.fa-telegram-plane:before {
  content: "";
}

.fa-temperature-high:before {
  content: "";
}

.fa-temperature-low:before {
  content: "";
}

.fa-tencent-weibo:before {
  content: "";
}

.fa-tenge:before {
  content: "";
}

.fa-terminal:before {
  content: "";
}

.fa-text-height:before {
  content: "";
}

.fa-text-width:before {
  content: "";
}

.fa-th:before {
  content: "";
}

.fa-th-large:before {
  content: "";
}

.fa-th-list:before {
  content: "";
}

.fa-the-red-yeti:before {
  content: "";
}

.fa-theater-masks:before {
  content: "";
}

.fa-themeco:before {
  content: "";
}

.fa-themeisle:before {
  content: "";
}

.fa-thermometer:before {
  content: "";
}

.fa-thermometer-empty:before {
  content: "";
}

.fa-thermometer-full:before {
  content: "";
}

.fa-thermometer-half:before {
  content: "";
}

.fa-thermometer-quarter:before {
  content: "";
}

.fa-thermometer-three-quarters:before {
  content: "";
}

.fa-think-peaks:before {
  content: "";
}

.fa-thumbs-down:before {
  content: "";
}

.fa-thumbs-up:before {
  content: "";
}

.fa-thumbtack:before {
  content: "";
}

.fa-ticket-alt:before {
  content: "";
}

.fa-tiktok:before {
  content: "";
}

.fa-times:before {
  content: "";
}

.fa-times-circle:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

.fa-tint-slash:before {
  content: "";
}

.fa-tired:before {
  content: "";
}

.fa-toggle-off:before {
  content: "";
}

.fa-toggle-on:before {
  content: "";
}

.fa-toilet:before {
  content: "";
}

.fa-toilet-paper:before {
  content: "";
}

.fa-toilet-paper-slash:before {
  content: "";
}

.fa-toolbox:before {
  content: "";
}

.fa-tools:before {
  content: "";
}

.fa-tooth:before {
  content: "";
}

.fa-torah:before {
  content: "";
}

.fa-torii-gate:before {
  content: "";
}

.fa-tractor:before {
  content: "";
}

.fa-trade-federation:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-traffic-light:before {
  content: "";
}

.fa-trailer:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-tram:before {
  content: "";
}

.fa-transgender:before {
  content: "";
}

.fa-transgender-alt:before {
  content: "";
}

.fa-trash:before {
  content: "";
}

.fa-trash-alt:before {
  content: "";
}

.fa-trash-restore:before {
  content: "";
}

.fa-trash-restore-alt:before {
  content: "";
}

.fa-tree:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-trophy:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-truck-loading:before {
  content: "";
}

.fa-truck-monster:before {
  content: "";
}

.fa-truck-moving:before {
  content: "";
}

.fa-truck-pickup:before {
  content: "";
}

.fa-tshirt:before {
  content: "";
}

.fa-tty:before {
  content: "";
}

.fa-tumblr:before {
  content: "";
}

.fa-tumblr-square:before {
  content: "";
}

.fa-tv:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-twitter:before {
  content: "";
}

.fa-twitter-square:before {
  content: "";
}

.fa-typo3:before {
  content: "";
}

.fa-uber:before {
  content: "";
}

.fa-ubuntu:before {
  content: "";
}

.fa-uikit:before {
  content: "";
}

.fa-umbraco:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

.fa-umbrella-beach:before {
  content: "";
}

.fa-uncharted:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-undo:before {
  content: "";
}

.fa-undo-alt:before {
  content: "";
}

.fa-uniregistry:before {
  content: "";
}

.fa-unity:before {
  content: "";
}

.fa-universal-access:before {
  content: "";
}

.fa-university:before {
  content: "";
}

.fa-unlink:before {
  content: "";
}

.fa-unlock:before {
  content: "";
}

.fa-unlock-alt:before {
  content: "";
}

.fa-unsplash:before {
  content: "";
}

.fa-untappd:before {
  content: "";
}

.fa-upload:before {
  content: "";
}

.fa-ups:before {
  content: "";
}

.fa-usb:before {
  content: "";
}

.fa-user:before {
  content: "";
}

.fa-user-alt:before {
  content: "";
}

.fa-user-alt-slash:before {
  content: "";
}

.fa-user-astronaut:before {
  content: "";
}

.fa-user-check:before {
  content: "";
}

.fa-user-circle:before {
  content: "";
}

.fa-user-clock:before {
  content: "";
}

.fa-user-cog:before {
  content: "";
}

.fa-user-edit:before {
  content: "";
}

.fa-user-friends:before {
  content: "";
}

.fa-user-graduate:before {
  content: "";
}

.fa-user-injured:before {
  content: "";
}

.fa-user-lock:before {
  content: "";
}

.fa-user-md:before {
  content: "";
}

.fa-user-minus:before {
  content: "";
}

.fa-user-ninja:before {
  content: "";
}

.fa-user-nurse:before {
  content: "";
}

.fa-user-plus:before {
  content: "";
}

.fa-user-secret:before {
  content: "";
}

.fa-user-shield:before {
  content: "";
}

.fa-user-slash:before {
  content: "";
}

.fa-user-tag:before {
  content: "";
}

.fa-user-tie:before {
  content: "";
}

.fa-user-times:before {
  content: "";
}

.fa-users:before {
  content: "";
}

.fa-users-cog:before {
  content: "";
}

.fa-users-slash:before {
  content: "";
}

.fa-usps:before {
  content: "";
}

.fa-ussunnah:before {
  content: "";
}

.fa-utensil-spoon:before {
  content: "";
}

.fa-utensils:before {
  content: "";
}

.fa-vaadin:before {
  content: "";
}

.fa-vector-square:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-venus-double:before {
  content: "";
}

.fa-venus-mars:before {
  content: "";
}

.fa-vest:before {
  content: "";
}

.fa-vest-patches:before {
  content: "";
}

.fa-viacoin:before {
  content: "";
}

.fa-viadeo:before {
  content: "";
}

.fa-viadeo-square:before {
  content: "";
}

.fa-vial:before {
  content: "";
}

.fa-vials:before {
  content: "";
}

.fa-viber:before {
  content: "";
}

.fa-video:before {
  content: "";
}

.fa-video-slash:before {
  content: "";
}

.fa-vihara:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-vimeo-square:before {
  content: "";
}

.fa-vimeo-v:before {
  content: "";
}

.fa-vine:before {
  content: "";
}

.fa-virus:before {
  content: "";
}

.fa-virus-slash:before {
  content: "";
}

.fa-viruses:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-vnv:before {
  content: "";
}

.fa-voicemail:before {
  content: "";
}

.fa-volleyball-ball:before {
  content: "";
}

.fa-volume-down:before {
  content: "";
}

.fa-volume-mute:before {
  content: "";
}

.fa-volume-off:before {
  content: "";
}

.fa-volume-up:before {
  content: "";
}

.fa-vote-yea:before {
  content: "";
}

.fa-vr-cardboard:before {
  content: "";
}

.fa-vuejs:before {
  content: "";
}

.fa-walking:before {
  content: "";
}

.fa-wallet:before {
  content: "";
}

.fa-warehouse:before {
  content: "";
}

.fa-watchman-monitoring:before {
  content: "";
}

.fa-water:before {
  content: "";
}

.fa-wave-square:before {
  content: "";
}

.fa-waze:before {
  content: "";
}

.fa-weebly:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-weight:before {
  content: "";
}

.fa-weight-hanging:before {
  content: "";
}

.fa-weixin:before {
  content: "";
}

.fa-whatsapp:before {
  content: "";
}

.fa-whatsapp-square:before {
  content: "";
}

.fa-wheelchair:before {
  content: "";
}

.fa-whmcs:before {
  content: "";
}

.fa-wifi:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-wind:before {
  content: "";
}

.fa-window-close:before {
  content: "";
}

.fa-window-maximize:before {
  content: "";
}

.fa-window-minimize:before {
  content: "";
}

.fa-window-restore:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-wine-bottle:before {
  content: "";
}

.fa-wine-glass:before {
  content: "";
}

.fa-wine-glass-alt:before {
  content: "";
}

.fa-wix:before {
  content: "";
}

.fa-wizards-of-the-coast:before {
  content: "";
}

.fa-wodu:before {
  content: "";
}

.fa-wolf-pack-battalion:before {
  content: "";
}

.fa-won-sign:before {
  content: "";
}

.fa-wordpress:before {
  content: "";
}

.fa-wordpress-simple:before {
  content: "";
}

.fa-wpbeginner:before {
  content: "";
}

.fa-wpexplorer:before {
  content: "";
}

.fa-wpforms:before {
  content: "";
}

.fa-wpressr:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-x-ray:before {
  content: "";
}

.fa-xbox:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

.fa-xing-square:before {
  content: "";
}

.fa-y-combinator:before {
  content: "";
}

.fa-yahoo:before {
  content: "";
}

.fa-yammer:before {
  content: "";
}

.fa-yandex:before {
  content: "";
}

.fa-yandex-international:before {
  content: "";
}

.fa-yarn:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

.fa-yen-sign:before {
  content: "";
}

.fa-yin-yang:before {
  content: "";
}

.fa-yoast:before {
  content: "";
}

.fa-youtube:before {
  content: "";
}

.fa-youtube-square:before {
  content: "";
}

.fa-zhihu:before {
  content: "";
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*!
 * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(62a07ffeac77696f17ef.eot);
  src: url(62a07ffeac77696f17ef.eot?#iefix) format("embedded-opentype"), url(2c154b0f8c0d8d166162.woff2) format("woff2"), url(ea5a41ec4a24ce93298e.woff) format("woff"), url(ac2367644e559de4ff33.ttf) format("truetype"), url(dc0e51b5da7ae4ddd92e.svg#fontawesome) format("svg");
}
.far {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

/*!
 * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(6606667d9800a27eb8b5.eot);
  src: url(6606667d9800a27eb8b5.eot?#iefix) format("embedded-opentype"), url(3eb06c702e27fb110194.woff2) format("woff2"), url(f4f93856730733912b1e.woff) format("woff"), url(915a0b79c22a1c1f64da.ttf) format("truetype"), url(597c0025b75c7b25ed5f.svg#fontawesome) format("svg");
}
.fa,
.fas {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/*!
 * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(98f20b9ec79b2fee02a3.eot);
  src: url(98f20b9ec79b2fee02a3.eot?#iefix) format("embedded-opentype"), url(6e63bd22128f27b83f22.woff2) format("woff2"), url(5f63cb7f47b6ea89773b.woff) format("woff"), url(330e879afe4a0abb35f2.ttf) format("truetype"), url(415f50708ff3b2314ced.svg#fontawesome) format("svg");
}
.fab {
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
}

html {
  font-family: "Nunito Sans", sans-serif;
}

body {
  font-family: "Nunito Sans", sans-serif;
  color: #000;
  font-size: 14px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role=button]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid #378a41;
  outline-offset: 2px;
}

.app-main {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.app-content {
  width: 100%;
  flex: 1 1 auto;
  position: relative;
  height: 100vh;
}

::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

::-webkit-scrollbar-button {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-thumb {
  background: #e5ffe8;
  border: 0px solid #fff;
  border-radius: 0px;
}

::-webkit-scrollbar-thumb:hover {
  background: #dee2e6;
}

::-webkit-scrollbar-thumb:active {
  background: #ced4da;
}

::-webkit-scrollbar-track {
  background: #fff;
  border: 0px none #fff;
  border-radius: 0px;
}

::-webkit-scrollbar-track:hover {
  background: #fff;
}

::-webkit-scrollbar-track:active {
  background: #fff;
}

::-webkit-scrollbar-corner {
  background: transparent;
}

.rotate-90 {
  transform: rotate(90deg);
}

.loader-container-inner {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fullscreen-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1500;
  background-color: rgba(0, 0, 0, 0.2);
}

.font-weight-normal {
  font-weight: 500;
}

.font-weight-medium {
  font-weight: 700;
}

.font-weight-semibold {
  font-weight: 600;
}

.font-weight-bold {
  font-weight: 900;
}

.text-muted {
  color: #adb5bd;
}

.text-pre-wrap {
  white-space: pre-wrap;
}

.dropzone-wrapper {
  width: 100%;
  border: #ced4da dashed 2px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  text-align: center;
  min-height: 120px;
  transition: all 0.2s;
  padding: 10px;
}
.dropzone-wrapper:hover {
  border-color: #4096DA;
}
.dropzone-wrapper > div {
  outline: none !important;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  justify-content: center;
}
.dropzone-wrapper .dropzone-content {
  margin: 0 auto;
  color: #98a6ad;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1;
  width: 100%;
}
.dropzone-wrapper[aria-disabled=true] {
  border-color: #dee2e6;
}
.dropzone-wrapper[aria-disabled=true] .dropzone-content {
  color: #ced4da;
}

.dropzone-wrapper-accept {
  border-color: #304a33;
}

.custom-dropzone-container > div:focus {
  outline: none !important;
}
.custom-dropzone-container .custom-dropzone-content {
  padding: 10px;
  border: 1px solid #e5ffe8;
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  height: 100px;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.custom-dropzone-container .custom-dropzone-content:focus {
  outline: none !important;
}
.custom-dropzone-container:hover .custom-dropzone-content {
  background-color: rgba(55, 138, 65, 0.12);
  border-color: rgba(55, 138, 65, 0.35);
  box-shadow: inset 0 0 0 1px rgba(55, 138, 65, 0.08);
}

.custom-dropzone-drag-accept {
  opacity: 0.5;
}

.custom-dropzone-drag-active {
  border-color: #378a41 !important;
}

.custom-dropzone-load-file-icon {
  font-size: 45px;
  color: #378a41;
  margin-left: auto;
  margin-right: 5px;
}

.custom-dropzone-loaded-image {
  width: 70px;
  height: 70px;
  margin-left: auto;
  border: 1px solid #adb5bd;
  border-radius: 5px;
}

.modal-body .error-message {
  font-weight: 700;
  color: #8a374f;
  text-align: center;
  margin: 0 20px;
  font-size: 13px;
}

.modal-footer {
  border-top: 0;
  justify-content: center;
}
.modal-footer button {
  font-size: 13px;
  padding: 7px 22px;
  min-width: 90px;
}
.modal-footer > :not(:last-child) {
  margin-right: 15px;
}

.modal-header {
  border-bottom: 0;
  align-items: center;
}
.modal-header .modal-title {
  font-weight: 900;
  font-size: 18px;
}
.modal-header .custom-close {
  color: #adb5bd;
  padding: 7px;
}
.modal-header .custom-close:hover {
  cursor: pointer;
  color: #378a41;
}

.modal-top-nav-container {
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  padding-bottom: 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid #378a41;
}
.modal-top-nav-container > :not(:last-child) {
  margin-right: 8px;
}
.modal-top-nav-container .modal-top-nav-button-container {
  min-width: 80px;
  padding: 0 10px;
  height: 26px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  border-radius: 5px;
  font-size: 12px;
  letter-spacing: 0.75px;
  line-height: 15px;
  text-transform: uppercase;
}
.modal-top-nav-container .modal-top-nav-button-container:hover {
  cursor: pointer;
  background-color: #f1f3fa;
  color: #304a33;
}
.modal-top-nav-container .modal-top-nav-button-container.active {
  color: #304a33;
}
.modal-top-nav-container .modal-top-nav-button-container.not-uppercase {
  text-transform: none;
}

.react-select > [class*=-control] {
  min-height: 36px;
  border-color: #dee2e6;
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.react-select > [class*=-control]:hover {
  border-color: #378a41;
  box-shadow: none;
}
.react-select > [class*=-control][class*="--is-focused"] {
  border-color: #378a41;
  box-shadow: 0 0 0 1px #378a41;
}
.react-select > [class*=-menu] {
  border: 1px solid rgba(55, 138, 65, 0.32);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.react-select [class*=-option][class*="--is-focused"] {
  background-color: rgba(55, 138, 65, 0.15);
  color: #000;
}
.react-select [class*=-option][class*="--is-selected"] {
  background-color: #378a41;
  color: #000;
}
.react-select [class*=-option]:active {
  background-color: rgba(55, 138, 65, 0.28);
}
.react-select > [class*=-control] > [class*=IndicatorsContainer] {
  color: #378a41;
}
.react-select > div > [class*=ValueContainer] {
  padding-top: 0;
  padding-bottom: 0;
}

.navbar {
  padding: 5px 25px;
  width: 100%;
  height: 50px;
  min-height: 50px;
  background-color: #378a41;
  display: flex;
  flex-direction: row;
  user-select: none;
  position: relative;
  z-index: 20;
}
.navbar .sidebar-toggler {
  width: 40px;
  height: 40px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  margin-right: 5px;
}
.navbar .sidebar-toggler:hover {
  opacity: 0.75;
  cursor: pointer;
}
.navbar .sidebar-toggler:active {
  opacity: 0.6;
}

.navbar-logo {
  color: #fff;
  margin-right: 40px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navbar-logo .viva-logo {
  max-width: 40px;
}
.navbar-logo .viva-logo-text {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}
.navbar-logo:hover {
  cursor: pointer;
  opacity: 1;
  color: #fff;
}
.navbar-logo:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.72);
  outline-offset: 2px;
  border-radius: 8px;
}

.navbar-project-name {
  display: inline-flex;
  align-items: center;
  position: relative;
  font-size: 1.2rem;
  line-height: 1;
  color: #fff;
  margin-left: 0;
  margin-right: 16px;
  padding-left: 32px;
  max-width: 320px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff;
}
.navbar-project-name::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 24px;
  background-color: rgba(0, 0, 0, 0.32);
}
.navbar-project-name:hover {
  cursor: pointer;
  color: #fff;
}
.navbar-project-name:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.72);
  outline-offset: 2px;
  border-radius: 6px;
}

.navbar-links-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.navbar-links-container > :not(:last-child) {
  margin-right: 25px;
}

.navbar-link {
  text-transform: uppercase;
  color: #fff;
  display: flex;
  align-items: center;
}
.navbar-link .navbar-link-icon {
  margin-right: 8px;
  font-size: 25px;
}
.navbar-link .navbar-link-text {
  font-size: 12px;
  font-weight: 900;
  line-height: 15px;
  letter-spacing: 0.7px;
}
.navbar-link:hover {
  cursor: pointer;
  color: #fff;
  text-decoration: none;
}
.navbar-link:hover .navbar-link-icon {
  color: #fff;
}
.navbar-link.active .navbar-link-icon {
  color: #fff;
}
.navbar-link.active .navbar-link-text {
  color: #fff;
}

.navbar-disabled-link {
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  opacity: 0.4;
}
.navbar-disabled-link .navbar-link-icon {
  margin-right: 8px;
  font-size: 25px;
}
.navbar-disabled-link .navbar-link-text {
  font-size: 12px;
  font-weight: 900;
  line-height: 15px;
  letter-spacing: 0.7px;
}

.navbar-right-container {
  margin-left: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.navbar-right-container .links-container {
  --links-gap: 15px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--links-gap);
}
.navbar-right-container .links-container .link {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 6px 14px;
  text-decoration: none;
  position: relative;
  border-radius: 18px;
  transition: background-color 0.2s ease, color 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background-color: rgba(229, 255, 232, 0.16);
}
.navbar-right-container .links-container .link:not(:last-child)::after {
  content: "";
  position: absolute;
  right: calc(var(--links-gap) / -2);
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-color: rgba(255, 255, 255, 0.35);
}
.navbar-right-container .links-container .link.active {
  background-color: #e5ffe8;
  border-color: rgba(48, 74, 51, 0.35);
}
.navbar-right-container .links-container .link.active:hover {
  opacity: 1;
}
.navbar-right-container .links-container .link.active .link-text {
  color: #304a33;
}
.navbar-right-container .links-container .link:hover {
  cursor: pointer;
  opacity: 1;
  background-color: rgba(229, 255, 232, 0.36);
}
.navbar-right-container .links-container .link.active:hover {
  background-color: #e5ffe8;
}
.navbar-right-container .links-container .link .link-dot {
  display: none;
}
.navbar-right-container .links-container .link .link-text {
  color: #fff;
  font-size: 12px;
  line-height: 15px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  transition: none;
}
.navbar-right-container .current-language {
  font-size: 12px;
  line-height: 16px;
  color: #fff;
  font-weight: 900;
}
.navbar-right-container .current-language:hover {
  cursor: pointer;
  opacity: 1;
  color: #fff;
}
.navbar-right-container .current-language:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.72);
  outline-offset: 2px;
  border-radius: 4px;
}
.navbar-right-container .user-data-dropdown-menu {
  z-index: 1002;
}
.navbar-right-container .user-data-dropdown-menu > a {
  text-decoration: none !important;
}
.navbar-right-container .user-data-dropdown-menu .dropdown-item {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}
.navbar-right-container .navbar-user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 15px;
}
.navbar-right-container .navbar-user-info .name {
  color: #fff;
  font-weight: 700;
  margin-right: 10px;
  font-size: 13px;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-right-container .navbar-user-info .avatar {
  width: 35px;
  height: 35px;
  border-radius: 35px;
  overflow: hidden;
  box-shadow: 0px 3px 6px #0000001A;
}
.navbar-right-container .navbar-user-info:hover {
  opacity: 1;
  cursor: pointer;
}
.navbar-right-container .avra-logo {
  max-width: 40px;
  margin-left: 15px;
}

@media only screen and (min-width: 1280px) {
  .navbar-right-container .links-container {
    flex-direction: row;
  }
  .navbar-right-container .navbar-user-info {
    margin-left: 20px;
  }
}
@media only screen and (min-width: 1400px) {
  .navbar-logo {
    margin-right: 32px;
  }

  .navbar-links-container > :not(:last-child) {
    margin-right: 35px;
  }
}
.row {
  margin-left: -10px;
  margin-right: -10px;
}

.col {
  padding-left: 10px;
  padding-right: 10px;
}

[class*=col-] {
  padding-left: 10px;
  padding-right: 10px;
}

.list-item-card {
  margin-bottom: 20px;
  border-radius: 20px;
}
.list-item-card .name-row {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.list-item-card .name-row .name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
}
.list-item-card .name-row .icons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
}
.list-item-card .name-row .icons-container .edit-icon {
  font-size: 16px;
  color: #378a41;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.list-item-card .name-row .icons-container .edit-icon:hover {
  cursor: pointer;
  opacity: 0.75;
}
.list-item-card .name-row .icons-container .delete-icon {
  color: #8a374f;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.list-item-card .name-row .icons-container .delete-icon:hover {
  cursor: pointer;
  opacity: 0.75;
}
.list-item-card .location-and-date-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #adb5bd;
}
.list-item-card .location-and-date-row .location {
  overflow: hidden;
  text-overflow: ellipsis;
}
.list-item-card .location-and-date-row .date {
  margin-left: 10px;
}
.list-item-card .last-update-row {
  white-space: nowrap;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #adb5bd;
}
.list-item-card .last-update-row .label {
  margin-right: 5px;
}
.list-item-card .last-update-row .value {
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-item-card--selected {
  border-color: rgba(55, 138, 65, 0.55);
  box-shadow: 0 0 0 1px rgba(55, 138, 65, 0.45);
}

/* Optional: selection checkbox shown in the card actions area. */
.list-item-card-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}
.list-item-card-checkbox input[type=checkbox] {
  width: 17px;
  height: 17px;
  cursor: pointer;
  accent-color: #378a41;
  flex-shrink: 0;
}

.list-item-card-radio {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}
.list-item-card-radio input[type=radio] {
  width: 17px;
  height: 17px;
  cursor: pointer;
  accent-color: #378a41;
  flex-shrink: 0;
}

.list-item-card-zone-field label {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 4px;
}

.wrap-text {
  word-break: break-word;
}

.list-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
  gap: 15px;
  width: 100%;
  padding: 0 10px;
}
.list-header .list-title {
  font-size: 19px;
  letter-spacing: 0.8px;
  margin-bottom: 0;
  font-weight: 700;
  text-transform: uppercase;
  margin-right: auto;
}
.list-header .list-header-actions {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 15px;
}
.list-header .refresh-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  justify-content: center;
}
.list-header .refresh-button > span {
  margin-right: 5px;
  font-size: 17px;
  line-height: 20px;
  margin-bottom: -3px;
}
.list-header .add-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  justify-content: center;
}
.list-header .add-button > span {
  margin-right: 5px;
  font-size: 23px;
  line-height: 20px;
  margin-bottom: -2px;
}
.list-header a {
  text-decoration: none !important;
}
.list-header .additional-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  justify-content: center;
}

.btn {
  font-size: 14px;
  font-weight: 700;
}

.btn-pill {
  border-radius: 50px;
}

.btn-outline-light {
  color: #000;
}

.btn-success, .btn-success-gradient {
  background-color: #378a41;
  border-color: #307838;
  color: #fff;
}
.btn-success:hover, .btn-success-gradient:hover {
  background-color: #307838;
  border-color: #2b6d33;
  color: #fff;
}
.btn-success:focus, .btn-success-gradient:focus {
  background-color: #307838;
  border-color: #2b6d33;
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(229, 255, 232, 0.45);
}
.btn-success:active, .btn-success-gradient:active {
  background-color: #286630 !important;
  border-color: #265e2c !important;
  color: #fff !important;
}
.btn-success.disabled, .disabled.btn-success-gradient {
  color: #fff !important;
}
.btn-success:disabled, .btn-success-gradient:disabled {
  color: #fff !important;
}

.btn-outline-success {
  border-color: #378a41;
  color: #304a33;
  background-color: rgba(229, 255, 232, 0.28);
}
.btn-outline-success:hover {
  background-color: rgba(229, 255, 232, 0.6);
  border-color: #2b6d33;
  color: #304a33;
}
.btn-outline-success:focus {
  background-color: rgba(229, 255, 232, 0.65);
  border-color: #2b6d33;
  color: #304a33;
  box-shadow: 0 0 0 0.2rem rgba(55, 138, 65, 0.2);
}
.btn-outline-success:active {
  background-color: rgba(229, 255, 232, 0.75) !important;
  border-color: #286630 !important;
  color: #304a33 !important;
}

.btn-success-gradient {
  border-color: #2b6d33;
  background: linear-gradient(90deg, #3a9144 0%, #2e7437 100%);
}
.btn-success-gradient:hover {
  color: #000;
}
.btn-success-gradient:focus {
  color: #000;
}
.btn-success-gradient:active {
  color: #000 !important;
}

.submit-form-button {
  padding: 7px 20px;
  min-width: 100px;
  font-size: 16px;
}

.tabs-buttons {
  display: flex;
  flex-direction: row;
}
.tabs-buttons > button {
  margin-bottom: 10px;
}
.tabs-buttons > :not(:last-child) {
  margin-right: 10px;
}

.go-back-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 5px 10px;
  width: fit-content;
}
.go-back-button .icon {
  font-size: 14px;
  margin-right: 5px;
}

.dropdown-checkboxes-list-container {
  padding: 0 0;
  max-height: 150px;
  overflow-y: auto;
}
.dropdown-checkboxes-list-container > :not(:last-child) {
  border-bottom: 1px solid #dee2e6;
}

.dropdown-checkboxes-list-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 5px;
  white-space: nowrap;
  font-weight: 700;
}
.dropdown-checkboxes-list-item input {
  position: unset;
  margin-top: 0;
  margin-left: 10px;
}
.dropdown-checkboxes-list-item:hover {
  cursor: pointer;
  background-color: #e3eaef;
}

.dropzone-clear {
  text-align: center;
  font-weight: 700;
  color: #8a374f;
}
.dropzone-clear span:hover {
  opacity: 0.75;
  cursor: pointer;
}

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

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

.input-group-text {
  background-color: unset;
  border-width: 0;
  padding-left: 5px;
  padding-right: 5px;
  color: #000;
  opacity: 0.29;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1.5px;
  line-height: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group-disabled-style {
  background-color: #f1f3fa !important;
}

.row-form-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.row-form-group label {
  margin-bottom: 0;
}

.form-control {
  border-color: rgba(112, 112, 112, 0.41);
  border-width: 0.5px;
  border-radius: 5px;
  height: 36px;
}
.form-control:focus {
  box-shadow: none;
}
.form-control:disabled {
  background-color: unset;
}

.form-error-message {
  color: #8a374f;
  font-weight: 700;
  font-size: 13px;
  text-align: center;
  margin-bottom: 15px;
}

.custom-input-with-append {
  border: 0.5px solid rgba(112, 112, 112, 0.41);
  border-radius: 5px;
  height: 36px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.custom-input-with-append.invalid {
  border-color: #8a374f;
}
.custom-input-with-append:focus-within {
  border: 0.5px solid #378a41;
}
.custom-input-with-append .form-control {
  height: 100%;
  width: 100%;
  border: 0;
}
.custom-input-with-append.readonly {
  background-color: #e3eaef;
}
.custom-input-with-append.readonly .form-control[readonly] {
  background-color: transparent;
}
.custom-input-with-append.readonly .input-group-text {
  background-color: transparent;
}
.custom-input-with-append.editable-append {
  overflow: hidden;
}
.custom-input-with-append.editable-append > .form-control {
  flex: 1 1 60%;
  min-width: 0;
}
.custom-input-with-append.editable-append .input-group-append {
  flex: 0 0 40%;
  max-width: 40%;
  position: relative;
}
.custom-input-with-append.editable-append .input-group-append:before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background-color: rgba(112, 112, 112, 0.25);
}
.custom-input-with-append.editable-append .custom-input-unit {
  height: 100%;
  width: 100%;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  text-align: left;
  padding-left: 8px;
  color: #707070;
  font-weight: 700;
}
.custom-input-with-append.editable-append .custom-input-unit::placeholder {
  color: #adb5bd;
  font-weight: 500;
  font-style: italic;
}
.custom-input-with-append.editable-append .custom-input-unit:focus {
  box-shadow: none;
  background-color: rgba(55, 138, 65, 0.04);
}

.input-group .form-control {
  border-width: 0.5px !important;
  border-radius: 5px !important;
  border-right-width: 1px !important;
}
.input-group .input-group-append {
  margin-left: 0;
}

label {
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 700;
}

.custom-switch {
  width: 45px;
}
.custom-switch .custom-control-label:before {
  width: 45px;
  height: 16px;
  background-color: #e5ffe8 !important;
  border-width: 0;
}
.custom-switch .custom-control-label:hover {
  opacity: 0.75;
  cursor: pointer;
}
.custom-switch .custom-control-label:after {
  width: 23px;
  height: 23px;
  border-radius: 27px;
  background-color: #fff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
  top: 0.5px;
  left: -35px;
}
.custom-switch .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none !important;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #378a41 !important;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(21px);
}

.checkbox-container {
  display: block;
  position: relative;
  border-radius: 5px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-bottom: 0 !important;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
}

/* Hide the browser's default checkbox */
.checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #304a33;
  border-radius: 5px;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  background-color: white;
  outline: none;
}

/* On mouse-over, add a grey background color */
.checkbox-container:hover input ~ .checkmark {
  background-color: #e5ffe8;
}

/* When the checkbox is checked, add a blue background */
.checkbox-container input:checked ~ .checkmark {
  background-color: #304a33;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.checkbox-container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.checkbox-container .checkmark:after {
  left: 6px;
  top: 3px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.checkbox-error-border .checkmark {
  border: 1px solid #8a374f;
}

.page-status-container {
  height: 100vh;
}

.page-status-info-alert {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  padding: 10px;
  margin: 10px 0;
}
.page-status-info-alert > p {
  font-weight: 600;
}
.page-status-info-alert > button {
  margin-left: 10px;
}

.long-loading-state {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 180px;
  padding: 16px;
}
.long-loading-state--overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  min-height: 0;
  background: linear-gradient(160deg, rgba(248, 250, 253, 0.88) 0%, rgba(238, 244, 252, 0.9) 100%);
  backdrop-filter: blur(1px);
}

.long-loading-state-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(100%, 420px);
  padding: 20px 24px;
  border: 1px solid rgba(16, 38, 90, 0.14);
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(16, 38, 90, 0.14);
  text-align: center;
}

.long-loading-state-title {
  margin: 0;
  color: #10265a;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.long-loading-state-message {
  margin: 0;
  color: rgba(16, 38, 90, 0.78);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.pdf-viewer {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.pdf-viewer__scroll {
  flex: 1;
  overflow: auto;
  padding: 8px;
  background-color: #f1f3fa;
  cursor: default;
}
.pdf-viewer__scroll.is-zoomed {
  cursor: grab;
}
.pdf-viewer__scroll.is-dragging {
  cursor: grabbing;
}
.pdf-viewer__scroll .react-pdf__Document {
  width: fit-content;
  margin: 0 auto;
}
.pdf-viewer__scroll .react-pdf__Page {
  box-shadow: 0px 3px 6px #0000001A;
}

.pdf-viewer__loading {
  display: flex;
  justify-content: center;
  padding: 48px 0;
}

.pdf-viewer__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  padding: 10px 12px;
  border-top: 1px solid #dee2e6;
  background-color: #fff;
}

.pdf-viewer__toolbar-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pdf-viewer__icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 0.25rem 0.5rem;
}

.pdf-viewer__status,
.pdf-viewer__zoom-label {
  min-width: 56px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}

.pdf-viewer__zoom-label {
  min-width: 48px;
}

@media (max-width: 576px) {
  .pdf-viewer__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .pdf-viewer__toolbar-group {
    justify-content: center;
  }
}
.page-title {
  margin-bottom: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.page-title .title {
  font-weight: 700;
  font-size: 22px;
}
.page-title .buttons-container {
  margin-left: auto;
}
.page-title .buttons-container > :not(:last-child) {
  margin-right: 10px;
}

.sidebar-container {
  padding: 20px 15px;
  background-color: white;
  position: relative;
}

.sidebar-overlay {
  left: 0;
}

.sidebar-content {
  display: flex;
  flex-direction: column;
}
.sidebar-content > :not(:last-child) {
  border-bottom: 1px solid #e3eaef;
}

.sidebar-route {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px 0;
}
.sidebar-route .route-label {
  text-transform: uppercase;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0.8px;
}
.sidebar-route.active {
  color: #304a33;
  opacity: 0.75;
}
.sidebar-route:hover {
  text-decoration: none;
  color: #304a33;
}
.sidebar-route:focus-visible {
  outline: none;
  text-decoration: none;
}

.table-status-info-alert {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  padding: 10px;
  margin: 10px 0;
}
.table-status-info-alert > p {
  font-weight: 600;
}
.table-status-info-alert > button {
  margin-left: 10px;
}

.list-custom-pagination {
  padding-bottom: 70px;
}
.list-custom-pagination .page-item {
  height: 36px;
}
.list-custom-pagination .page-item .chevron-icon {
  font-size: 11px;
  display: flex;
  align-items: center;
}
.list-custom-pagination .page-link {
  height: 36px;
}

.table-actions-container, .table-actions-column-container, .table-actions-row-container {
  display: flex;
}

.table-actions-row-container {
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}

.table-actions-row-container > .table-action-button {
  margin-right: 10px;
}

.table-actions-column-container {
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}

.table-actions-column-container > .table-action-button {
  margin-bottom: 10px;
}

.default-table {
  width: 100%;
  border-spacing: 0;
  overflow: hidden;
}
.default-table tr :last-child td {
  border-bottom: 0;
}
.default-table th,
.default-table td {
  margin: 0;
  padding: 0.5rem;
  border-bottom: 1px solid #ced4da;
}

.section-variants-info-table td, .section-manager-table td, .section-variants-info-table td {
  text-align: center;
}
.section-variants-info-table th, .section-manager-table th, .section-variants-info-table tbody, .section-manager-table tbody {
  border: 1px solid #000;
}
.section-variants-info-table td, .section-manager-table td {
  border-right: 1px solid #000;
  border-bottom: 1px dotted #000;
}

.scenarios-list-row {
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  overflow: auto;
}
.scenarios-list-row > :not(:last-child) {
  margin-right: 20px;
}
.scenarios-list-row > :first-child {
  margin-left: auto;
}
.scenarios-list-row > :last-child {
  margin-right: auto;
}

.scenario-list-item {
  overflow: visible;
  min-width: 350px;
  max-width: 350px;
  padding: 5px 0;
}

.scenario-list-item-card {
  margin-bottom: 20px;
  border-radius: 10px;
  padding: 0;
  overflow: visible;
  min-width: 350px;
  max-width: 350px;
  max-height: none;
}
.scenario-list-item-card .name-container {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  color: #378a41;
  padding: 10px;
  border-bottom: 1px solid #e5ffe8;
  border-radius: 10px 10px 0 0;
}
.scenario-list-item-card .name-container.active {
  background-color: #378a41;
  color: #fff;
}
.scenario-list-item-card .name-container .name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.scenario-list-item-card .name-container .icons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
}
.scenario-list-item-card .name-container .icons-container .edit-icon {
  font-size: 16px;
  color: #304a33;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.scenario-list-item-card .name-container .icons-container .edit-icon:hover {
  cursor: pointer;
  opacity: 0.75;
}
.scenario-list-item-card .name-container .icons-container .delete-icon {
  color: #8a374f;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.scenario-list-item-card .name-container .icons-container .delete-icon:hover {
  cursor: pointer;
  opacity: 0.75;
}
.scenario-list-item-card .data-container {
  padding: 10px 10px 15px 10px;
  overflow: visible;
}
.scenario-list-item-card .data-container .section-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 16px;
  line-height: 18px;
  font-weight: 700;
  position: relative;
  padding: 8px 0;
  margin-top: 10px;
  border-radius: 5px;
}
.scenario-list-item-card .data-container .section-header span {
  margin-left: 15px;
}
.scenario-list-item-card .data-container .section-header:before {
  content: "";
  background-color: #304a33;
  position: absolute;
  left: 0;
  height: 30px;
  width: 5px;
}
.scenario-list-item-card .data-container .section-header i {
  margin-left: auto;
  margin-right: 10px;
}
.scenario-list-item-card .data-container .section-header.toggler:hover {
  cursor: pointer;
  opacity: 0.75;
  background-color: #f1f3fa;
}
.scenario-list-item-card .data-container .section-subheader {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.7px;
  line-height: 18px;
  margin-bottom: 5px;
}
.scenario-list-item-card .data-container .section-container {
  display: flex;
  flex-direction: column;
  padding: 5px 0;
}
.scenario-list-item-card .data-container .section-container .form-group {
  margin-bottom: 5px;
}
.scenario-list-item-card .data-container .scenario-sustainability-container {
  gap: 0;
}
.scenario-list-item-card .data-container .scenario-sustainability-graph-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.scenario-list-item-card .data-container .scenario-sustainability-graph-item:not(:last-child) {
  margin-bottom: 16px;
}
.scenario-list-item-card .data-container .scenario-sustainability-graph-item .kpi-sustainability-gauge {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 14px 14px 12px !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-values {
  margin-top: 10px;
  padding-left: 10px;
  border-left: 3px solid rgba(55, 138, 65, 0.2);
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  padding: 4px 0;
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-row:not(:last-child) {
  margin-bottom: 6px;
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-label-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-label {
  color: #707070;
  line-height: 1.25;
}
.scenario-list-item-card .data-container .scenario-sustainability-no-benchmark-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(55, 138, 65, 0.35);
  background-color: rgba(55, 138, 65, 0.08);
  color: #378a41;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}
.scenario-list-item-card .data-container .scenario-sustainability-secondary-value {
  color: #313a46;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}
.scenario-list-item-card .location-and-date-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #adb5bd;
}
.scenario-list-item-card .location-and-date-row .date {
  margin-left: 10px;
}
.scenario-list-item-card .last-update-row {
  white-space: nowrap;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #adb5bd;
}
.scenario-list-item-card .last-update-row .label {
  margin-right: 5px;
}
.scenario-list-item-card .last-update-row .value {
  overflow: hidden;
  text-overflow: ellipsis;
}
.scenario-list-item-card .image {
  width: min(100%, 328px);
  aspect-ratio: 1/1;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  border-radius: 5px;
  overflow: hidden;
  background-color: #fff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.scenario-list-item-card .footer-container {
  padding: 15px 10px 10px 15px;
}
.scenario-list-item-card .open-button {
  font-size: 14px;
  width: 100%;
}

.app-images-footer {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1200;
  width: 100%;
  padding: 5px 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(2px);
}

.app-images-footer-image {
  --app-images-footer-image-base-height: 50px;
  --app-images-footer-image-y-padding: 0px;
  width: auto;
  max-width: 260px;
  height: var(--app-images-footer-image-base-height);
  padding-top: var(--app-images-footer-image-y-padding);
  padding-bottom: var(--app-images-footer-image-y-padding);
  box-sizing: border-box;
  object-fit: contain;
}

@media only screen and (max-width: 576px) {
  .app-images-footer-image {
    --app-images-footer-image-base-height: 34px;
    width: auto;
    max-width: 42vw;
  }
}
.fetch-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 10px;
  color: #98a6ad;
}

.fetch-empty-icon {
  width: 32px;
  height: 32px;
  display: block;
  color: #378a41;
  fill: currentColor;
  margin-bottom: 8px;
}

.fetch-empty-title {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  color: #378a41;
}

.fetch-empty-message {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: #707070;
}

.editor-sidebar-building-requirements-empty {
  padding-top: 24px;
}

.regulations-field-empty {
  margin-top: 6px;
  padding: 16px 8px;
}

.pdf-viewer-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: white;
  border-left: 1px solid #dee2e6;
  overflow: hidden;
  transition: width 0.3s ease-in-out, opacity 0.2s ease-in-out;
}

.pdf-viewer-panel--sidebar {
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  z-index: 5;
}
.pdf-viewer-panel--sidebar.closed {
  width: 0;
  min-width: 0;
  opacity: 0;
  border-left-width: 0;
  pointer-events: none;
}
.pdf-viewer-panel--sidebar.open {
  width: 320px;
  min-width: 320px;
  opacity: 1;
  box-shadow: 0px 3px 6px #0000001A;
}
.pdf-viewer-panel--sidebar.pdf-viewer-panel--fullscreen {
  position: fixed;
  top: 50px;
  left: 0;
  width: 100vw;
  min-width: 100vw;
  height: calc(100vh - 50px);
  z-index: 9999;
  opacity: 1;
  box-shadow: none;
  pointer-events: auto;
  border-left: none;
}

/* Page variant — fills the available page area, no slide animation. */
.pdf-viewer-panel--page {
  width: 100%;
  min-width: 0;
  border: 1px solid #e3eaef;
  border-radius: 8px;
  transition: none;
  opacity: 1;
}
.pdf-viewer-panel--page.pdf-viewer-panel--fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  border: none;
  z-index: 9999;
  opacity: 1;
  box-shadow: none;
  pointer-events: auto;
}

.pdf-viewer-panel-header {
  padding: 12px 15px;
  border-bottom: 1px solid #e3eaef;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.pdf-viewer-panel-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.pdf-viewer-panel-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #313a46;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pdf-viewer-panel-fullscreen-button,
.pdf-viewer-panel-download-button,
.pdf-viewer-panel-close-button {
  padding: 0;
  width: 26px;
  height: 26px;
  min-width: 26px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  background-color: #fff;
  color: #98a6ad;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
}
.pdf-viewer-panel-fullscreen-button .fa,
.pdf-viewer-panel-download-button .fa,
.pdf-viewer-panel-close-button .fa {
  font-size: 13px;
  line-height: 1;
}
.pdf-viewer-panel-fullscreen-button:hover, .pdf-viewer-panel-fullscreen-button:focus,
.pdf-viewer-panel-download-button:hover,
.pdf-viewer-panel-download-button:focus,
.pdf-viewer-panel-close-button:hover,
.pdf-viewer-panel-close-button:focus {
  border-color: rgba(55, 138, 65, 0.4);
  background-color: rgba(55, 138, 65, 0.1);
  color: #2e7437;
  box-shadow: none;
}

.pdf-viewer-download-menu {
  position: relative;
  display: inline-flex;
}

.pdf-viewer-download-menu-popover {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 170px;
  padding: 4px;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  z-index: 12;
}
.pdf-viewer-download-menu-popover button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  border-radius: 6px;
  padding: 7px 9px;
  color: #98a6ad;
  font-size: 12px;
  font-weight: 700;
}
.pdf-viewer-download-menu-popover button:hover {
  background-color: rgba(55, 138, 65, 0.1);
  color: #2e7437;
}

.pdf-viewer-panel-close-button {
  opacity: 1;
}

.pdf-viewer-panel-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  /* Enables the container query used by .pdf-viewer-panel-body below. */
  container-type: inline-size;
}

/* Responsive core: stacked by default, side by side when there is room. */
.pdf-viewer-panel-body {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

@container (min-width: 620px) {
  .pdf-viewer-panel-body {
    flex-direction: row;
  }

  .pdf-viewer-panel-reference-section {
    width: 300px;
    max-width: 40%;
    flex-shrink: 0;
    border-bottom: none;
    border-right: 1px solid #e3eaef;
    overflow-y: auto;
  }
}
.pdf-viewer-panel-reference-section {
  padding: 15px;
  border-bottom: 1px solid #e3eaef;
  flex-shrink: 0;
  overflow-y: auto;
}

.pdf-viewer-panel-pdf-section {
  flex: 1;
  min-height: 200px;
  min-width: 0;
  padding: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pdf-viewer-panel-pdf-container {
  flex: 1;
  border: 1px dashed #dee2e6;
  border-radius: 5px;
  background-color: #f1f3fa;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.pdf-viewer-placeholder {
  text-align: center;
  color: #adb5bd;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.pdf-viewer-placeholder p {
  margin: 0;
  font-size: 13px;
}

.pdf-viewer-placeholder-icon {
  font-size: 32px;
  color: #ced4da;
  margin-bottom: 4px;
}

.pdf-viewer-placeholder-note {
  font-size: 11px;
  color: #ced4da;
  font-style: italic;
}

/* Document Reference */
.document-reference-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.document-reference-section {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.document-reference-title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #adb5bd;
  letter-spacing: 0.4px;
}

.document-reference-content {
  margin: 0;
  font-size: 13px;
  color: #313a46;
  line-height: 1.4;
}

/* Info Button */
.info-button {
  padding: 0;
  margin: 0;
  min-width: auto;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #98a6ad;
  transition: all 0.2s ease-in-out;
}
.info-button:hover {
  color: #378a41;
  background-color: transparent;
  text-decoration: none;
}
.info-button:focus {
  outline: none;
  text-decoration: none;
  color: #378a41;
}
.info-button.active {
  color: #378a41;
}
.info-button span {
  font-size: 16px;
}
.info-button:disabled {
  color: #dee2e6;
  cursor: not-allowed;
}

.fetch-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 8px;
}

.fetch-error-icon {
  width: 48px;
  height: 48px;
  fill: red;
}

.fetch-error-message {
  margin: 8px 0;
  color: red;
}

.filter-container {
  display: flex;
  justify-content: center;
  width: 100%;
  background: transparent;
}

.filter-container-inner {
  width: 100%;
  max-width: 1080px;
  padding: 15px 10px 40px;
}

.filter-header {
  margin-bottom: 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid #e3eaef;
}

.filter-header-title {
  font-size: 22px;
  font-weight: 700;
  color: #313a46;
  margin-bottom: 4px;
}

.filter-header-description {
  color: #98a6ad;
  margin-bottom: 14px;
  line-height: 1.45;
  font-size: 13px;
}

.filter-selected-profile {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 4px 8px;
  border: 1px solid rgba(55, 138, 65, 0.35);
  border-radius: 4px;
  color: #378a41;
  background: rgba(55, 138, 65, 0.06);
  font-size: 12px;
  font-weight: 700;
}

.filter-level-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.filter-level-legend-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 1px solid #e3eaef;
  border-radius: 4px;
  background: #f1f3fa;
  padding: 6px 10px;
}

.filter-level-legend-dot {
  width: 10px;
  height: 10px;
  margin-top: 3px;
  border-radius: 50%;
  border: 2px solid #ced4da;
  background: #fff;
  flex-shrink: 0;
}

.filter-level-legend-item.is-recomendado .filter-level-legend-dot {
  border-color: #e7bb58;
  background: #f4cc69;
}

.filter-level-legend-item.is-alta .filter-level-legend-dot {
  border-color: #378a41;
  background: #65c270;
}

.filter-level-legend-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.filter-level-legend-title {
  color: #313a46;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
}

.filter-level-legend-description {
  color: #98a6ad;
  font-size: 12px;
  line-height: 1.25;
  margin-top: 2px;
}

.filter-section {
  border: 1px solid #e3eaef;
  border-radius: 5px;
  padding: 14px 16px;
  background: #fff;
}

.filter-section + .filter-section {
  margin-top: 14px;
}

.filter-section-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #98a6ad;
  margin-bottom: 10px;
}

.question-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-bottom: 1px solid #e3eaef;
  padding: 12px 0;
}

.filter-section-body > .question-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.question-row-info {
  flex: 0 1 40%;
  min-width: 220px;
}

.question-row-title {
  font-weight: 700;
  color: #313a46;
  margin-bottom: 4px;
  font-size: 14px;
}

.question-row-description {
  color: #98a6ad;
  margin-bottom: 0;
  line-height: 1.38;
  font-size: 13px;
}

.question-row-control {
  flex: 0 1 60%;
  min-width: 260px;
  padding-right: 10px;
}

.service-group {
  padding: 7px 0;
}

.service-group-name {
  font-weight: 700;
  margin-bottom: 8px;
  color: #313a46;
  font-size: 14px;
}

.choice-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.choice-list-item {
  display: flex;
  align-items: center;
  appearance: none;
  border: 1px solid #e3eaef;
  border-radius: 6px;
  background: #fff;
  padding: 8px 10px;
  text-align: left;
  color: #707070;
  transition: all 0.2s ease;
  font-size: 13px;
}

.choice-list-item:hover {
  border-color: #dee2e6;
}

.choice-list-item.is-active {
  border-color: #378a41;
  background: rgba(55, 138, 65, 0.06);
  color: #313a46;
}

.choice-list-item:focus-visible {
  outline: 2px solid rgba(55, 138, 65, 0.4);
  outline-offset: 2px;
}

.choice-list-item:focus {
  outline: none;
}

.choice-list-item-indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #ced4da;
  margin-right: 8px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.choice-list-item.is-active .choice-list-item-indicator {
  border-color: #378a41;
  background: #378a41;
}

.tier-scale {
  width: 100%;
}

.tier-scale-track {
  position: relative;
  height: 72px;
  padding: 0 38px;
}

.tier-scale-track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 17px;
  height: 3px;
  border-radius: 2px;
  background: #e3eaef;
}

.tier-scale-stop {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  appearance: none;
}

.tier-scale-stop:focus-visible {
  outline: none;
}

.tier-scale-stop:focus {
  outline: none;
  box-shadow: none;
}

.tier-scale-dot {
  display: block;
  width: 14px;
  height: 14px;
  margin: 10px auto 5px;
  border-radius: 50%;
  border: 2px solid #ced4da;
  background: #fff;
  transition: all 0.2s ease;
}

.tier-scale-stop:hover .tier-scale-dot {
  border-color: #378a41;
}

.tier-scale-stop.is-filled .tier-scale-dot {
  border-color: #307838;
}

.tier-scale-stop.is-active .tier-scale-dot {
  background: #378a41;
  border-color: #378a41;
  box-shadow: 0 0 0 3px rgba(55, 138, 65, 0.2);
}

.tier-scale-stop.is-active.is-value-recomendado .tier-scale-dot {
  background: #f4cc69;
  border-color: #e7bb58;
  box-shadow: 0 0 0 3px rgba(231, 187, 88, 0.25);
}

.tier-scale-stop.is-active.is-value-minimo .tier-scale-dot {
  background: #ced4da;
  border-color: #adb5bd;
  box-shadow: 0 0 0 3px rgba(206, 212, 218, 0.35);
}

.tier-scale-stop:focus-visible .tier-scale-dot {
  box-shadow: 0 0 0 3px rgba(55, 138, 65, 0.2);
}

.tier-scale-label {
  display: block;
  font-size: 11px;
  color: #707070;
  white-space: normal;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  max-width: 100px;
}

@media (max-width: 920px) {
  .question-row {
    flex-direction: column;
  }

  .question-row-control,
.question-row-info {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 680px) {
  .filter-container-inner {
    padding: 14px 10px 40px;
  }

  .filter-level-legend {
    grid-template-columns: 1fr;
  }

  .tier-scale-track {
    height: 64px;
    padding: 0 28px;
  }

  .tier-scale-label {
    font-size: 10px;
    max-width: 80px;
  }
}
.freq-acumulada {
  width: 100%;
  max-width: 720px;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 16px;
  background: #fff;
}

@media (max-width: 680px) {
  .freq-acumulada {
    padding: 12px;
  }

  .freq-acumulada-title {
    font-size: 13px;
  }
}
.freq-acumulada-title {
  font-size: 15px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0 0 12px;
}

.freq-acumulada-chart-wrap {
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 8px;
}

.freq-acumulada-chart {
  width: 100%;
  height: auto;
  display: block;
}

.freq-acumulada-gridline line {
  stroke: #e3e8e6;
  stroke-width: 1;
}
.freq-acumulada-gridline text {
  fill: #6b7a76;
  font-size: 9px;
}

.freq-acumulada-marker line {
  stroke: #6b7a76;
  stroke-dasharray: 3 2;
  stroke-width: 1;
}
.freq-acumulada-marker text {
  fill: #6b7a76;
  font-size: 9px;
}
.freq-acumulada-marker.is-active line {
  stroke: #0f7a52;
}
.freq-acumulada-marker.is-active text {
  fill: #0f7a52;
  font-weight: 600;
}

.freq-acumulada-area {
  fill: rgba(28, 157, 107, 0.12);
  stroke: none;
}
.freq-acumulada-area.is-slate {
  fill: rgba(91, 107, 120, 0.1);
}
.freq-acumulada-area.is-amber {
  fill: rgba(217, 139, 31, 0.1);
}
.freq-acumulada-area.is-teal {
  fill: rgba(28, 157, 107, 0.1);
}

.freq-acumulada-line {
  fill: none;
  stroke: #1c9d6b;
  stroke-width: 2;
}
.freq-acumulada-line.is-slate {
  stroke: #5b6b78;
}
.freq-acumulada-line.is-amber {
  stroke: #d98b1f;
}
.freq-acumulada-line.is-teal {
  stroke: #1c9d6b;
}

.freq-acumulada-percentile {
  fill: #fff;
  stroke: #2b3a36;
  stroke-width: 1.5;
}
.freq-acumulada-percentile.is-slate {
  stroke: #5b6b78;
}
.freq-acumulada-percentile.is-amber {
  stroke: #d98b1f;
}
.freq-acumulada-percentile.is-teal {
  stroke: #1c9d6b;
}

.freq-acumulada-legend {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 0;
  padding: 0;
}

.freq-acumulada-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 11px;
  color: #2b3a36;
}
.freq-acumulada-legend-item.is-hidden {
  opacity: 0.4;
  text-decoration: line-through;
}
.freq-acumulada-legend-item .freq-acumulada-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2b3a36;
}
.freq-acumulada-legend-item.is-slate .freq-acumulada-legend-dot {
  background: #5b6b78;
}
.freq-acumulada-legend-item.is-amber .freq-acumulada-legend-dot {
  background: #d98b1f;
}
.freq-acumulada-legend-item.is-teal .freq-acumulada-legend-dot {
  background: #1c9d6b;
}

.freq-acumulada-hit {
  fill: transparent;
  cursor: pointer;
}

.freq-acumulada-active-guide {
  stroke: rgba(15, 122, 82, 0.45);
  stroke-width: 1;
  stroke-dasharray: 3 3;
}

.freq-acumulada-active-dot {
  fill: #fff;
  stroke: #0f7a52;
  stroke-width: 2;
}
.freq-acumulada-active-dot.is-slate {
  stroke: #5b6b78;
}
.freq-acumulada-active-dot.is-amber {
  stroke: #d98b1f;
}
.freq-acumulada-active-dot.is-teal {
  stroke: #1c9d6b;
}

.freq-acumulada-single-point {
  fill: #1c9d6b;
  stroke: #fff;
  stroke-width: 1.5;
}

.freq-acumulada-x-label {
  fill: #6b7a76;
  font-size: 9px;
  text-anchor: middle;
}
.freq-acumulada-x-label.is-filterable {
  cursor: pointer;
}
.freq-acumulada-x-label.is-active {
  fill: #0f7a52;
  font-weight: 700;
}

.freq-acumulada-axis-label {
  fill: #2b3a36;
  font-size: 10px;
  text-anchor: middle;
}

.freq-acumulada-readout {
  color: #6b7a76;
  font-size: 12px;
  margin: 10px 0 0;
}

.global-radiation {
  width: 100%;
  max-width: 720px;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 16px;
  background: #fff;
}

.global-radiation-title {
  font-size: 15px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0 0 12px;
}

.global-radiation-chart-wrap {
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 8px;
}

.global-radiation-chart {
  width: 100%;
  height: auto;
  display: block;
}

.global-radiation-gridline line {
  stroke: #e3e8e6;
  stroke-width: 1;
}
.global-radiation-gridline text {
  fill: #6b7a76;
  font-size: 9px;
}

.global-radiation-error {
  stroke: #6b7a76;
  stroke-width: 1;
}

.global-radiation-hourly-line {
  fill: none;
  stroke: rgba(111, 123, 209, 0.55);
  stroke-width: 0.5;
}

.global-radiation-hourly-tick {
  fill: #6f7bd1;
  font-size: 8px;
}

.global-radiation-x-label {
  fill: #6b7a76;
  font-size: 9px;
  text-anchor: middle;
}
.global-radiation-x-label.is-filterable {
  cursor: pointer;
}
.global-radiation-x-label.is-active {
  fill: #0f7a52;
  font-weight: 700;
}

.global-radiation-axis-label {
  fill: #2b3a36;
  font-size: 10px;
  text-anchor: middle;
}

.global-radiation-empty {
  fill: #6b7a76;
  font-size: 11px;
  text-anchor: middle;
}

.global-radiation-bar rect {
  fill: #7c8ba1;
  fill-opacity: 0.85;
  cursor: pointer;
  transition: opacity 120ms ease, filter 120ms ease;
}

.global-radiation-bar.is-mid rect {
  fill: #e6a23c;
}

.global-radiation-bar.is-warm rect {
  fill: #1c9d6b;
}

.global-radiation-bar.is-active rect {
  filter: brightness(0.92);
  opacity: 0.95;
}

.global-radiation-readout {
  color: #6b7a76;
  font-size: 12px;
  margin: 10px 0 0;
}

@media (max-width: 680px) {
  .global-radiation {
    padding: 12px;
  }

  .global-radiation-title {
    font-size: 13px;
  }
}
.hourly-envelope-chart {
  width: 100%;
  max-width: 100%;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 12px 14px;
  background: #fff;
  --envelope-color: #7c8ba1;
}

.hourly-envelope-chart.is-amber {
  --envelope-color: #e6a23c;
}

.hourly-envelope-chart.is-teal {
  --envelope-color: #2bb3a3;
}

.hourly-envelope-chart-title {
  font-size: 14px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0;
}

.hourly-envelope-chart-subtitle {
  font-size: 11px;
  color: #6b7a76;
  margin: 0 0 6px;
}

.hourly-envelope-chart-svg {
  width: 100%;
  height: auto;
  display: block;
}

.hourly-envelope-chart-gridline line {
  stroke: #e3e8e6;
  stroke-width: 1;
}
.hourly-envelope-chart-gridline text {
  fill: #6b7a76;
  font-size: 9px;
}

.hourly-envelope-chart-band {
  fill: rgba(0, 0, 0, 0.06);
  stroke: none;
}

.hourly-envelope-chart-dot {
  fill: var(--envelope-color);
  opacity: 0.35;
}

.hourly-envelope-chart-avg {
  fill: none;
  stroke: var(--envelope-color);
  stroke-width: 2;
}

.hourly-envelope-chart-hit {
  fill: transparent;
  cursor: pointer;
}

.hourly-envelope-chart-active-guide {
  stroke: rgba(43, 58, 54, 0.35);
  stroke-width: 0.8;
  stroke-dasharray: 2 2;
}

.hourly-envelope-chart-active-dot {
  fill: #fff;
  stroke: var(--envelope-color);
  stroke-width: 1.8;
}

.hourly-envelope-chart-x-label {
  fill: #6b7a76;
  font-size: 9px;
}
.hourly-envelope-chart-x-label.is-filterable {
  cursor: pointer;
}
.hourly-envelope-chart-x-label.is-active {
  fill: #0f7a52;
  font-weight: 700;
}

.hourly-envelope-chart-empty {
  fill: #6b7a76;
  font-size: 10px;
}

.hourly-envelope-chart-readout {
  color: #6b7a76;
  font-size: 12px;
  margin: 8px 0 0;
}

.day-type {
  width: 100%;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 12px;
  background: #fff;
  box-sizing: border-box;
}

.day-type-title {
  font-size: 13px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0;
}

.day-type-subtitle {
  font-size: 11px;
  color: #6b7a76;
  margin: 2px 0 8px;
}

.day-type-svg {
  width: 100%;
  height: auto;
  display: block;
}

.day-type-gridline line {
  stroke: #e3e8e6;
  stroke-width: 1;
}
.day-type-gridline text {
  fill: #6b7a76;
  font-size: 8px;
}

.day-type-line {
  fill: none;
  stroke: #2b3a36;
  stroke-width: 1.6;
  stroke-linejoin: round;
}
.day-type-line.is-slate {
  stroke: #5b6b78;
}
.day-type-line.is-amber {
  stroke: #d98b1f;
}
.day-type-line.is-teal {
  stroke: #1c9d6b;
}

.day-type-active-guide {
  stroke: rgba(15, 122, 82, 0.45);
  stroke-width: 1;
  stroke-dasharray: 3 3;
}

.day-type-active-dot {
  fill: #fff;
  stroke: #2b3a36;
  stroke-width: 2;
}
.day-type-active-dot.is-slate {
  stroke: #5b6b78;
}
.day-type-active-dot.is-amber {
  stroke: #d98b1f;
}
.day-type-active-dot.is-teal {
  stroke: #1c9d6b;
}

.day-type-hit {
  fill: transparent;
  cursor: pointer;
}

.day-type-x-label {
  fill: #6b7a76;
  font-size: 8px;
}

.day-type-axis-label {
  fill: #2b3a36;
  font-size: 9px;
}

.day-type-empty {
  fill: #6b7a76;
  font-size: 10px;
}

.day-type-legend {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
}

.day-type-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 10px;
  color: #2b3a36;
}
.day-type-legend-item.is-hidden {
  opacity: 0.4;
  text-decoration: line-through;
}
.day-type-legend-item .day-type-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2b3a36;
}
.day-type-legend-item.is-slate .day-type-legend-dot {
  background: #5b6b78;
}
.day-type-legend-item.is-amber .day-type-legend-dot {
  background: #d98b1f;
}
.day-type-legend-item.is-teal .day-type-legend-dot {
  background: #1c9d6b;
}

.day-type-readout {
  color: #6b7a76;
  font-size: 11px;
  margin: 8px 0 0;
}

.day-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

@media (max-width: 680px) {
  .day-type-grid {
    grid-template-columns: 1fr;
  }
}
.stations-map {
  width: 100%;
  max-width: 720px;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  padding: 16px;
  background: #fff;
  box-sizing: border-box;
}

.stations-map-title {
  font-size: 15px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0;
}

.stations-map-subtitle {
  font-size: 11px;
  color: #6b7a76;
  margin: 2px 0 0;
}

.stations-map-canvas {
  margin-top: 12px;
  height: 320px;
  border: 1px solid #e3e8e6;
  border-radius: 6px;
  overflow: hidden;
}

.stations-map-pin {
  display: block;
  cursor: pointer;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  transition: transform 120ms ease;
  transform-origin: 50% 100%;
}
.stations-map-pin path {
  fill: #d98b1f;
  stroke: #fff;
  stroke-width: 1.5;
}
.stations-map-pin .stations-map-pin-core {
  fill: #fff;
}
.stations-map-pin:hover, .stations-map-pin.is-active {
  transform: scale(1.15);
}
.stations-map-pin:hover path, .stations-map-pin.is-active path {
  fill: #0f7a52;
}
.stations-map-pin.is-plot {
  cursor: default;
}
.stations-map-pin.is-plot path {
  fill: #1d6fd1;
  stroke-width: 2;
}
.stations-map-pin.is-plot:hover {
  transform: none;
}
.stations-map-pin.is-plot:hover path {
  fill: #1d6fd1;
}

.stations-map-popup {
  font-size: 12px;
  color: #0f7a52;
}

@media (max-width: 680px) {
  .stations-map {
    padding: 12px;
  }

  .stations-map-canvas {
    height: 240px;
  }
}
.graphs {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.graphs-main {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}
.graphs-main > * {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.graphs-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.graphs-side-title {
  font-size: 13px;
  font-weight: 600;
  color: #0f7a52;
  margin: 0 0 4px;
}

@media (max-width: 900px) {
  .graphs {
    grid-template-columns: 1fr;
  }
}
.ai-thinking-progress-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(124, 58, 237, 0.55);
  background: rgba(124, 58, 237, 0.05);
  padding: 10px 12px;
  box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.35);
  animation: ai-thinking-progress-pulse 1.8s ease-in-out infinite;
}
.ai-thinking-progress-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(124, 58, 237, 0) 0%, rgba(124, 58, 237, 0.22) 45%, rgba(124, 58, 237, 0) 100%);
  transform: translateX(-130%);
  animation: ai-thinking-progress-sweep 2.5s linear infinite;
}

.ai-thinking-progress-title-row {
  display: flex;
  align-items: center;
  padding-right: 72px;
  margin-bottom: 4px;
}

.ai-thinking-progress-title {
  color: #7C3AED;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ai-thinking-progress-agent-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 1;
  border-radius: 999px;
  border: 1px solid rgba(124, 58, 237, 0.4);
  background: rgba(124, 58, 237, 0.16);
  color: #7C3AED;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  height: 22px;
  padding: 0 8px;
}

.ai-thinking-progress-message {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #7C3AED;
  font-size: 13px;
  font-weight: 600;
  min-height: 22px;
}

.ai-thinking-progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7C3AED;
  box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.65);
  animation: ai-thinking-progress-dot-pulse 1.5s ease-in-out infinite;
}

@keyframes ai-thinking-progress-pulse {
  0% {
    border-color: rgba(124, 58, 237, 0.3);
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.2);
  }
  50% {
    border-color: rgba(124, 58, 237, 0.85);
    box-shadow: 0 0 0 5px rgba(124, 58, 237, 0.06);
  }
  100% {
    border-color: rgba(124, 58, 237, 0.3);
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.2);
  }
}
@keyframes ai-thinking-progress-sweep {
  0% {
    transform: translateX(-130%);
  }
  100% {
    transform: translateX(130%);
  }
}
@keyframes ai-thinking-progress-dot-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.6);
    opacity: 0.85;
  }
  75% {
    box-shadow: 0 0 0 8px rgba(124, 58, 237, 0);
    opacity: 1;
  }
  100% {
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);
    opacity: 0.9;
  }
}
.kpi-sustainability-clock-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.kpi-sustainability-clock-month {
  margin: 0;
  color: #313a46;
  font-size: 13px;
  font-weight: 700;
  text-transform: capitalize;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.kpi-sustainability-clocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.kpi-sustainability-clock-legend {
  display: grid;
  grid-template-columns: 38px repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  color: #313a46;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}
.kpi-sustainability-clock-legend div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  text-align: center;
}
.kpi-sustainability-clock-legend span {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 1px solid rgba(49, 58, 70, 0.35);
}

.kpi-sustainability-clock {
  min-width: 0;
  text-align: center;
}
.kpi-sustainability-clock svg {
  display: block;
  width: 100%;
  max-width: 210px;
  height: auto;
  margin: 0 auto;
  background-color: #fff;
}

.kpi-sustainability-clock-ring {
  fill: none;
  stroke: rgba(49, 58, 70, 0.3);
  stroke-dasharray: 3 4;
}

.kpi-sustainability-clock-ring:last-of-type {
  stroke-dasharray: none;
}

.kpi-sustainability-clock-axis {
  stroke: rgba(49, 58, 70, 0.24);
  stroke-dasharray: 3 4;
}

.kpi-sustainability-clock-sector {
  stroke: rgba(49, 58, 70, 0.48);
  stroke-width: 1;
}

.kpi-sustainability-clock-direction,
.kpi-sustainability-clock-scale,
.kpi-sustainability-clock-zero {
  fill: #313a46;
  font-size: 9px;
  text-anchor: middle;
}

.kpi-sustainability-clock-scale {
  text-anchor: middle;
  fill: rgba(49, 58, 70, 0.7);
  font-size: 7px;
}

@media (max-width: 767px) {
  .kpi-sustainability-clock-row {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .kpi-sustainability-clocks {
    grid-template-columns: 1fr;
  }

  .kpi-sustainability-clock-legend {
    grid-template-columns: 28px 1fr;
  }
  .kpi-sustainability-clock-legend div {
    justify-content: flex-start;
  }
}
.change-variant-modal-container {
  display: flex;
  flex-direction: column;
  margin: auto;
  overflow: auto;
  height: 65vh;
}

.change-variant-modal-section-types-group-container {
  display: flex;
  flex-direction: column;
}

.change-variant-modal-section-types-group-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-bottom: 10px;
}
.change-variant-modal-section-types-group-row > :not(:last-child) {
  margin-right: 10px;
}

.change-variant-modal-section-types-type-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 120px;
  height: 120px;
  border-radius: 7px;
  box-shadow: 0px 3px 6px #0000001A;
  opacity: 0.65;
  border: 1px solid #fff;
}
.change-variant-modal-section-types-type-item > .svg-container {
  height: 80px;
  width: 80px;
}
.change-variant-modal-section-types-type-item > span {
  color: #adb5bd;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 0.72px;
  margin-bottom: 7px;
  font-weight: 700;
}
.change-variant-modal-section-types-type-item:hover {
  border: 1px solid #378a41;
  cursor: pointer;
}
.change-variant-modal-section-types-type-item.active {
  opacity: 1;
  border: 1px solid #378a41;
}
.change-variant-modal-section-types-type-item.active > span {
  color: #378a41;
}

.change-variant-modal-section-types-variants-container {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
}
.change-variant-modal-section-types-variants-container > :not(:last-child) {
  margin-right: 10px;
}

.change-variant-modal-section-types-variant-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 120px;
  height: 120px;
  border: 1px solid #378a41;
  border-radius: 7px;
  box-shadow: 0px 3px 6px #0000001A;
}
.change-variant-modal-section-types-variant-container > .svg-container {
  height: 80px;
  width: 80px;
}
.change-variant-modal-section-types-variant-container > span {
  color: #378a41;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 0.72px;
  margin-bottom: 7px;
  font-weight: 700;
}
.change-variant-modal-section-types-variant-container:hover {
  background-color: #f1f3fa;
  cursor: grab;
}

.choose-unit-modal-form {
  max-width: 240px;
  margin: auto;
}

.confirm-modal .modal-header {
  padding: 15px;
  height: 45px;
  padding-bottom: 0;
}
.confirm-modal .modal-body {
  padding: 15px;
  padding-bottom: 8px;
}
.confirm-modal .modal-footer {
  padding: 15px;
  padding-bottom: 60px;
}

.confirm-modal-text {
  text-align: center;
  margin-bottom: 0;
  font-weight: 700;
}

.detailed-plot-figures-modal {
  justify-content: center;
  max-width: 90vw;
}
.detailed-plot-figures-modal .modal-content {
  max-width: 100%;
  width: unset;
}

.detailed-plot-figures-table-container {
  max-width: 100%;
  overflow: auto;
  max-height: 70vh;
  padding: 10px 0;
}

.detailed-plot-figures-table th {
  text-align: center;
}
.detailed-plot-figures-table td, .detailed-plot-figures-table th {
  padding: 5px;
}

.detailed-plot-figure-modal-plot-name-header {
  font-weight: 700;
  font-size: 20px;
  line-height: 23px;
}

.detailed-plot-figure-value-label-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
}
.detailed-plot-figure-value-label-cell .detailed-plot-figure-value-label {
  font-size: 14px;
  font-weight: 700;
}
.detailed-plot-figure-value-label-cell .detailed-plot-figure-value-append-text {
  color: #adb5bd;
  margin-left: 12px;
}

.detailed-plot-figure-value-cell {
  height: 28px;
  min-width: 85px;
  line-height: 25px;
  border: 1px solid #adb5bd;
  border-radius: 5px;
  padding: 0 10px;
  color: #378a41;
  text-align: center;
}

.detailed-section-figures-modal {
  display: flex !important;
  justify-content: center;
}
.detailed-section-figures-modal .modal-dialog {
  max-width: 95vw !important;
  max-height: 100%;
}
.detailed-section-figures-modal .modal-content {
  max-width: 100%;
  width: unset;
  max-height: 100%;
}
.detailed-section-figures-modal .modal-body {
  display: flex;
  overflow: auto;
}

.detailed-section-figures-table-container {
  overflow: auto;
  padding: 5px;
  max-width: 100%;
  max-height: 100%;
}

.detailed-section-figures-table {
  min-width: 100%;
  color: #378a41;
}
.detailed-section-figures-table th, .detailed-section-figures-table td {
  text-align: center;
  padding: 5px;
}
.detailed-section-figures-table th, .detailed-section-figures-table tbody {
  border: 1px solid #000;
}
.detailed-section-figures-table td {
  font-size: 13px;
}
.detailed-section-figures-table th {
  text-align: center;
  text-transform: uppercase;
}
.detailed-section-figures-table .plot-number-header {
  font-weight: 500;
}
.detailed-section-figures-table .number-in-building-header {
  font-weight: 500;
  font-size: 10px;
}
.detailed-section-figures-table .apartment-group-header {
  font-size: 15px;
  font-weight: 900;
}
.detailed-section-figures-table .sellable-area-header {
  white-space: nowrap;
}
.detailed-section-figures-table .footprint-header {
  white-space: nowrap;
}
.detailed-section-figures-table .built-area-header {
  white-space: nowrap;
}
.detailed-section-figures-table .nsac-header {
  white-space: nowrap;
}
.detailed-section-figures-table .sellable-area-cell {
  padding: 5px 10px;
}
.detailed-section-figures-table .sellable-area-group-total-cell {
  padding: 5px 10px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.detailed-section-figures-table .footprint-cell {
  padding: 5px 10px;
}
.detailed-section-figures-table .footprint-group-total-cell {
  padding: 5px 10px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.detailed-section-figures-table .built-area-cell {
  padding: 5px 10px;
}
.detailed-section-figures-table .built-area-group-total-cell {
  padding: 5px 10px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.detailed-section-figures-table .nsac-cell {
  padding: 5px 10px;
}
.detailed-section-figures-table .nsac-group-total-cell {
  padding: 5px 10px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.detailed-section-figures-table .apartment-header > :first-child {
  margin-top: 5px;
  margin-bottom: 15px;
}
.detailed-section-figures-table .apartment-header > :last-child {
  font-weight: 500;
  font-size: 12px;
}
.detailed-section-figures-table .variants-body td {
  border-right: 1px solid #000;
  border-bottom: 1px dotted #000;
}
.detailed-section-figures-table .plot-number-cell {
  font-weight: 700;
}
.detailed-section-figures-table .number-in-building-cell {
  border-right: 0 !important;
  border-bottom: 0 !important;
}
.detailed-section-figures-table .variant-cell {
  border-bottom: 0 !important;
  white-space: nowrap;
  text-align: left;
}
.detailed-section-figures-table .apartment-cell {
  border-right: 0 !important;
}
.detailed-section-figures-table .units-cell {
  border-left: 1px solid #000;
}

.export-modal-options-container {
  min-height: 150px;
}

.export-modal-form-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.export-modal-form-group > label {
  margin-right: 10px;
  margin-bottom: 0;
  font-size: 16px;
}

.move-by-distance-modal-form {
  max-width: 200px;
  margin: auto;
}
.move-by-distance-modal-form .form-group {
  margin-bottom: 10px;
}

.move-by-distance-modal-error {
  max-width: 300px;
  margin: auto;
  margin-bottom: 0;
  font-weight: 700;
  font-size: 13px;
  color: #8a374f;
  text-align: center;
}

.new-regulation-file {
  display: flex;
  align-items: center;
  margin-top: 12px;
  padding: 8px 12px;
  border: 1px solid #e3eaef;
  border-radius: 6px;
  background: #f1f3fa;
}
.new-regulation-file .new-regulation-file-icon {
  font-size: 18px;
  color: #8a374f;
  margin-right: 8px;
}
.new-regulation-file .new-regulation-file-name {
  flex: 1;
  font-size: 13px;
  color: #707070;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 25px;
}
.new-regulation-file .new-regulation-file-delete {
  color: #8a374f;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 8px;
}
.new-regulation-file .new-regulation-file-delete.disabled {
  opacity: 0.4;
  pointer-events: none;
}
.new-regulation-file .new-regulation-file-delete:hover {
  cursor: pointer;
  opacity: 0.75;
}

.modal-footer.new-regulation-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.new-regulation-footer-content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.new-regulation-footer-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.optimized-product-mix-modal {
  display: flex !important;
}
.optimized-product-mix-modal .modal-dialog {
  max-width: 95vw !important;
  max-height: 100%;
}
.optimized-product-mix-modal .modal-content {
  max-height: 100%;
}
.optimized-product-mix-modal .modal-body {
  padding-top: 0;
  padding-bottom: 0;
  overflow: auto;
  display: flex;
}

.optimized-product-mix-table-container {
  padding: 0;
  overflow: auto;
  max-width: 100%;
  max-height: 100%;
}

.optimized-product-mix-table {
  min-width: 100%;
  color: #378a41;
}
.optimized-product-mix-table th {
  text-align: center;
  padding: 4px;
}
.optimized-product-mix-table td {
  text-align: center;
  font-size: 13px;
  padding: 3px 4px;
}
.optimized-product-mix-table th, .optimized-product-mix-table tbody {
  border: 1px solid #000;
}
.optimized-product-mix-table th {
  text-align: center;
  text-transform: uppercase;
}
.optimized-product-mix-table .plot-number-header {
  font-weight: 500;
}
.optimized-product-mix-table .number-in-building-header {
  font-weight: 500;
  font-size: 9px;
}
.optimized-product-mix-table .apartment-group-header {
  font-size: 15px;
  font-weight: 900;
}
.optimized-product-mix-table .sellable-area-header {
  white-space: nowrap;
}
.optimized-product-mix-table .footprint-header {
  white-space: nowrap;
}
.optimized-product-mix-table .built-area-header {
  white-space: nowrap;
}
.optimized-product-mix-table .nsac-header {
  white-space: nowrap;
}
.optimized-product-mix-table .sellable-area-cell {
  padding: 4px 8px;
}
.optimized-product-mix-table .sellable-area-group-total-cell {
  padding: 4px 8px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.optimized-product-mix-table .footprint-cell {
  padding: 4px 8px;
}
.optimized-product-mix-table .footprint-group-total-cell {
  padding: 4px 8px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.optimized-product-mix-table .built-area-cell {
  padding: 4px 8px;
}
.optimized-product-mix-table .built-area-group-total-cell {
  padding: 4px 8px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.optimized-product-mix-table .nsac-cell {
  padding: 4px 8px;
}
.optimized-product-mix-table .nsac-group-total-cell {
  padding: 4px 8px;
  border-left: 2px solid #000;
  font-weight: 700;
}
.optimized-product-mix-table .apartment-header > :first-child {
  margin-bottom: 6px;
}
.optimized-product-mix-table .apartment-header > :last-child {
  font-weight: 500;
  font-size: 11px;
}
.optimized-product-mix-table .variants-body td {
  border-right: 1px solid #000;
  border-bottom: 1px dotted #000;
}
.optimized-product-mix-table .plot-number-cell {
  font-weight: 700;
}
.optimized-product-mix-table .number-in-building-cell {
  border-right: 0 !important;
  border-bottom: 0 !important;
}
.optimized-product-mix-table .variant-cell {
  border-bottom: 0 !important;
  white-space: nowrap;
  text-align: left;
}
.optimized-product-mix-table .apartment-cell {
  border-right: 0 !important;
}
.optimized-product-mix-table .units-cell {
  border-left: 1px solid #000;
}
.optimized-product-mix-table .total-body {
  border-color: transparent;
}
.optimized-product-mix-table .total-header-cell {
  text-transform: uppercase;
  text-align: left;
  font-weight: 900;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid #000;
}
.optimized-product-mix-table .total-label-cell {
  text-align: right;
  text-transform: uppercase;
  font-size: 13px;
  padding-right: 10px;
}
.optimized-product-mix-table .obtained-value-cell {
  font-weight: 700;
}
.optimized-product-mix-table .obtained-total-cell {
  font-weight: 700;
  font-size: 17px;
}
.optimized-product-mix-table .sellable-area-total-cell {
  color: #8a374f;
  font-size: 18px;
  font-weight: 900;
}
.optimized-product-mix-table .footprint-total-cell {
  font-weight: 700;
  font-size: 17px;
}
.optimized-product-mix-table .built-area-total-cell {
  font-weight: 700;
  font-size: 17px;
}
.optimized-product-mix-table .nsac-total-cell {
  font-weight: 700;
  font-size: 17px;
}
.optimized-product-mix-table .total-required-per-apartment-type-row {
  background-color: rgba(48, 74, 51, 0.25);
  border-bottom: 1px solid #000;
}
.optimized-product-mix-table .total-difference-row td {
  padding-bottom: 6px;
}
.optimized-product-mix-table .total-obtained-percentage-value-cell {
  border: 2px solid #000;
  font-weight: 700;
}
.optimized-product-mix-table .total-obtained-per-category-value-cell {
  padding: 6px 3px;
  border: 2px solid #000;
}
.optimized-product-mix-table .total-required-percentage-value-cell {
  border: 2px solid #000;
  font-weight: 700;
  background-color: rgba(48, 74, 51, 0.25);
}
.optimized-product-mix-table .total-required-per-category-value-cell {
  background-color: rgba(48, 74, 51, 0.25);
  padding: 6px 3px;
  border: 2px solid #000;
}
.optimized-product-mix-table .total-difference-row td {
  padding-bottom: 6px;
}
.project-basic-data-modal .saving-error {
  font-weight: 700;
  color: #8a374f;
  text-align: center;
  margin: 0 20px;
  font-size: 13px;
}

.required-product-mix-modal-apartment-groups-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.required-product-mix-modal-sum-error {
  color: #8a374f;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 0;
}

.required-product-mix-modal-total {
  text-align: right;
  padding: 10px 10px 0 10px;
  margin-top: 5px;
}
.required-product-mix-modal-total > :first-child {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 700;
  margin-right: 10px;
}
.required-product-mix-modal-total > :last-child {
  font-size: 21px;
  font-weight: 900;
}

.required-product-mix-modal-apartment-group {
  display: flex;
  flex-direction: column;
  padding: 0 10px;
}

.required-product-mix-modal-apartment-group-header {
  border-radius: 5px !important;
  max-width: 75px;
  margin-bottom: 10px;
  color: #378a41;
  border: 1px solid #378a41;
  border-radius: 5px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.required-product-mix-modal-apartment-item {
  max-width: 120px;
  margin-bottom: 10px;
}

.required-product-mix-modal-apartment-item-input-group, .required-product-mix-modal-apartment-group-summary-input-group {
  max-width: 100px;
}
.required-product-mix-modal-apartment-item-input-group input, .required-product-mix-modal-apartment-group-summary-input-group input {
  width: 75px;
}

.required-product-mix-modal-apartment-group-summary-input-group {
  max-width: 120px;
  padding-left: 10px;
  padding-right: 10px;
  margin-top: 5px;
  padding-top: 15px;
  border-top: 1px solid #e5ffe8;
}

.required-scenario-product-mix-modal-description {
  color: #98a6ad;
  text-align: start;
  margin-bottom: 16px;
  font-size: 12px;
}

.required-scenario-product-mix-modal-section-title {
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 8px;
}

.required-scenario-product-mix-modal-divider {
  border-top: 1px solid #e5ffe8;
}

.required-scenario-product-mix-modal-slider-container {
  position: relative;
  padding: 14px 0;
  margin-bottom: 16px;
}

.required-scenario-product-mix-modal-slider-track {
  height: 12px;
  width: 100%;
  display: flex;
  overflow: hidden;
  border-radius: 999px;
  background: #e9ecef;
}

.required-scenario-product-mix-modal-slider-segment {
  height: 100%;
}
.required-scenario-product-mix-modal-slider-segment.is-two-bedrooms {
  background: #378a41;
}
.required-scenario-product-mix-modal-slider-segment.is-three-bedrooms {
  background: #304a33;
}
.required-scenario-product-mix-modal-slider-segment.is-four-bedrooms {
  background: #DA7A40;
}

.required-scenario-product-mix-modal-slider-input {
  position: absolute;
  left: 0;
  top: 8px;
  width: 100%;
  height: 24px;
  margin: 0;
  appearance: none;
  background: transparent;
  pointer-events: none;
}
.required-scenario-product-mix-modal-slider-input::-webkit-slider-runnable-track {
  appearance: none;
  background: transparent;
  height: 12px;
}
.required-scenario-product-mix-modal-slider-input::-moz-range-track {
  background: transparent;
  height: 12px;
  border: 0;
}
.required-scenario-product-mix-modal-slider-input::-webkit-slider-thumb {
  appearance: none;
  pointer-events: all;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #313a46;
  margin-top: -3px;
  cursor: pointer;
}
.required-scenario-product-mix-modal-slider-input::-moz-range-thumb {
  pointer-events: all;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #313a46;
  cursor: pointer;
}
.required-scenario-product-mix-modal-slider-input:disabled::-webkit-slider-thumb {
  cursor: not-allowed;
  opacity: 0.7;
}
.required-scenario-product-mix-modal-slider-input:disabled::-moz-range-thumb {
  cursor: not-allowed;
  opacity: 0.7;
}
.required-scenario-product-mix-modal-slider-input.is-first {
  z-index: 3;
}
.required-scenario-product-mix-modal-slider-input.is-second {
  z-index: 4;
}

.required-scenario-product-mix-modal-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
@media (max-width: 768px) {
  .required-scenario-product-mix-modal-values {
    grid-template-columns: 1fr;
  }
}

.required-scenario-product-mix-modal-value-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  border: 1px solid #e5ffe8;
  border-radius: 6px;
  padding: 10px;
  gap: 10px;
}
.required-scenario-product-mix-modal-value-item.is-two-bedrooms {
  border-left: 4px solid #378a41;
}
.required-scenario-product-mix-modal-value-item.is-two-bedrooms .required-scenario-product-mix-modal-value-dot {
  background: #378a41;
}
.required-scenario-product-mix-modal-value-item.is-two-bedrooms .required-scenario-product-mix-modal-value-number {
  color: #378a41;
}
.required-scenario-product-mix-modal-value-item.is-three-bedrooms {
  border-left: 4px solid #304a33;
}
.required-scenario-product-mix-modal-value-item.is-three-bedrooms .required-scenario-product-mix-modal-value-dot {
  background: #304a33;
}
.required-scenario-product-mix-modal-value-item.is-three-bedrooms .required-scenario-product-mix-modal-value-number {
  color: #304a33;
}
.required-scenario-product-mix-modal-value-item.is-four-bedrooms {
  border-left: 4px solid #DA7A40;
}
.required-scenario-product-mix-modal-value-item.is-four-bedrooms .required-scenario-product-mix-modal-value-dot {
  background: #DA7A40;
}
.required-scenario-product-mix-modal-value-item.is-four-bedrooms .required-scenario-product-mix-modal-value-number {
  color: #DA7A40;
}

.required-scenario-product-mix-modal-value-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}

.required-scenario-product-mix-modal-value-dot {
  width: 10px;
  min-width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}

.required-scenario-product-mix-modal-value-label {
  color: #98a6ad;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.3;
}

.required-scenario-product-mix-modal-value-number {
  font-weight: 900;
  font-size: 20px;
  line-height: 1;
}

.search-location-modal-map-container {
  height: 300px;
  width: 100%;
}
.search-location-modal-map-container > .maplibregl-map {
  height: 100%;
  width: 100%;
}

.section-manager-modal {
  overflow: hidden;
}
.section-manager-modal .modal-dialog {
  width: 90vw !important;
  max-width: 90vw;
}

.section-type-slider-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-self: flex-start;
  overflow: hidden;
  padding: 0 25px;
}
.section-type-slider-container .slick-prev:before, .section-type-slider-container .slick-next:before {
  color: #98a6ad;
}
.section-type-slider-container .slick-slide {
  padding: 0 5px;
}

.section-type-slider-button {
  color: #adb5bd;
  border-radius: 5px;
  text-align: center;
  padding: 0 5px;
  font-size: 15px;
  line-height: 20px;
}
.section-type-slider-button:hover {
  cursor: pointer;
  background-color: #f1f3fa;
  color: #304a33 !important;
}
.section-type-slider-button.active {
  color: #304a33 !important;
}

.section-manager-table-container {
  padding: 5px;
  overflow: auto;
  height: 60vh;
  max-height: 60vh;
  max-width: 100%;
}
.section-manager-table-container td, .section-manager-table-container th {
  padding: 5px;
}

.section-figures-table-container table {
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.section-manager-table-active-type {
  border-radius: 5px !important;
  font-weight: 700;
  font-size: 18px;
  padding: 0 5px;
}

.section-manager-value-cell {
  height: 28px;
  line-height: 25px;
  border: 1px solid #adb5bd;
  border-radius: 5px;
  padding: 0 10px;
  color: #378a41;
}

.section-manager-layout-table {
  color: #707070;
}
.section-manager-layout-table .section-name {
  font-weight: 900;
  font-size: 15px;
  line-height: 20px;
}
.section-manager-layout-table .apartment-label {
  min-width: 60px;
  text-align: center;
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
}

.section-manager-figures-table {
  color: #707070;
}
.section-manager-figures-table .section-name {
  font-weight: 900;
  font-size: 15px;
  line-height: 20px;
}
.section-manager-figures-table .title-th {
  padding-bottom: 0 !important;
}
.section-manager-figures-table .subtitle-th {
  padding-top: 0 !important;
}
.section-manager-figures-table .header-title {
  white-space: nowrap;
  font-size: 14px;
  text-align: center;
}
.section-manager-figures-table .header-subtitle {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}
.section-manager-figures-table .apartment-label {
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
}

.section-figures-table-header-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 10px;
}

.section-manager-table {
  min-width: 100%;
}
.section-manager-table th {
  text-align: center;
}
.section-manager-table .section-type-header {
  font-weight: 700;
  text-transform: uppercase;
}
.section-manager-table .section-variant-header {
  font-weight: 700;
  text-transform: uppercase;
}
.section-manager-table .external-walls-header {
  min-width: 120px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .non-residential-stores-header {
  min-width: 160px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .ground-floor-residential-sellable-area-header {
  min-width: 220px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .gross-apartment-area-group-header {
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .gross-apartment-area-header {
  font-weight: 500;
}
.section-manager-table .sellable-apartment-area-group-header {
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .sellable-apartment-area-header {
  font-weight: 500;
}
.section-manager-table .tf-residential-header {
  min-width: 150px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .gf-non-residential-header {
  min-width: 200px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .nsac-header {
  min-width: 100px;
  text-transform: uppercase;
  font-weight: 700;
}
.section-manager-table .apartment-group-header {
  padding: 5px 0;
  font-size: 15px;
  font-weight: 900;
}
.section-manager-table .apartment-header > :first-child {
  font-weight: 700;
  margin-bottom: 20px;
}
.vertical-axis-modal-form {
  max-width: 300px;
  margin: auto;
}
.vertical-axis-modal-form .form-check-input {
  margin-top: 0;
}
.vertical-axis-modal-form .form-check-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-weight: 700;
  margin-bottom: 10px;
}
.vertical-axis-modal-form .vertical-axis-option-label {
  font-weight: 700;
  font-size: 16px;
  margin-left: 10px;
}

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

.auth-login-page {
  --app-images-footer-safe-space: 72px;
  width: 100%;
  display: flex;
  justify-content: center;
  padding-bottom: var(--app-images-footer-safe-space);
  box-sizing: border-box;
}
.auth-login-page .buttons-container .btn-success, .auth-login-page .buttons-container .btn-success-gradient {
  color: #fff;
}
.auth-login-page .buttons-container .btn-success:hover, .auth-login-page .buttons-container .btn-success-gradient:hover, .auth-login-page .buttons-container .btn-success:focus, .auth-login-page .buttons-container .btn-success-gradient:focus, .auth-login-page .buttons-container .btn-success:active, .auth-login-page .buttons-container .btn-success-gradient:active {
  color: #fff !important;
}
.auth-login-page .buttons-container .btn-success.disabled, .auth-login-page .buttons-container .disabled.btn-success-gradient, .auth-login-page .buttons-container .btn-success:disabled, .auth-login-page .buttons-container .btn-success-gradient:disabled {
  color: rgba(255, 255, 255, 0.75) !important;
}

.auth-form-card {
  width: 450px;
  padding: 30px;
  border: 1px solid #e5ffe8;
  border-radius: 10px;
}
.auth-form-card .description {
  text-align: center;
  color: #adb5bd;
}
.auth-form-card .form-group {
  margin-bottom: 10px;
}
.auth-form-card .loading-error {
  text-align: center;
  font-weight: 700;
  color: #8a374f;
  padding-top: 5px;
  margin-bottom: 0;
}
.auth-form-card .buttons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-top: 25px;
}
.auth-form-card .buttons-container > :not(:last-child) {
  margin-right: 10px;
}
.auth-form-card .buttons-container button {
  min-width: 100px;
}
.auth-form-card .buttons-container .link-button {
  padding: 0 5px;
  border-radius: 20px;
}
.auth-form-card .buttons-container .link-button:hover {
  text-decoration: none;
  color: #304a33;
}

@media only screen and (max-width: 576px) {
  .auth-login-page {
    --app-images-footer-safe-space: 112px;
  }
}
.heartbeat-status-page {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.heartbeat-status-page-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex: 1 1 auto;
}

.heartbeat-error {
  color: #8a374f;
  font-weight: 700;
  margin-bottom: 10px;
}

.new-project-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow-y: auto;
}

.new-project-container-inner {
  width: 100%;
  height: fit-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px 20px;
}

.new-project-card {
  border-radius: 20px;
  width: 100%;
  max-width: 800px;
  box-sizing: border-box;
  padding-bottom: 8px;
  transition: max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.new-project-card--wide {
  max-width: min(1900px, calc(100vw - 40px));
}
.new-project-card--medium-wide {
  max-width: 960px;
}
.new-project-card .header {
  font-size: 22px;
  text-align: center;
  font-weight: 700;
}

.new-project-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.new-project-card-header .page-title {
  margin-bottom: 0;
  flex-shrink: 0;
}

.new-project-step2-layout {
  display: flex;
  gap: 24px;
  align-items: stretch;
  height: clamp(500px, calc(100vh - 180px), 1000px);
  min-height: 460px;
}

.new-project-step2-form {
  width: 320px;
  min-width: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.new-project-step2-form .action-buttons {
  margin-top: auto;
  padding-top: 8px;
}

.new-project-step2-map {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 100%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
.new-project-step2-map .maplibregl-map {
  width: 100%;
  height: 100%;
}

@media (max-width: 1280px) {
  .new-project-step2-layout {
    gap: 16px;
    height: clamp(440px, calc(100vh - 190px), 900px);
    min-height: 440px;
  }

  .new-project-step2-form {
    width: 300px;
    min-width: 300px;
  }
}
@media (max-width: 992px) {
  .new-project-container-inner {
    padding: 16px 12px 24px;
  }

  .new-project-card--wide {
    max-width: 100%;
  }

  .new-project-step2-layout {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }

  .new-project-step2-form {
    width: 100%;
    min-width: 0;
  }

  .new-project-step2-map {
    min-height: 420px;
    height: 62vh;
  }
}
.new-project-map-layer-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  min-width: 76px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  border-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.new-project-map-layer-toggle:hover, .new-project-map-layer-toggle:focus {
  border-color: rgba(0, 0, 0, 0.36);
}

.new-project-map-parcel-toggle {
  position: absolute;
  top: 52px;
  right: 12px;
  z-index: 3;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  border-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.new-project-map-parcel-toggle:hover, .new-project-map-parcel-toggle:focus {
  border-color: rgba(0, 0, 0, 0.36);
}

.new-project-map-parcel-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  z-index: 4;
  background-color: #fff;
  border-left: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-header h5 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
  color: rgba(0, 0, 0, 0.6);
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-close:hover {
  color: rgba(0, 0, 0, 0.9);
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-body {
  flex: 1;
  overflow: auto;
  padding: 12px 16px;
}
.new-project-map-parcel-panel .new-project-map-parcel-panel-body pre {
  margin: 0;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.project-stepper {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  width: min(620px, 100%);
  justify-content: flex-end;
  margin-left: auto;
}

.project-stepper-divider {
  flex: 1;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.12);
  margin: 0 8px;
}

.project-stepper-step {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(0, 0, 0, 0.38);
}
.project-stepper-step.active {
  color: #378a41;
}
.project-stepper-step.active .project-stepper-step-indicator {
  background-color: #378a41;
  color: #fff;
}
.project-stepper-step.completed {
  color: rgba(0, 0, 0, 0.6);
}
.project-stepper-step.completed .project-stepper-step-indicator {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.6);
}

.project-stepper-step-indicator {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}

.project-stepper-step-label {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 992px) {
  .new-project-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .project-stepper {
    width: 100%;
    justify-content: flex-start;
  }
}
.action-buttons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 16px;
}
.action-buttons button {
  font-size: 13px;
  padding: 7px 22px;
  min-width: 90px;
}
.action-buttons > :not(:last-child) {
  margin-right: 15px;
}

.required-asterisk {
  color: #8a374f;
  margin-left: 4px;
  font-weight: 600;
}

.form-divider {
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  margin: 12px 0;
}

.new-project-step3-layout {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.new-project-step3-layout form {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
.new-project-step3-layout .action-buttons {
  margin-top: 0;
  padding-top: 4px;
}

.new-project-step3-layout .regulations-list-section:first-child .regulations-list-section-title {
  margin-top: 8px;
}
.new-project-step3-layout .regulations-list-row > [class*=col-] {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.new-project-step3-layout .list-item-card {
  height: 100%;
  width: 100%;
  margin-bottom: 0;
}
.new-project-step3-layout .list-item-card .name {
  word-break: break-word;
}

@keyframes urban-planning-uploading-pulse {
  0% {
    opacity: 0.45;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.45;
  }
}
.new-project-step3-layout .list-item-card--uploading {
  border-style: dashed;
  border-color: rgba(55, 138, 65, 0.35);
  pointer-events: none;
}
.new-project-step3-layout .list-item-card-uploading-skeleton {
  margin-top: 4px;
}
.new-project-step3-layout .list-item-card-uploading-skeleton-line {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(173, 181, 189, 0.15), rgba(173, 181, 189, 0.35), rgba(173, 181, 189, 0.15));
  background-size: 200% 100%;
  animation: urban-planning-uploading-pulse 1.2s ease-in-out infinite;
}
.new-project-step3-layout .list-item-card-uploading-skeleton-line.is-short {
  width: 46%;
}
.new-project-step3-layout .list-item-card-uploading-skeleton-line.is-label {
  width: 30%;
  margin-top: 16px;
  margin-bottom: 8px;
}
.new-project-step3-layout .list-item-card-uploading-skeleton-line.is-input {
  width: 100%;
  height: 36px;
  border-radius: 8px;
}

.regulation-dropzone-col {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.regulation-dropzone-col > .custom-dropzone-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}
.regulation-dropzone-col > .custom-dropzone-container > div {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.regulation-dropzone-col .custom-dropzone-content {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  min-height: 100px;
}
.regulation-dropzone-col .custom-dropzone-load-file-icon {
  display: block;
}

.new-project-step2-form .form-group:last-of-type {
  margin-bottom: 0;
}

.new-project-step4-ai-progress {
  width: 100%;
  margin-top: 4px;
  margin-bottom: 2px;
}

.comparator-scenarios-toggler {
  margin-left: auto;
}
.comparator-scenarios-toggler button {
  border-radius: 5px !important;
}

.project-creator-init-data-status-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  justify-content: center;
  align-items: center;
}
.project-creator-init-data-status-container .error-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.project-creator-init-data-status-container .error-container p {
  max-width: 200px;
  color: #8a374f;
  font-weight: 700;
}
.project-creator-init-data-status-container .error-container button {
  min-width: 120px;
}

.project-creator-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
}

.project-creator-content {
  display: flex;
  width: 100%;
  height: 100%;
}
.project-creator-content.with-submenu {
  padding-top: 44px;
  box-sizing: border-box;
}

.project-creator-submenu {
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  z-index: 4;
  background-color: #fff;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  gap: 12px;
}
.project-creator-submenu.floating {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.project-creator-submenu.static {
  position: relative;
  width: 100%;
  z-index: 1;
}
.project-creator-submenu .project-creator-submenu-left {
  display: flex;
  align-items: center;
  height: 100%;
  min-width: 320px;
}
.project-creator-submenu .project-creator-submenu-left .editor-sidebar-scenario-name-container {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  height: 100%;
  width: 100%;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row {
  font-size: 15px;
  height: 100%;
  margin: 0;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-select {
  width: 250px;
  min-width: 220px;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-select .react-select > [class*=-control] {
  min-height: 30px;
  height: 30px;
  max-height: 30px;
  border-color: rgba(173, 181, 189, 0.25);
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=ValueContainer] {
  padding-top: 2px;
  padding-bottom: 2px;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=ValueContainer] > [class*=singleValue] {
  font-size: 14px;
  color: #000;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=IndicatorsContainer] {
  height: 28px;
  color: #000;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .icons-container {
  margin-left: 6px;
  height: 30px;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .icons-container > div {
  color: #378a41;
  width: 22px;
  height: 22px;
  font-size: 18px;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .icons-container > div:hover {
  color: #304a33;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-trash-outline {
  color: transparent;
  -webkit-text-stroke: 1px #378a41;
}
.project-creator-submenu .project-creator-submenu-left .scenario-name-row .scenario-name-trash-outline:hover {
  color: transparent;
  -webkit-text-stroke-color: #304a33;
}
.project-creator-submenu .project-creator-submenu-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  min-width: 0;
  height: 100%;
}
.project-creator-submenu .project-creator-submenu-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
}
.project-creator-submenu .project-creator-submenu-nav::-webkit-scrollbar {
  height: 4px;
}
.project-creator-submenu .project-creator-submenu-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  border: 1px solid rgba(173, 181, 189, 0.28);
  border-radius: 999px;
  background-color: #fff;
  color: #707070;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  padding: 0 10px;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}
.project-creator-submenu .project-creator-submenu-nav-button:hover {
  border-color: rgba(48, 74, 51, 0.65);
  color: #1c2b1e;
  background-color: rgba(48, 74, 51, 0.08);
}
.project-creator-submenu .project-creator-submenu-nav-button.active {
  border-color: #304a33;
  color: #182519;
  background-color: rgba(48, 74, 51, 0.14);
}
.project-creator-submenu .project-creator-submenu-nav-button.disabled, .project-creator-submenu .project-creator-submenu-nav-button:disabled {
  border-color: rgba(173, 181, 189, 0.16);
  color: rgba(112, 112, 112, 0.55);
  background-color: rgba(173, 181, 189, 0.08);
  cursor: not-allowed;
}

.editor-full-screen-loader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1500;
}
.editor-full-screen-loader > div {
  position: relative;
}

.three-viewer-container {
  flex: 1 1 auto;
  position: relative;
}

.three-viewer-under-construction {
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.three-viewer-under-construction h1 {
  margin: 0;
  font-size: clamp(42px, 6vw, 84px);
  font-weight: 900;
  color: rgba(138, 55, 79, 0.3);
  transform: rotate(-25deg);
  text-align: center;
  line-height: 1.1;
  font-size: 120px;
}

.optimization-main-view {
  --cold: #3f79c7;
  --cool: #43a6a7;
  --mid: #69bc69;
  --warm: #d4c446;
  --hot: #d98a49;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 18px 22px 24px;
  background: #f1f3fa;
  color: #343a40;
  font-family: inherit;
  font-size: 14px;
}
.optimization-main-view .optimization-workspace {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.optimization-main-view .optimization-panel {
  border: 1px solid rgba(173, 181, 189, 0.22);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.optimization-main-view .optimization-panel-inner {
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.optimization-main-view .optimization-panel-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: #378a41;
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 3px;
}
.optimization-main-view .optimization-panel-title .soft {
  font-size: 12px;
  font-weight: 700;
  color: #304a33;
}
.optimization-main-view .optimization-panel-sub {
  font-size: 12px;
  color: #98a6ad;
  line-height: 1.45;
  margin-bottom: 12px;
}
.optimization-main-view .proposal-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
}
.optimization-main-view .solution-list {
  border: 1px solid rgba(173, 181, 189, 0.2);
  border-radius: 8px;
  overflow: hidden;
}
.optimization-main-view .solrow {
  display: grid;
  grid-template-columns: 34px 1fr 1.45fr;
  gap: 4px;
  align-items: center;
  border-bottom: 1px solid rgba(173, 181, 189, 0.12);
  min-height: 36px;
  padding: 6px 8px;
  font-size: 11px;
}
.optimization-main-view .solrow:last-child {
  border-bottom: 0;
}
.optimization-main-view .solicon {
  font-size: 16px;
  color: #304a33;
}
.optimization-main-view .solfam {
  font-weight: 900;
  color: #343a40;
}
.optimization-main-view .solval {
  color: #707070;
}
.optimization-main-view .radar-zone {
  text-align: center;
}
.optimization-main-view .radar-zone svg {
  width: 100%;
  max-width: 220px;
  height: auto;
  margin: 0 auto;
  display: block;
}
.optimization-main-view .optimization-radar-placeholder {
  width: 100%;
  max-width: 280px;
  height: 210px;
  margin: 0 auto;
  border: 1px dashed #d8e2d6;
  border-radius: 10px;
  background: linear-gradient(180deg, #fcfefb 0%, #f5faf2 100%);
}
.optimization-main-view .score-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
}
.optimization-main-view .grade {
  font-size: 24px;
  font-weight: 800;
  color: #304a33;
}
.optimization-main-view .score {
  font-size: 20px;
  font-weight: 900;
  color: #313a46;
}
.optimization-main-view .slash {
  font-size: 11px;
  color: #98a6ad;
}
.optimization-main-view .tempbar {
  height: 9px;
  flex: 1;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--warm), var(--hot), var(--mid), var(--cold), var(--cool));
  position: relative;
}
.optimization-main-view .tempbar i {
  position: absolute;
  top: -3px;
  width: 3px;
  height: 15px;
  background: #0b7132;
  border: 1px solid #fff;
  border-radius: 2px;
}
.optimization-main-view .mode-switch {
  display: flex;
  gap: 5px;
  margin-bottom: 11px;
}
.optimization-main-view .mode-switch button {
  border: 1px solid rgba(173, 181, 189, 0.28);
  background: #fff;
  color: #707070;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}
.optimization-main-view .mode-switch button:hover {
  border-color: rgba(48, 74, 51, 0.65);
  color: #1c2b1e;
  background-color: rgba(48, 74, 51, 0.08);
}
.optimization-main-view .mode-switch button.active {
  border-color: #304a33;
  color: #182519;
  background-color: rgba(48, 74, 51, 0.14);
  font-weight: 900;
}
.optimization-main-view .eq-list {
  display: grid;
  gap: 13px;
}
.optimization-main-view .eq-item {
  border-bottom: 1px solid rgba(173, 181, 189, 0.14);
  padding-bottom: 10px;
}
.optimization-main-view .eq-top {
  display: grid;
  grid-template-columns: 36px 1fr 58px;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
}
.optimization-main-view .eq-icon {
  font-size: 22px;
  color: #304a33;
  text-align: center;
}
.optimization-main-view .eq-name {
  font-size: 12px;
  font-weight: 900;
  color: #343a40;
}
.optimization-main-view .eq-level {
  font-size: 11px;
  color: #378a41;
  text-align: right;
  font-weight: 900;
}
.optimization-main-view .range-wrap {
  position: relative;
  padding: 0 5px;
}
.optimization-main-view .range-wrap input[type=range] {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 7px;
  border-radius: 8px;
  outline: none;
  background: linear-gradient(90deg, var(--warm), var(--hot), var(--mid), var(--cold), var(--cool));
}
.optimization-main-view .range-wrap input[type=range]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #15843a;
  box-shadow: 0 0 0 1px #5ba46b;
  cursor: pointer;
}
.optimization-main-view .range-wrap input[type=range]::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #15843a;
  cursor: pointer;
}
.optimization-main-view .range-labels {
  display: flex;
  justify-content: space-between;
  color: #adb5bd;
  font-size: 9px;
  margin-top: 3px;
}
.optimization-main-view .generate {
  margin-top: 4px;
  width: 100%;
  height: 40px;
  border: 1px solid #304a33;
  border-radius: 999px;
  background: #304a33;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.2px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.optimization-main-view .generate:hover {
  background: #243726;
  border-color: #243726;
}
.optimization-main-view .help {
  margin-top: 2px;
  font-size: 11px;
  color: #98a6ad;
  text-align: center;
  line-height: 1.35;
}
.optimization-main-view .manual {
  display: none;
  gap: 8px;
}
.optimization-main-view .manual.visible {
  display: grid;
}
.optimization-main-view .manual-row {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: #707070;
}
.optimization-main-view .manual-row select {
  width: 100%;
  border: 1px solid rgba(173, 181, 189, 0.28);
  border-radius: 6px;
  padding: 7px;
  color: #343a40;
  background: #fff;
}
.optimization-main-view .empty {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #98a6ad;
  font-size: 12px;
  text-align: center;
}
.optimization-main-view .empty .ghost {
  width: 140px;
  height: 140px;
  border: 1px dashed #b9ccba;
  transform: rotate(45deg);
  margin-bottom: 28px;
  background: #fbfdfb;
}
.optimization-main-view .result-content {
  display: none;
}
.optimization-main-view .result-content.visible {
  display: block;
}
.optimization-main-view .result-status {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  align-items: center;
  margin-bottom: 4px;
  justify-items: center;
}
.optimization-main-view .result-status > div:first-child {
  width: 100%;
  display: flex;
  justify-content: center;
}
.optimization-main-view .result-status svg {
  width: 100%;
  max-width: 380px;
  height: auto;
  display: block;
}
.optimization-main-view .card-score {
  border: 1px solid rgba(48, 74, 51, 0.45);
  border-radius: 10px;
  padding: 10px 10px 9px;
  text-align: center;
  color: #707070;
  background: rgba(48, 74, 51, 0.04);
  width: 100%;
  max-width: 240px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.optimization-main-view .card-score .card-score-kicker {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.35px;
  color: #98a6ad;
  margin-bottom: 6px;
}
.optimization-main-view .card-score .card-score-badges {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 6px;
}
.optimization-main-view .card-score .grade-pill,
.optimization-main-view .card-score .delta-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
}
.optimization-main-view .card-score .grade-pill {
  color: #182519;
  background: rgba(48, 74, 51, 0.15);
  border: 1px solid rgba(48, 74, 51, 0.35);
  min-width: 34px;
}
.optimization-main-view .card-score .delta-pill.positive {
  color: #141f15;
  background: rgba(48, 74, 51, 0.12);
  border: 1px solid rgba(48, 74, 51, 0.35);
}
.optimization-main-view .card-score .delta-pill.negative {
  color: #66283a;
  background: rgba(138, 55, 79, 0.1);
  border: 1px solid rgba(138, 55, 79, 0.28);
}
.optimization-main-view .card-score .card-score-main {
  display: block;
  font-size: 28px;
  line-height: 1;
  color: #378a41;
}
.optimization-main-view .card-score .card-score-main small {
  font-size: 12px;
  font-weight: 700;
  color: #98a6ad;
  margin-left: 2px;
}
.optimization-main-view .card-score .card-score-sub {
  font-size: 10px;
  color: #98a6ad;
  margin-top: 2px;
}
.optimization-main-view .card-score .card-score-meta {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #98a6ad;
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid rgba(173, 181, 189, 0.16);
}
.optimization-main-view .legend {
  display: flex;
  gap: 15px;
  justify-content: center;
  border-top: 1px solid rgba(173, 181, 189, 0.12);
  padding-top: 9px;
  margin-top: 4px;
  font-size: 10px;
  color: #98a6ad;
}
.optimization-main-view .legend i {
  display: inline-block;
  width: 18px;
  height: 3px;
  margin-right: 4px;
  vertical-align: middle;
}
.optimization-main-view .legend i.new {
  background: #304a33;
}
.optimization-main-view .legend i.old {
  border-top: 2px dashed rgba(112, 112, 112, 0.75);
  height: 1px;
}
.optimization-main-view .changes {
  margin-top: 16px;
}
.optimization-main-view .changes .optimization-panel-inner {
  padding: 13px 16px 16px;
}
.optimization-main-view .change-head {
  font-size: 16px;
  color: #378a41;
  font-weight: 900;
}
.optimization-main-view .change-head span {
  font-size: 12px;
  color: #98a6ad;
  font-weight: 700;
  margin-left: 5px;
}
.optimization-main-view .table-wrap {
  overflow: auto;
  margin-top: 10px;
}
.optimization-main-view .changes-table {
  width: 100%;
  border-collapse: collapse;
}
.optimization-main-view .changes-table th,
.optimization-main-view .changes-table td {
  padding: 8px 9px;
  border-bottom: 1px solid rgba(173, 181, 189, 0.14);
  font-size: 11px;
  text-align: left;
  white-space: nowrap;
}
.optimization-main-view .changes-table th {
  font-size: 10px;
  color: #707070;
  background: rgba(173, 181, 189, 0.07);
}
.optimization-main-view .changes-table td:first-child {
  font-weight: 900;
  color: #343a40;
}
.optimization-main-view .changes-table .delta {
  text-align: center;
  font-weight: 700;
}
.optimization-main-view .changes-table .up {
  color: #263b28;
}
.optimization-main-view .changes-table .down {
  color: #DA7A40;
}
.optimization-main-view .changes-table .zero {
  color: #98a6ad;
}
.optimization-main-view .change-legend {
  display: flex;
  gap: 30px;
  font-size: 10px;
  color: #98a6ad;
  margin-top: 8px;
  padding: 0 5px;
}
.optimization-main-view .change-legend .lgline {
  display: inline-block;
  width: 35px;
  height: 3px;
  background: #304a33;
  margin-right: 6px;
  vertical-align: middle;
}
.optimization-main-view .change-legend .lgline.worse {
  background: #DA7A40;
}
.optimization-main-view .change-legend .lgline.neutral {
  background: rgba(173, 181, 189, 0.5);
}
@media (max-width: 1300px) {
  .optimization-main-view .optimization-workspace {
    grid-template-columns: 1fr 1fr;
  }
  .optimization-main-view .optimization-workspace > .optimization-panel:nth-child(3) {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .optimization-main-view {
    padding: 12px;
  }
  .optimization-main-view .optimization-workspace {
    grid-template-columns: 1fr;
  }
  .optimization-main-view .optimization-workspace > .optimization-panel:nth-child(3) {
    grid-column: auto;
  }
  .optimization-main-view .proposal-grid {
    grid-template-columns: 1fr;
  }
  .optimization-main-view .empty {
    min-height: 260px;
  }
}

.three-viewer-canvas {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.editor-sidebar-container {
  border-right: 1px solid #dee2e6;
  width: auto;
  max-width: 670px;
  position: relative;
  z-index: 2;
}

.editor-sidebar {
  user-select: none;
  display: flex;
  flex-direction: row;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.editor-sidebar-content {
  display: flex;
  flex-direction: column;
  width: 350px;
  min-width: 350px;
  overflow: hidden;
}
.editor-sidebar-content > .tab-content {
  padding: 0 15px;
  overflow-y: auto;
}

.editor-sidebar-header-container {
  margin-top: 15px;
  padding: 0 15px 15px;
}

.editor-sidebar-header-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 5px;
}

.editor-sidebar-scenario-name-container {
  display: flex;
  flex-direction: column;
  margin-bottom: 5px;
}
.editor-sidebar-scenario-name-container .scenario-name-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 17px;
  font-weight: 700;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name,
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select {
  flex: 1;
  min-width: 0;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select .react-select > [class*=-control] {
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select .react-select > [class*=-control]:hover {
  border-color: rgba(48, 74, 51, 0.35);
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=ValueContainer] > [class*=singleValue] {
  color: #378a41;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=ValueContainer] {
  padding-left: 0;
  padding-right: 6px;
}
.editor-sidebar-scenario-name-container .scenario-name-row .scenario-name-select .react-select > [class*=-control] > [class*=IndicatorsContainer] {
  color: #98a6ad;
  padding: 0;
}
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 5px;
}
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container > :not(:last-child) {
  margin-right: 5px;
}
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container > div {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
}
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container > div:hover {
  color: #304a33;
  cursor: pointer;
}
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container span,
.editor-sidebar-scenario-name-container .scenario-name-row .icons-container .scenario-name-header-svg-icon {
  display: block;
  width: 1em;
  height: 1em;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}
.editor-sidebar-scenario-name-container .scenario-name-input {
  flex: 1 1 auto;
  min-width: 0;
}
.editor-sidebar-scenario-name-container .scenario-name-input input {
  width: 100%;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions {
  display: flex;
  flex-direction: row;
  gap: 6px;
  flex: 0 0 auto;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions .scenario-name-edit-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition: opacity 0.15s;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions .scenario-name-edit-btn:hover {
  opacity: 0.82;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions .scenario-name-edit-btn--cancel {
  background: transparent;
  border-color: #35272b;
  color: #35272b;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions .scenario-name-edit-btn--save {
  background: #378a41;
  border-color: #378a41;
  color: #fff;
}
.editor-sidebar-scenario-name-container .scenario-name-edit-actions .scenario-name-edit-btn-label {
  white-space: nowrap;
}
.editor-sidebar-scenario-name-container .scenario-name-validation-error {
  margin-top: 5px;
  margin-bottom: 0;
  color: #8a374f;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.editor-sidebar-header-status {
  display: flex;
  align-items: center;
  gap: 6px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 0;
}
.editor-sidebar-header-status .editor-sidebar-status-label {
  color: #98a6ad;
}
.editor-sidebar-header-status .editor-sidebar-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.editor-sidebar-header-status .editor-sidebar-status-chip::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  content: "";
}
.editor-sidebar-header-status.saved .editor-sidebar-status-chip {
  border-color: rgba(55, 138, 65, 0.35);
  background-color: rgba(55, 138, 65, 0.12);
  color: #265e2c;
}
.editor-sidebar-header-status.saved .editor-sidebar-status-chip::before {
  background-color: #378a41;
}
.editor-sidebar-header-status.unsaved .editor-sidebar-status-chip {
  border-color: rgba(218, 122, 64, 0.45);
  background-color: rgba(218, 122, 64, 0.14);
  color: #9f4f1f;
}
.editor-sidebar-header-status.unsaved .editor-sidebar-status-chip::before {
  background-color: #DA7A40;
}

.editor-sidebar-sections {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
}
.editor-sidebar-sections .editor-sidebar-section-button {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex: 0 0 auto;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: #fff;
  color: #98a6ad;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.editor-sidebar-sections .editor-sidebar-section-button:hover {
  border-color: #378a41;
  color: #378a41;
}
.editor-sidebar-sections .editor-sidebar-section-button .section-index {
  line-height: 1;
}
.editor-sidebar-sections .editor-sidebar-section-button .section-label {
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: max-width 0.25s ease, opacity 0.2s ease, margin-left 0.25s ease;
}
.editor-sidebar-sections .editor-sidebar-section-button.active {
  border-color: #378a41;
  background: #378a41;
  color: #fff;
}
.editor-sidebar-sections .editor-sidebar-section-button.active .section-label {
  max-width: 200px;
  margin-left: 6px;
  opacity: 1;
}

.editor-sidebar-header-message, .editor-sidebar-header-success, .editor-sidebar-header-error {
  text-align: center;
  font-weight: 700;
  margin-bottom: 0;
}

.editor-sidebar-header-error {
  color: #8a374f;
}

.editor-sidebar-header-success {
  color: #304a33;
}

.editor-sidebar-header-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
  padding-left: 5px;
}
.editor-sidebar-header-icons > :not(:last-child) {
  margin-right: 5px;
}
.editor-sidebar-header-icons > div {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #378a41;
  width: 20px;
}
.editor-sidebar-header-icons > div:hover {
  cursor: pointer;
  color: #304a33;
}
.editor-sidebar-header-icons .edit-icon {
  font-size: 20px;
  margin-right: -1px;
}
.editor-sidebar-header-icons .folder-icon {
  font-size: 25px;
}
.editor-sidebar-header-icons .save-icon {
  font-size: 20px;
}
.editor-sidebar-header-icons .save-draft-icon {
  font-size: 20px;
}
.editor-sidebar-header-icons .save-as-icon {
  font-size: 20px;
  width: 20px;
}
.editor-sidebar-header-icons .save-new-scenario-icon {
  font-size: 20px;
}
.editor-sidebar-header-icons .download-icon {
  font-size: 14px;
}
.editor-sidebar-header-icons .clear-icon {
  margin-top: 2px;
  margin-left: -2px;
  font-size: 13px;
}

.editor-sidebar-header-icon-tooltip .tooltip {
  font-size: 10px;
  line-height: 14px;
  color: #e5ffe8;
}
.editor-sidebar-header-icon-tooltip .tooltip .tooltip-inner {
  padding: 0 5px;
  background-color: #fff;
  color: #343a40;
  font-size: 11px;
  font-weight: 700;
}

.editor-sidebar-project-name {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  white-space: nowrap;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 1.4px;
  line-height: 25px;
  margin-bottom: 0;
}

.editor-sidebar-tabs-wrapper {
  margin-top: 12px;
  width: 100%;
  overflow: visible;
}

.editor-sidebar-tabs-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
}
.editor-sidebar-tabs-nav li {
  color: #378a41;
  font-weight: 700;
  min-width: 90px;
  text-align: center;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  line-height: 1;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #378a41;
  background-color: transparent;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.editor-sidebar-tabs-nav li:hover {
  background-color: rgba(55, 138, 65, 0.08);
  color: #378a41;
  cursor: pointer;
}
.editor-sidebar-tabs-nav li.active {
  background-color: #378a41;
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.editor-sidebar-tabs-nav li.active:hover {
  background-color: #378a41;
  color: #fff;
}
.editor-sidebar-tabs-nav li .editor-sidebar-tab-icon {
  font-size: 12px;
  margin-right: 6px;
}
.editor-sidebar-tabs-nav li > span:last-child {
  line-height: 1;
}

.editor-sidebar-section-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 16px;
  line-height: 19px;
  text-transform: capitalize;
  font-weight: 700;
  position: relative;
  padding: 8px 0;
  margin-bottom: 12px;
  border-radius: 5px;
}
.editor-sidebar-section-title span {
  margin-left: 15px;
}
.editor-sidebar-section-title:before {
  content: "";
  background-color: #304a33;
  position: absolute;
  left: 0;
  height: 34px;
  width: 5px;
}
.editor-sidebar-section-title i {
  margin-left: auto;
}
.editor-sidebar-section-title.toggler {
  background: linear-gradient(90deg, rgba(229, 255, 232, 0.65) 0%, rgba(55, 138, 65, 0.18) 100%);
  border: 1px solid rgba(55, 138, 65, 0.26);
  padding: 8px 10px;
}
.editor-sidebar-section-title.toggler:hover {
  cursor: pointer;
  opacity: 1;
  background: linear-gradient(90deg, rgba(229, 255, 232, 0.78) 0%, rgba(55, 138, 65, 0.26) 100%);
  border-color: rgba(55, 138, 65, 0.42);
}

.editor-sidebar-collapse-button {
  border-radius: 0;
  border-width: 0 0 1px 0;
  text-align: left;
  margin-bottom: 10px;
  padding-left: 0;
  padding-right: 0;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.editor-sidebar-section-container {
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  font-weight: 600;
}
.editor-sidebar-section-container .text-uppercase {
  text-transform: none !important;
  letter-spacing: normal;
}

.energy-sustainability-panel {
  padding-top: 4px;
  padding-bottom: 8px;
}

.energy-sustainability-question {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.energy-sustainability-question-info {
  min-width: 0;
}

.energy-sustainability-question-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

.energy-sustainability-question-title {
  margin: 0;
  color: #313a46;
  font-size: 12px;
  font-weight: 700;
}

.energy-sustainability-settings-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #378a41;
  cursor: pointer;
}
.energy-sustainability-settings-button:hover, .energy-sustainability-settings-button:focus-visible {
  color: #286630;
  outline: none;
}

.energy-sustainability-question-description {
  margin: 0;
  color: #98a6ad;
  font-size: 11px;
  line-height: 1.3;
}

.energy-sustainability-options,
.energy-sustainability-choice-list {
  width: 100%;
}

.energy-sustainability-choice-list {
  gap: 5px;
}

.energy-sustainability-choice {
  min-height: 0;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 11px;
}

.energy-sustainability-choice .choice-list-item-indicator {
  width: 8px;
  height: 8px;
  margin-right: 6px;
}

.editor-sidebar-program-mix-group {
  margin-top: 6px;
  position: relative;
}

.basic-sustainability-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.basic-sustainability-header-title {
  color: #707070;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.35px;
}

.basic-sustainability-solar-button {
  height: 34px;
  min-width: 92px;
  padding: 0 12px;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1;
}

.basic-sustainability-solar-modal .modal-dialog {
  max-width: 1200px;
}

.basic-sustainability-solar-modal-body {
  padding-top: 10px;
}

.basic-solar-month-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.basic-solar-month-values {
  padding-left: 48px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.basic-solar-month-value-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.basic-solar-month-value-label {
  color: #707070;
}

.basic-solar-month-value-value {
  color: #313a46;
  font-weight: 600;
  text-align: right;
}

@media (max-width: 767px) {
  .basic-solar-month-values {
    padding-left: 28px;
  }

  .basic-sustainability-header {
    align-items: center !important;
  }

  .basic-sustainability-solar-button {
    min-width: 84px;
  }
}
.editor-sidebar-program-mix-title {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #98a6ad;
}

.editor-sidebar-program-mix-content {
  padding-left: 12px;
  border-left: 3px solid rgba(55, 138, 65, 0.35);
}
.editor-sidebar-program-mix-content > :last-child {
  margin-bottom: 0 !important;
}

.editor-sidebar-button {
  min-width: 230px;
  width: auto;
  height: 40px;
  margin-left: auto;
  margin-right: auto;
  font-size: 13px;
  line-height: 16px;
}

.creator-deliverables {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  padding-bottom: 14px;
}

.creator-deliverable-group {
  margin-bottom: 2px;
}

.creator-deliverable-group-title {
  margin-bottom: 12px;
}

.creator-deliverable-items {
  padding-top: 0;
  padding-bottom: 6px;
}

.creator-deliverable-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 30px;
}
.creator-deliverable-item > span {
  font-size: 14px;
  color: #343a40;
}
.creator-deliverable-item:not(:last-child) {
  margin-bottom: 8px;
}

.creator-deliverable-group-action {
  margin-top: 10px;
}

.creator-deliverable-ai-progress {
  margin-bottom: 8px;
}

.creator-deliverable-generation-warning {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 8px;
  color: #98a6ad;
  font-size: 11px;
  line-height: 15px;
}
.creator-deliverable-generation-warning .fa {
  flex: 0 0 auto;
  margin-top: 1px;
  color: #DA7A40;
  font-size: 13px;
}

.creator-deliverable-hulc-banner-wrap {
  margin-top: 8px;
  margin-bottom: 4px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background-color: #fff;
  padding: 6px;
}

.creator-deliverable-hulc-banner {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.creator-deliverable-hulc-banner-note {
  margin: 0;
  font-size: 11px;
  color: #98a6ad;
}

.creator-deliverable-group-button {
  width: 100%;
  min-height: 34px;
  font-size: 12px;
}
.creator-deliverable-group-button:disabled {
  background-color: #dee2e6 !important;
  border-color: #dee2e6 !important;
  color: #98a6ad !important;
  cursor: not-allowed !important;
  opacity: 0.65;
}

.hulc-connection-panel-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  width: 100%;
}

.hulc-connection-panel-intro {
  margin: 0;
  font-size: 13px;
  color: #707070;
}

.hulc-connection-panel-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 14px;
  color: #343a40;
}
.hulc-connection-panel-summary strong {
  color: #2b6d33;
  margin-left: 4px;
}

.hulc-connection-panel-time {
  font-family: monospace;
  color: #98a6ad;
  font-size: 12px;
}

.hulc-connection-panel-track {
  width: 100%;
  height: 3px;
  background-color: #e3eaef;
  border-radius: 3px;
  overflow: hidden;
}
.hulc-connection-panel-track > span {
  display: block;
  height: 100%;
  background-color: #378a41;
  transition: width 0.2s linear;
}

.hulc-connection-panel-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  min-height: 220px;
}

.hulc-connection-panel-phases {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hulc-connection-phase {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f1f3fa;
  color: #98a6ad;
  font-size: 13px;
}

.hulc-connection-phase-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1px solid #ced4da;
  background-color: transparent;
  flex-shrink: 0;
}

.hulc-connection-phase--run {
  color: #343a40;
  border-color: rgba(55, 138, 65, 0.5);
  background-color: rgba(55, 138, 65, 0.08);
}
.hulc-connection-phase--run .hulc-connection-phase-dot {
  border-color: #378a41;
  border-right-color: transparent;
  animation: hulc-phase-spin 0.8s linear infinite;
}

.hulc-connection-phase--done {
  color: #707070;
}
.hulc-connection-phase--done .hulc-connection-phase-dot {
  border-color: #378a41;
  background-color: #378a41;
}

.hulc-connection-panel-log {
  display: flex;
  flex-direction: column;
  gap: 5px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f1f3fa;
  color: #707070;
  font-family: monospace;
  font-size: 12px;
  padding: 10px;
  overflow: auto;
}
.hulc-connection-panel-log > span {
  line-height: 1.3;
}

.hulc-connection-panel-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 2px;
}

.hulc-connection-panel-download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 34px;
  padding: 5px 8px 5px 10px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  color: #343a40;
  font-size: 13px;
}

.hulc-connection-panel-download-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 26px;
  padding: 0;
  border-color: #378a41 !important;
  color: #378a41 !important;
  background-color: transparent !important;
  transition: all 0.2s ease-in-out;
}
.hulc-connection-panel-download-button:hover, .hulc-connection-panel-download-button:focus {
  border-color: #378a41 !important;
  color: #378a41 !important;
  background-color: rgba(55, 138, 65, 0.1) !important;
}

@keyframes hulc-phase-spin {
  to {
    transform: rotate(360deg);
  }
}
.editor-sidebar-form-section-header {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.8px;
  line-height: 19px;
}

.editor-sidebar-location-form label {
  font-size: 14px;
  line-height: 17px;
  margin-bottom: 8px;
}
.editor-sidebar-location-form .input-group-text {
  font-size: 22px;
  padding: 0 5px;
}

.editor-sidebar-site-area-container > :not(:last-child) {
  margin-bottom: 15px;
}
.editor-sidebar-site-area-container .site-area-clear {
  text-align: center;
  font-weight: 700;
  color: #8a374f;
}
.editor-sidebar-site-area-container .site-area-clear span:hover {
  opacity: 0.75;
  cursor: pointer;
}

.editor-sidebar-site-area-file-dropzone-container > div:focus {
  outline: none !important;
}
.editor-sidebar-site-area-file-dropzone-container .editor-sidebar-site-area-file-dropzone-content {
  padding: 15px 10px;
  border: 1px solid #e5ffe8;
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  min-height: 100px;
}
.editor-sidebar-site-area-file-dropzone-container .editor-sidebar-site-area-file-dropzone-content:focus {
  outline: none !important;
}
.editor-sidebar-site-area-file-dropzone-container:hover {
  background-color: rgba(55, 138, 65, 0.12);
}

.site-area-file-dropzone-drag-active {
  opacity: 0.5;
}

.site-area-file-dropzone-drag-accept {
  border-color: #378a41 !important;
}

.editor-sidebar-site-area-load-file-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.editor-sidebar-site-area-load-file-type-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0.9px;
  margin-bottom: 0;
}

.editor-sidebar-site-area-load-file-subtitle {
  font-weight: 700;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.7px;
}

.editor-sidebar-site-area-load-file-icon {
  font-size: 42px;
  color: #304a33;
  margin-left: auto;
  margin-right: 5px;
}

.editor-sidebar-apartment-groups-list > :not(:last-child) {
  border-bottom: 1px solid #dee2e6;
}

.editor-sidebar-apartment-group {
  padding: 10px 0;
}

.editor-sidebar-apartment-group-header-container {
  display: flex;
  align-items: center;
  padding: 3px 0;
  border-radius: 5px;
}
.editor-sidebar-apartment-group-header-container:hover {
  cursor: pointer;
  background-color: #e3eaef;
}

.editor-sidebar-apartment-group-edit-icon {
  margin-left: 10px;
  border-width: 0;
  border-radius: 5px;
}

.editor-sidebar-apartments-list-group-summary {
  font-weight: 700;
  margin-left: auto;
}

.editor-sidebar-apartments-list-collapse-toggler {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 31px;
  height: 31px;
}

.editor-sidebar-apartment-mix-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 3px 0 3px 5px;
}

.editor-sidebar-apartment-mix-input {
  max-width: 100px;
}

.editor-sidebar-section-types-group-container {
  display: flex;
  flex-direction: column;
}

.editor-sidebar-section-types-group-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-bottom: 8px;
}
.editor-sidebar-section-types-group-row > :not(:last-child) {
  margin-right: 8px;
}

.editor-sidebar-section-types-type-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 89px;
  border-radius: 7px;
  box-shadow: 0px 3px 6px #0000001A;
  opacity: 0.65;
  border: 1px solid #fff;
}
.editor-sidebar-section-types-type-item > .svg-container {
  height: 70px;
  width: 70px;
}
.editor-sidebar-section-types-type-item > span {
  color: #adb5bd;
  font-size: 9px;
  line-height: 14px;
  letter-spacing: 0.7px;
  margin-bottom: 6px;
  font-weight: 600;
}
.editor-sidebar-section-types-type-item:hover {
  border: 1px solid #378a41;
  cursor: pointer;
}
.editor-sidebar-section-types-type-item.active {
  opacity: 1;
  border: 1px solid #378a41;
}
.editor-sidebar-section-types-type-item.active > span {
  color: #378a41;
}

.editor-sidebar-section-types-variants-container {
  display: flex;
  flex-direction: row;
  margin-bottom: 8px;
}
.editor-sidebar-section-types-variants-container > :not(:last-child) {
  margin-right: 8px;
}

.editor-sidebar-section-types-variant-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 89px;
  border: 1px solid #378a41;
  border-radius: 7px;
  box-shadow: 0px 3px 6px #0000001A;
}
.editor-sidebar-section-types-variant-container > .svg-container {
  height: 70px;
  width: 70px;
}
.editor-sidebar-section-types-variant-container > span {
  color: #378a41;
  font-size: 9px;
  line-height: 14px;
  letter-spacing: 0.7px;
  margin-bottom: 6px;
  font-weight: 600;
}
.editor-sidebar-section-types-variant-container:hover {
  background-color: #f1f3fa;
  cursor: grab;
}

.section-variant-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  border-radius: 10px;
  width: calc(50% - 5px);
  cursor: pointer;
}
.section-variant-container > .svg-container {
  height: 100px;
  width: 100px;
}
.section-variant-container:hover {
  background-color: #e3eaef;
}

.sidebar-items-section-types-buttons-container {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}
.sidebar-items-section-types-buttons-container > :not(:last-child) {
  margin-bottom: 10px;
}

.sidebar-product-mix-optimization-section-buttons-container {
  display: flex;
  flex-direction: column;
}
.sidebar-product-mix-optimization-section-buttons-container > :not(:last-child) {
  margin-bottom: 10px;
}

.product-mix-optimization-section-error {
  font-size: 14px;
  margin: 5px 0;
  text-align: center;
  color: #8a374f;
  font-weight: 700;
}

.editor-top-actions-wrapper {
  position: absolute;
  display: flex;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
}
.editor-top-actions-wrapper > div {
  width: fit-content;
  display: flex;
}

.editor-top-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  color: #adb5bd;
  background-color: #fff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 10px 10px 5px 10px;
  box-shadow: 0px 3px 6px #0000001A;
  height: 50px;
}
.editor-top-actions .editor-top-actions-icon-container {
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.editor-top-actions .editor-top-actions-icon-container:hover {
  cursor: pointer;
  color: #304a33;
}
.editor-top-actions .editor-top-actions-icon-container.active {
  color: #304a33;
}
.editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon {
  --ai-icon-sparkle-top: -4px;
  --ai-icon-sparkle-left: -4px;
}
.editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon {
  --ai-icon-sparkle-top: -4px;
  --ai-icon-sparkle-left: 13px;
}
.editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon:hover, .editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon.active, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon:hover, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon.active {
  color: #7C3AED;
}
.editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon:hover, .editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon.active, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon:hover, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon.active {
  text-shadow: 0 0 10px rgba(124, 58, 237, 0.35);
}
.editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon:hover .draw-section-icon-sparkle, .editor-top-actions .editor-top-actions-icon-container.draw-section-ai-icon.active .draw-section-icon-sparkle, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon:hover .draw-section-icon-sparkle, .editor-top-actions .editor-top-actions-icon-container.extrude-with-ai-icon.active .draw-section-icon-sparkle {
  color: #7C3AED;
}
.editor-top-actions .editor-top-actions-icon-container.extrude-full-section-icon .extrude-full-section-mark {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}
.editor-top-actions .editor-top-actions-icon-container.extrude-full-section-icon .extrude-full-section-badge {
  position: absolute;
  top: -5px;
  right: -10px;
  min-width: 18px;
  height: 12px;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  background-color: rgba(173, 181, 189, 0.16);
  border: 1px solid rgba(173, 181, 189, 0.35);
  color: #707070;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.35px;
}
.editor-top-actions .editor-top-actions-icon-container.extrude-full-section-icon:hover .extrude-full-section-badge, .editor-top-actions .editor-top-actions-icon-container.extrude-full-section-icon.active .extrude-full-section-badge {
  background-color: rgba(48, 74, 51, 0.18);
  border-color: rgba(48, 74, 51, 0.45);
  color: #182519;
}
.editor-top-actions .editor-top-actions-icon-container .add-icon {
  font-size: 24px;
}
.editor-top-actions .editor-top-actions-icon-container .remove-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .move-by-direction-icon {
  font-size: 11px;
}
.editor-top-actions .editor-top-actions-icon-container .move-by-direction-vertical-icon {
  display: inline-block;
  transform: rotate(90deg);
  font-size: 10px;
}
.editor-top-actions .editor-top-actions-icon-container .move-icon {
  font-size: 12px;
}
.editor-top-actions .editor-top-actions-icon-container .rotate-icon {
  font-size: 28px;
}
.editor-top-actions .editor-top-actions-icon-container .osnap-rotation-icon {
  font-size: 18px;
}
.editor-top-actions .editor-top-actions-icon-container .alignment-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .move-surroundings-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .extrude-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .draw-plot-area-icon {
  font-size: 27px;
}
.editor-top-actions .editor-top-actions-icon-container .draw-section-icon {
  font-size: 24px;
}
.editor-top-actions .editor-top-actions-icon-container .draw-section-icon-with-sparkle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}
.editor-top-actions .editor-top-actions-icon-container .draw-section-icon-with-sparkle > svg {
  width: 100%;
  height: 100%;
  display: block;
}
.editor-top-actions .editor-top-actions-icon-container .draw-section-icon-with-sparkle .draw-section-icon-sparkle {
  position: absolute;
  top: var(--ai-icon-sparkle-top, -4px);
  left: var(--ai-icon-sparkle-left, -4px);
  width: 24px;
  height: 24px;
  color: #adb5bd;
}
.editor-top-actions .editor-top-actions-icon-container .draw-section-icon-with-sparkle .draw-section-icon-sparkle svg {
  width: 100%;
  height: 100%;
  display: block;
}
.editor-top-actions .editor-top-actions-icon-container .draw-courtyard-icon {
  font-size: 30px;
}
.editor-top-actions .editor-top-actions-icon-container .copy-selected-icon {
  font-size: 23px;
}
.editor-top-actions .editor-top-actions-icon-container .mirror-horizontally-selected-icon {
  font-size: 18px;
}
.editor-top-actions .editor-top-actions-icon-container .mirror-vertically-selected-icon {
  font-size: 18px;
  transform: rotate(90deg);
}
.editor-top-actions .editor-top-actions-icon-container .swap-selected-icon {
  font-size: 19px;
}
.editor-top-actions .editor-top-actions-icon-container .delete-selected-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .zoom-in-icon {
  font-size: 32px;
}
.editor-top-actions .editor-top-actions-icon-container .zoom-out-icon {
  font-size: 32px;
}
.editor-top-actions .editor-top-actions-icon-container .move-camera-icon {
  font-size: 24px;
}
.editor-top-actions .editor-top-actions-icon-container .reset-camera-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-actions-icon-container .ruler-distance-icon {
  font-size: 20px;
}
.editor-top-actions .editor-top-action-slot {
  position: relative;
  display: flex;
}
.editor-top-actions .draw-section-action-slot {
  position: relative;
  display: flex;
}
.editor-top-actions .draw-section-module-actions {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(173, 181, 189, 0.18);
  padding: 3px 6px;
  box-shadow: 0px 3px 6px #0000001A;
  z-index: 5;
  white-space: nowrap;
}
.editor-top-actions .draw-section-module-divider {
  width: 1px;
  height: 24px;
  background-color: rgba(173, 181, 189, 0.35);
  margin: 0 4px;
}
.editor-top-actions .draw-section-module-button {
  width: 60px;
  height: 60px;
  border: none;
  border-radius: 6px;
  background-color: transparent;
  color: rgba(173, 181, 189, 0.7);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.editor-top-actions .draw-section-module-button:hover {
  cursor: pointer;
  color: #7C3AED;
  background-color: rgba(124, 58, 237, 0.1);
}
.editor-top-actions .draw-section-module-button.active {
  color: #7C3AED;
  background-color: rgba(124, 58, 237, 0.18);
}
.editor-top-actions .draw-section-module-button.active .draw-section-module-shape {
  opacity: 1;
}
.editor-top-actions .draw-section-module-button .draw-section-module-shape {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.35;
  transition: opacity 0.15s ease;
}
.editor-top-actions .draw-section-module-button .draw-section-module-shape svg {
  width: 76px;
  height: 76px;
  display: block;
}
.editor-top-actions .draw-section-module-button .draw-section-module-label {
  position: relative;
  z-index: 1;
  color: #343a40;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  padding-top: 0;
}
.editor-top-actions .draw-section-module-button.active .draw-section-module-label {
  color: #fff;
}
.editor-top-actions .editor-top-actions-divider {
  height: 35px;
  width: 1px;
  background-color: #adb5bd;
  margin: 0 5px;
}

.editor-top-actions-tooltip .tooltip {
  padding: 0;
}
.editor-top-actions-tooltip .tooltip .tooltip-inner {
  background-color: #fff;
  padding: 0 5px;
  color: #343a40;
  font-size: 11px;
  font-weight: 700;
}

.draw-section-distance-indicator {
  position: fixed;
  z-index: 1050;
  pointer-events: none;
  background-color: rgba(89, 93, 113, 0.92);
  color: #fff;
  border-radius: 16px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0px 3px 6px #0000001A;
}

.draw-section-confirm-popup {
  position: fixed;
  z-index: 1051;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 3px 6px #0000001A;
  max-width: calc(100% - 24px);
  width: fit-content;
  box-sizing: border-box;
  overflow: hidden;
}
.draw-section-confirm-popup .draw-section-popup-drag-handle {
  height: 18px;
  margin-bottom: 2px;
  border-radius: 8px;
  background-color: #f5fff6;
  color: #5f6368;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
}
.draw-section-confirm-popup .draw-section-popup-drag-handle:hover {
  cursor: move;
  background-color: #ebf9ed;
}
.draw-section-confirm-popup .draw-section-popup-drag-handle i {
  font-size: 10px;
  line-height: 10px;
}
.draw-section-confirm-popup .draw-section-alternatives-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
}
.draw-section-confirm-popup .draw-section-stepper-label {
  min-width: 220px;
  font-size: 11px;
  font-weight: 700;
  color: #304a33;
  background-color: #f5fff6;
  border-radius: 8px;
  padding: 5px 8px;
}
.draw-section-confirm-popup .draw-section-chaining-summary {
  min-width: 220px;
  font-size: 12px;
  font-weight: 700;
  color: #304a33;
  background-color: #f5fff6;
  border-radius: 8px;
  padding: 8px;
}
.draw-section-confirm-popup .draw-section-chaining-summary .draw-section-chaining-summary-count {
  display: block;
  margin-bottom: 6px;
}
.draw-section-confirm-popup .draw-section-chaining-summary .draw-section-chaining-summary-helper {
  display: block;
  font-size: 11px;
  line-height: 1.35;
  color: #5f6368;
  font-weight: 500;
}
.draw-section-confirm-popup .draw-section-alternative-item {
  border: 1px solid rgba(48, 74, 51, 0.16);
  border-radius: 10px;
  padding: 6px;
  background-color: #fbfffb;
  text-align: left;
  width: fit-content;
  max-width: 100%;
}
.draw-section-confirm-popup .draw-section-alternative-item:hover {
  cursor: pointer;
  border-color: rgba(124, 58, 237, 0.6);
  background-color: rgba(124, 58, 237, 0.08);
}
.draw-section-confirm-popup .draw-section-alternative-item.active {
  border-color: #7C3AED;
  background-color: rgba(124, 58, 237, 0.12);
}
.draw-section-confirm-popup .draw-section-alternative-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 11px;
  font-weight: 700;
  color: #304a33;
  margin-bottom: 4px;
  gap: 20px;
}
.draw-section-confirm-popup .draw-section-alternative-content {
  width: fit-content;
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: stretch;
}
.draw-section-confirm-popup .draw-section-alternative-preview-column {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 4px;
  min-width: 0;
  flex: 0 1 auto;
}
.draw-section-confirm-popup .draw-section-alternative-preview {
  width: auto;
  max-width: 100%;
  min-height: 56px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  background-color: #fff;
  border: 1px solid rgba(48, 74, 51, 0.08);
  padding: 0;
  min-width: 0;
  flex: 0 1 auto;
}
.draw-section-confirm-popup .draw-section-alternative-preview-segment {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  background: transparent;
  padding: 0;
  margin: 0;
  flex: 0 0 auto;
}
.draw-section-confirm-popup .draw-section-alternative-preview-svg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
.draw-section-confirm-popup .draw-section-alternative-preview-svg svg {
  width: 100%;
  height: 100%;
}
.draw-section-confirm-popup .draw-section-preview-svg {
  display: block;
}
.draw-section-confirm-popup .draw-section-alternative-kpis {
  min-height: 76px;
  display: grid;
  grid-template-columns: 185px 100px;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  grid-auto-flow: column;
  gap: 4px 8px;
  align-items: stretch;
  min-width: 0;
  flex: 0 0 auto;
}
.draw-section-confirm-popup .draw-section-kpi-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 22px;
  padding: 2px 7px;
  border-radius: 6px;
  border: 1px solid rgba(48, 74, 51, 0.08);
  background: #fff;
}
.draw-section-confirm-popup .draw-section-kpi-label {
  font-size: 10px;
  line-height: 1.1;
  color: #5f6368;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.draw-section-confirm-popup .draw-section-kpi-value {
  font-size: 12px;
  line-height: 1.1;
  color: #304a33;
  font-weight: 900;
  white-space: nowrap;
  flex: 0 0 auto;
}
@media (max-width: 980px) {
  .draw-section-confirm-popup .draw-section-alternatives-list {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  .draw-section-confirm-popup .draw-section-alternative-content {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .draw-section-confirm-popup .draw-section-alternative-preview-column {
    width: 100%;
  }
  .draw-section-confirm-popup .draw-section-alternative-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    min-height: 0;
  }
  .draw-section-confirm-popup .draw-section-kpi-item {
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 22px;
  }
}
@media (max-width: 640px) {
  .draw-section-confirm-popup .draw-section-kpi-item {
    width: 100%;
  }
}
.draw-section-confirm-popup .draw-section-ai-corner-badge {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-flex;
  align-items: flex-end;
  max-width: calc(100% - 12px);
  z-index: 2;
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-triangle {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  box-sizing: border-box;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  border-bottom-left-radius: 12px;
  background: linear-gradient(145deg, rgba(124, 58, 237, 0.7), rgba(124, 58, 237, 0.5));
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-sparkle {
  width: 24px;
  height: 24px;
  color: #fff;
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-sparkle svg {
  width: 100%;
  height: 100%;
  display: block;
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-text {
  position: relative;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: -1px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0;
  background-color: #7C3AED;
  color: #fff;
  border-top-right-radius: 8px;
  transition: max-width 0.22s ease, opacity 0.18s ease, margin-left 0.22s ease, padding 0.22s ease;
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-text::before {
  content: "";
  position: absolute;
  left: -11px;
  bottom: 0;
  width: 12px;
  height: 100%;
  background-color: #7C3AED;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.draw-section-confirm-popup .draw-section-ai-corner-badge .draw-section-ai-corner-text::after {
  content: "";
  position: absolute;
  top: -18%;
  left: -48%;
  width: 38%;
  height: 136%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 42%, rgba(255, 255, 255, 0.65) 50%, rgba(255, 255, 255, 0.18) 58%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-30%) rotate(10deg);
  transition: transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.35s ease;
}
.draw-section-confirm-popup .draw-section-ai-corner-badge.expanded .draw-section-ai-corner-text {
  opacity: 1;
  max-width: 340px;
  margin-left: -1px;
  padding: 0 10px 0 13px;
  background-image: linear-gradient(135deg, #7c3aed 0%, #6315e9 100%);
}
.draw-section-confirm-popup .draw-section-ai-corner-badge.expanded .draw-section-ai-corner-text::after {
  opacity: 1;
  transform: translateX(0) rotate(10deg);
}
.draw-section-confirm-popup .draw-section-ai-corner-badge.expanded:hover .draw-section-ai-corner-text::after {
  transform: translateX(330%) rotate(10deg);
}
.draw-section-confirm-popup .draw-section-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}
.draw-section-confirm-popup .draw-section-confirm-btn {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}
.draw-section-confirm-popup .draw-section-confirm-btn:hover {
  cursor: pointer;
  opacity: 0.85;
}
.draw-section-confirm-popup .draw-section-confirm-btn.confirm {
  color: #fff;
  background-color: #7C3AED;
}
.draw-section-confirm-popup .draw-section-confirm-btn.retry {
  color: #fff;
  background-color: #4096DA;
}
.draw-section-confirm-popup .draw-section-confirm-btn.retry i {
  font-size: 14px;
}
.draw-section-confirm-popup .draw-section-confirm-btn.cancel {
  color: #fff;
  background-color: #8a374f;
}
.draw-section-confirm-popup .draw-section-loading-state {
  min-width: 220px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
  color: #304a33;
  padding: 2px 0;
}
.draw-section-confirm-popup .draw-section-loading-state .draw-section-loading-sparkle {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  color: #7C3AED;
  opacity: 0.35;
  animation: drawSectionLoadingSparkleBlink 1.5s ease-in-out infinite;
}
.draw-section-confirm-popup .draw-section-loading-state .draw-section-loading-sparkle svg {
  width: 100%;
  height: 100%;
  display: block;
}
.draw-section-confirm-popup .draw-section-loading-state .draw-section-loading-message {
  min-width: 0;
  opacity: 0;
  transition: opacity 0.26s ease;
}
.draw-section-confirm-popup .draw-section-loading-state .draw-section-loading-message.visible {
  opacity: 1;
}
@keyframes drawSectionLoadingSparkleBlink {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.04);
  }
}
.draw-section-confirm-popup .draw-section-error-state {
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #8a374f;
  background-color: #dfaebc;
  border-radius: 8px;
  padding: 10px 12px;
}
.draw-section-confirm-popup .draw-section-retry-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: none;
  border-radius: 6px;
  background-color: #8a374f;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  align-self: flex-start;
}
.draw-section-confirm-popup .draw-section-retry-btn:hover {
  opacity: 0.85;
}
.draw-section-confirm-popup .draw-section-retry-btn i {
  font-size: 11px;
}

.editor-compass-container {
  position: absolute;
  right: 5px;
  top: 10px;
  width: 100px;
  height: 100px;
  border-radius: 110px;
  z-index: 1001;
}
.pdf-viewer-panel--fullscreen .editor-compass-container {
  z-index: 1;
  pointer-events: none;
}
.editor-compass-container > div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.editor-compass-container .north-letter {
  position: absolute;
  top: 0;
  color: #304a33;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 25px;
  font-weight: bold;
}
.editor-compass-container .compass-icon {
  position: absolute;
  width: 55px;
  height: 55px;
  font-size: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.editor-compass-container .compass-icon:hover {
  cursor: pointer;
  opacity: 0.75;
}

.editor-layers-dropdown-toggler {
  position: absolute;
  top: 130px;
  right: 36px;
  background-color: white;
  border-radius: 36px;
}
.editor-layers-dropdown-toggler .dropdown-checkboxes-list-container {
  max-height: unset;
}
.editor-layers-dropdown-toggler > button {
  width: 36px;
  height: 36px;
  border-radius: 36px !important;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
}
.editor-layers-dropdown-toggler > button:active {
  color: #378a41 !important;
  background-color: transparent !important;
}
.editor-layers-dropdown-toggler > button:focus {
  box-shadow: none;
  color: #378a41 !important;
  background-color: transparent;
}
.editor-layers-dropdown-toggler > button:hover {
  color: #378a41 !important;
  background-color: transparent;
  opacity: 0.75;
}

.editor-dimension-mode-toggler-container {
  position: absolute;
  right: 5px;
  bottom: 76px;
  width: 100px;
  height: 100px;
  z-index: 1001;
}
.editor-dimension-mode-toggler-container > div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
.editor-dimension-mode-toggler-container .dimension-mode-button {
  position: absolute;
  background-color: #304a33;
  color: #fff;
  border-radius: 35px;
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
}
.editor-dimension-mode-toggler-container .dimension-mode-button:hover {
  cursor: pointer;
  opacity: 0.75;
}
.editor-dimension-mode-toggler-container .three-dim-orthographic-text {
  font-size: 13px;
}
.editor-dimension-mode-toggler-container .direction-indicator {
  position: absolute;
  border: 3px solid #378a41;
  width: 76px;
  height: 76px;
  border-radius: 76px;
}
.editor-dimension-mode-toggler-container .direction-indicator.disabled {
  border-color: rgba(55, 138, 65, 0.35);
}
.editor-dimension-mode-toggler-container .direction-indicator.disabled .direction-indicator-circle {
  cursor: default;
  background-color: rgba(55, 138, 65, 0.35);
  box-shadow: none;
}
.editor-dimension-mode-toggler-container .direction-indicator > div {
  position: relative;
  width: 100%;
  height: 100%;
}
.editor-dimension-mode-toggler-container .direction-indicator .direction-indicator-circle {
  position: absolute;
  left: 25px;
  top: -10px;
  width: 20px;
  height: 20px;
  cursor: grab;
  touch-action: none;
  background-color: #378a41;
  border: 3px solid #fff;
  border-radius: 20px;
  box-shadow: 0px 3px 6px #0000001A;
}

.editor-extruding-floors-amount-text {
  position: absolute;
  font-size: 50px;
  font-weight: 700;
  color: #304a33;
  text-align: center;
  pointer-events: none;
}

.editor-variant-info {
  position: absolute;
  display: flex;
  flex-direction: column;
  pointer-events: none;
  background-color: white;
  padding: 10px;
  border: 1px solid #adb5bd;
  border-radius: 5px;
}
.editor-variant-info > :not(:last-child) {
  margin-bottom: 4px;
}
.editor-variant-info .row-info {
  display: flex;
  flex-direction: row;
  font-size: 13px;
  white-space: nowrap;
}
.editor-variant-info .row-info .label {
  color: #adb5bd;
  margin-right: 5px;
}
.editor-variant-info .row-info .value {
  font-weight: 700;
}

.fps-counter {
  position: absolute;
  left: 0;
  bottom: 0;
}

.editor-scales-container {
  position: absolute;
  bottom: 55px;
  left: 0;
  display: flex;
}
.editor-scales-container.no-stats {
  bottom: 0;
}
.editor-scales-container > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.editor-scales-container > :not(:last-child) {
  margin-right: 5px;
}
.editor-scales-container .scale-container {
  display: flex;
  flex-direction: column-reverse;
  padding: 5px;
  justify-content: flex-end;
  background-color: white;
  border-radius: 5px;
}
.editor-scales-container .scale-container .scale-label {
  text-align: center;
  margin-top: 5px 0;
  font-size: 13px;
  font-weight: 700;
}
.editor-scales-container .scale-container .scale-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.editor-scales-container .scale-container .scale-row .scale-color {
  width: 25px;
  height: 18px;
  margin-right: 10px;
}
.editor-scales-container .scale-container .scale-row .scale-label {
  font-weight: 700;
  font-size: 13px;
  line-height: 13px;
}

.editor-graphic-scale-container {
  position: absolute;
  right: 14px;
  bottom: 18px;
  z-index: 1001;
}
.pdf-viewer-panel--fullscreen .editor-graphic-scale-container {
  z-index: 1;
  pointer-events: none;
}
.editor-graphic-scale-container .graphic-scale-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background-color: white;
  border-radius: 5px;
}
.editor-graphic-scale-container .graphic-scale-bar {
  position: relative;
  min-width: 40px;
  height: 12px;
  border-bottom: 2px solid #313a46;
  border-left: 2px solid #313a46;
  border-right: 2px solid #313a46;
  box-sizing: border-box;
}
.editor-graphic-scale-container .graphic-scale-label {
  font-size: 12px;
  line-height: 12px;
  font-weight: 700;
  color: #313a46;
  white-space: nowrap;
}

.editor-sidebar-building-requirements-row-form-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.editor-sidebar-building-requirements-row-form-group label {
  margin-bottom: 0;
}

.editor-sidebar-building-requirements-input-group input {
  text-align: left;
}
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--valid {
  background-color: rgba(46, 125, 50, 0.16);
}
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--valid .form-control,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--valid .input-group-append,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--valid .input-group-text,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--valid .custom-input-unit {
  background-color: transparent;
}
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--no-valid {
  background-color: rgba(138, 55, 79, 0.2);
}
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--no-valid .form-control,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--no-valid .input-group-append,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--no-valid .input-group-text,
.editor-sidebar-building-requirements-input-group.regulations-field-input-group--no-valid .custom-input-unit {
  background-color: transparent;
}

.editor-sidebar-building-requirements-save-wrapper {
  position: sticky;
  bottom: 0;
  background-color: #fff;
  border-top: 1px solid #e3eaef;
  padding: 10px 0 12px;
  z-index: 10;
}

.editor-sidebar-building-requirements-save-button {
  width: 100%;
}
.editor-sidebar-building-requirements-save-button:disabled {
  background-color: #dee2e6 !important;
  border-color: #dee2e6 !important;
  color: #98a6ad !important;
  cursor: not-allowed !important;
  opacity: 0.65;
}

.regulations-field {
  display: flex;
  flex-direction: column;
}
.regulations-field:not(:last-child) {
  margin-bottom: 6px;
}

.regulations-field-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.regulations-field-header .regulations-field-info-button {
  flex-shrink: 0;
  margin-top: 2px;
}
.regulations-field-header.toggler {
  align-items: center;
  padding: 6px 8px;
  border-radius: 5px;
  background-color: rgba(229, 255, 232, 0.35);
  border: 1px solid rgba(55, 138, 65, 0.14);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.regulations-field-header.toggler:hover {
  background-color: rgba(229, 255, 232, 0.6);
  border-color: rgba(55, 138, 65, 0.3);
}
.regulations-field-header.toggler .regulations-field-title {
  margin: 0;
}
.regulations-field-header.toggler .regulations-field-info-button {
  margin-top: 0;
}

.regulations-field-header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.regulations-field-chevron {
  display: inline-block;
  font-size: 11px;
  color: #98a6ad;
  margin-right: 4px;
  transition: transform 0.2s ease;
}
.regulations-field-chevron.open {
  transform: rotate(180deg);
}

.regulations-field-collapse-body {
  padding: 10px 4px 4px;
}

.regulations-field-input-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.regulations-field-switch-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.regulations-field-input-info-button {
  flex-shrink: 0;
  margin-top: 0;
}

.regulations-field-switch--valid .editor-sidebar-building-requirements-row-form-group {
  background-color: rgba(46, 125, 50, 0.16);
  border-radius: 5px;
  padding: 6px 8px;
}

.regulations-field-switch--no-valid .editor-sidebar-building-requirements-row-form-group {
  background-color: rgba(221, 108, 221, 0.45);
  border-radius: 5px;
  padding: 6px 8px;
}

.regulations-field-title {
  font-size: 14px;
  line-height: 19px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 12px 0 8px;
}

.regulations-field-subsection {
  display: flex;
  flex-direction: column;
  padding-left: 10px;
  margin-bottom: 8px;
  border-left: 2px solid #e3eaef;
}

.regulations-field-subtitle {
  font-size: 13px;
  line-height: 17px;
  font-weight: 700;
  margin-bottom: 6px;
}

.regulations-field-array-item:not(:last-child) {
  margin-bottom: 6px;
}

.regulations-field-array-item-title {
  display: block;
  font-size: 12px;
  line-height: 15px;
  font-weight: 700;
  color: #98a6ad;
  margin-bottom: 4px;
}

.editor-sidebar-solar-analysis-row-form-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.solar-analysis-epw-url-form-group {
  margin-bottom: 5px;
}

.solar-analysis-section-error {
  font-size: 14px;
  margin-bottom: 5px;
  text-align: center;
  color: #8a374f;
  font-weight: 700;
  margin-top: 5px;
}

.editor-sidebar-kpi-form .form-group {
  margin-bottom: 5px;
}
.editor-sidebar-kpi-form > :last-child {
  margin-bottom: 30px;
}

.editor-sidebar-kpi-row-form-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.editor-changle-angle-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.editor-change-angle-input-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  position: absolute;
  background-color: #fff;
  box-shadow: 0px 3px 6px #0000001A;
  border-radius: 5px;
  border: 1px solid #adb5bd;
}

.editor-changle-floors-amount-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.editor-change-floors-amount-input-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  position: absolute;
  background-color: #fff;
  box-shadow: 0px 3px 6px #0000001A;
  border-radius: 5px;
  border: 1px solid #adb5bd;
}

.editor-selection-rectangle {
  position: absolute;
  border: 1px solid #378a41;
  pointer-events: none;
}

.editor-pdf-export-hint-container {
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  display: flex;
  justify-content: center;
  z-index: 1001;
}
.editor-pdf-export-hint-container > div {
  height: fit-content;
  background-color: #fff;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  font-weight: 700;
  padding: 5px 10px;
  font-size: 16px;
  text-align: center;
  box-shadow: 0px 3px 6px #0000001A;
}

.editor-pdf-export-actions-container {
  position: absolute;
  width: 100%;
  bottom: 0;
  display: flex;
  justify-content: center;
  height: 0;
  z-index: 1001;
}
.editor-pdf-export-actions-container > div {
  height: fit-content;
  position: absolute;
  bottom: 10px;
}
.editor-pdf-export-actions-container > div > button {
  min-width: 100px;
}
.editor-pdf-export-actions-container > div > :not(:last-child) {
  margin-right: 10px;
}

.editor-pdf-export-frame {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

.editor-pdf-export-loading-container {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1002;
}
.editor-pdf-export-loading-container .error-container {
  background-color: #fff;
  border-radius: 5px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.editor-pdf-export-loading-container .error-container .error-message {
  text-align: center;
  max-width: 250px;
  color: #8a374f;
  font-weight: 700;
  margin-bottom: 10px;
}
.editor-pdf-export-loading-container .error-container .buttons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.editor-pdf-export-loading-container .error-container .buttons-container > button {
  min-width: 100px;
}
.editor-pdf-export-loading-container .error-container .buttons-container > :not(:last-child) {
  margin-right: 10px;
}

.projects-list-container {
  --app-images-footer-safe-space: 72px;
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: auto;
  padding-bottom: var(--app-images-footer-safe-space);
  box-sizing: border-box;
}

.project-list-fullscreen-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1500;
  background-color: rgba(0, 0, 0, 0.2);
}

.projects-list-container-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  max-width: 1000px;
  margin: 0 auto;
}

.projects-list-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 0 10px;
}
.projects-list-header .projects-list-title {
  font-size: 19px;
  letter-spacing: 0.8px;
  margin-bottom: 0;
  font-weight: 700;
  text-transform: uppercase;
}
.projects-list-header .projects-list-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
}
.projects-list-header .projects-list-actions > :not(:last-child) {
  margin-right: 15px;
}

.projects-list-refresh-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  justify-content: center;
}
.projects-list-refresh-button > span {
  margin-right: 5px;
  font-size: 17px;
  line-height: 18px;
  margin-bottom: -3px;
}

.projects-list-new-project-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  justify-content: center;
}
.projects-list-new-project-button > span {
  margin-right: 5px;
  font-size: 25px;
  line-height: 20px;
  margin-bottom: -3px;
}

.projects-list-row {
  width: 100%;
  margin-top: 20px;
  padding-bottom: 60px;
}

.project-list-item .image {
  width: 100%;
  height: 100px;
  margin-top: 10px;
  border-radius: 5px;
}
.project-list-item .open-button {
  font-size: 14px;
  width: 100%;
  margin-top: 15px;
}

@media only screen and (max-width: 576px) {
  .projects-list-container-inner {
    padding-bottom: 15px;
  }

  .projects-list-container {
    --app-images-footer-safe-space: 112px;
  }
}
@media only screen and (min-width: 1400px) {
  .projects-list-container-inner {
    max-width: 1200px;
  }
}
.catalogs-list-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: auto;
}

.catalogs-list-container-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  max-width: 1000px;
  margin: 0 auto;
}

.catalogs-list-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 0 10px;
}
.catalogs-list-header .catalogs-list-title {
  font-size: 19px;
  letter-spacing: 0.8px;
  margin-bottom: 0;
  font-weight: 700;
  text-transform: uppercase;
}
.catalogs-list-header .catalogs-list-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
}
.catalogs-list-header .catalogs-list-actions > :not(:last-child) {
  margin-right: 15px;
}

.catalogs-list-save-button {
  font-size: 14px;
  line-height: 18px;
}

.catalogs-list-editor {
  width: 100%;
  margin-top: 20px;
  padding: 0 10px 24px;
}
.catalogs-list-editor:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.catalog-editor {
  width: 100%;
}

@media only screen and (min-width: 1400px) {
  .catalogs-list-container-inner {
    max-width: 1200px;
  }
}
.catalog-editor .section-types-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.catalog-editor .section-types-header .new-section-type-button {
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 16px;
  transition: opacity 0.15s ease;
}
.catalog-editor .section-types-header .new-section-type-button > span {
  margin-right: 5px;
  font-size: 16px;
  line-height: 16px;
}
.catalog-editor .section-types-header .new-section-type-button:hover {
  opacity: 0.85;
}
.catalog-editor .section-types-list {
  display: flex;
  flex-direction: column;
}
.catalog-editor .section-types-list > :not(:last-child) {
  margin-bottom: 15px;
}
.catalog-editor .section-type-item {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  padding: 12px 15px;
}
.catalog-editor .section-type-item .name-row {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.catalog-editor .section-type-item .name-row .name {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 0;
}
.catalog-editor .section-type-item .name-row .icons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
}
.catalog-editor .section-type-item .name-row .icons-container > :not(:last-child) {
  margin-right: 4px;
}
.catalog-editor .section-type-item .section-type-description {
  font-size: 13px;
  color: #adb5bd;
  margin-bottom: 8px;
}
.catalog-editor .section-type-item .no-variants-text {
  font-size: 13px;
  color: #adb5bd;
  margin-bottom: 0;
}
.catalog-editor .section-variants-list {
  display: flex;
  flex-direction: column;
}
.catalog-editor .section-variants-list > :not(:last-child) {
  margin-bottom: 5px;
}
.catalog-editor .section-variant-row {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.03);
  transition: background-color 0.15s ease;
}
.catalog-editor .section-variant-row:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.catalog-editor .section-variant-row .variant-preview {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.04);
  border-radius: 6px;
  overflow: hidden;
}
.catalog-editor .section-variant-row .variant-preview .section-preview-svg {
  width: 100%;
  height: 100%;
}
.catalog-editor .section-variant-row .variant-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-right: auto;
}
.catalog-editor .section-variant-row .variant-info .variant-name {
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.catalog-editor .section-variant-row .variant-info .variant-code {
  font-size: 12px;
  color: #adb5bd;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.catalog-editor .section-variant-row .icons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 10px;
  flex-shrink: 0;
}
.catalog-editor .section-variant-row .icons-container > :not(:last-child) {
  margin-right: 4px;
}
.catalog-editor .edit-icon,
.catalog-editor .delete-icon,
.catalog-editor .upload-icon,
.catalog-editor .download-icon {
  width: 26px;
  height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  transition: background-color 0.15s ease, opacity 0.15s ease;
}
.catalog-editor .edit-icon:hover,
.catalog-editor .delete-icon:hover,
.catalog-editor .upload-icon:hover,
.catalog-editor .download-icon:hover {
  cursor: pointer;
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.08);
}
.catalog-editor .edit-icon,
.catalog-editor .upload-icon,
.catalog-editor .download-icon {
  color: #378a41;
}
.catalog-editor .edit-icon:hover,
.catalog-editor .upload-icon:hover,
.catalog-editor .download-icon:hover {
  background-color: rgba(55, 138, 65, 0.12);
}
.catalog-editor .delete-icon {
  color: #8a374f;
}
.catalog-editor .delete-icon:hover {
  background-color: rgba(138, 55, 79, 0.12);
}
.catalog-editor .saving-error {
  color: #8a374f;
  font-size: 13px;
  margin-top: 10px;
  margin-bottom: 0;
}

@media only screen and (max-width: 576px) {
  .catalog-editor .section-variant-row .variant-info .variant-code {
    display: none;
  }
}
.scenarios-list-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: hidden;
}

.scenario-list-fullscreen-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1500;
  background-color: rgba(0, 0, 0, 0.2);
}

.scenarios-list-container-inner {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  overflow: auto;
  margin: 0 auto;
}

.scenarios-list-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 0 10px;
}
.scenarios-list-header > :not(:last-child) {
  margin-right: 15px;
}

.scenarios-list-header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: auto;
}
.scenarios-list-header-actions > :not(:last-child) {
  margin-right: 15px;
}

.scenarios-list-refresh-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.5;
  justify-content: center;
}
.scenarios-list-refresh-button > span {
  margin-right: 5px;
  font-size: 17px;
  line-height: 20px;
  margin-bottom: -3px;
}

.scenarios-list-new-scenario-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  min-width: 180px;
  justify-content: center;
}
.scenarios-list-new-scenario-button > span {
  margin-right: 5px;
  font-size: 25px;
  line-height: 20px;
  margin-bottom: -3px;
}

.ifc-visor-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: hidden;
  flex-direction: column;
}
.ifc-visor-container .project-creator-submenu {
  position: relative;
  z-index: 20;
}

.ifc-visor-container--embedded {
  position: relative;
  inset: auto;
}

.ifc-visor-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 15px 10px;
  border-bottom: 1px solid #e0e0e0;
  background-color: #f8f9fa;
}

.ifc-visor-back-button {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.5;
  justify-content: center;
}
.ifc-visor-back-button > span {
  margin-right: 5px;
  font-size: 17px;
  line-height: 20px;
  margin-bottom: -3px;
}

.ifc-visor-content {
  display: flex;
  width: 100%;
  height: auto;
  flex: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.ifc-visor-content > iframe {
  width: 100%;
  height: 100%;
}

.ifc-visor-loading-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(248, 250, 253, 0.88) 0%, rgba(238, 244, 252, 0.9) 100%);
  backdrop-filter: blur(1px);
}

.ifc-visor-error-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 20, 44, 0.38);
}

.ifc-visor-loading-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(92%, 420px);
  padding: 20px 24px;
  border: 1px solid rgba(16, 38, 90, 0.14);
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(16, 38, 90, 0.14);
  text-align: center;
}

.ifc-visor-loading-title {
  margin: 0;
  color: #10265a;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.ifc-visor-loading-message {
  margin: 0;
  color: rgba(16, 38, 90, 0.78);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.ifc-visor-error-card {
  gap: 12px;
}

.ifc-visor-debug-endpoint {
  word-break: break-all;
  font-size: 12px;
  color: rgba(16, 38, 90, 0.74);
}

.ifc-visor-retry-button {
  border: 0;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, #0f4f8f 0%, #1672be 100%);
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.ifc-visor-retry-button:hover, .ifc-visor-retry-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(16, 38, 90, 0.26);
  outline: none;
}

.ifc-visor-back-button-wrapper {
  position: absolute;
  top: 64px;
  left: 12px;
  z-index: 30;
}

.regulations-list-container {
  --app-images-footer-safe-space: 72px;
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: auto;
  padding-bottom: var(--app-images-footer-safe-space);
  box-sizing: border-box;
}

.regulations-list-container-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  max-width: 1000px;
  margin: 0 auto;
}

.regulations-list-empty {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 20px;
  color: #adb5bd;
  font-size: 14px;
}

.regulations-list-section {
  width: 100%;
  margin-top: 10px;
}
.regulations-list-section + .regulations-list-section {
  margin-top: 8px;
}

.regulations-list-section-title {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 10px;
  gap: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #adb5bd;
}
.regulations-list-section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e3eaef;
}

.regulations-list-row {
  width: 100%;
  margin-top: 12px;
}

@media only screen and (max-width: 576px) {
  .regulations-list-container {
    --app-images-footer-safe-space: 112px;
  }

  .regulations-list-container-inner {
    padding-bottom: 15px;
  }
}
@media only screen and (min-width: 1400px) {
  .regulations-list-container-inner {
    max-width: 1200px;
  }
}
/* Regulations Detail Page */
.regulations-detail-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: hidden;
}

.regulations-detail-not-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 16px;
  color: #adb5bd;
}

.regulations-detail-header {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  border-bottom: 1px solid #e3eaef;
  flex-shrink: 0;
  gap: 16px;
}

.regulations-detail-back-button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #98a6ad;
  padding: 4px;
  text-decoration: none;
}
.regulations-detail-back-button:hover {
  color: #378a41;
  text-decoration: none;
}
.regulations-detail-back-button svg {
  width: 24px;
  height: 24px;
  display: block;
}

.regulations-detail-header-info {
  display: flex;
  flex-direction: column;
}

.regulations-detail-title {
  font-size: 16px;
  font-weight: 900;
  margin: 0;
  letter-spacing: 0.5px;
}

.regulations-detail-subtitle {
  font-size: 12px;
  color: #adb5bd;
}

.regulations-detail-content {
  display: flex;
  flex: 1;
  overflow: hidden;
  padding: 15px;
  gap: 15px;
}

.regulations-detail-parameters {
  width: 350px;
  min-width: 350px;
  border: 1px solid #e3eaef;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.regulations-detail-zone-selector {
  padding: 12px 15px;
  border-bottom: 1px solid #e3eaef;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.regulations-detail-zone-selector-label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #adb5bd;
}

.regulations-detail-parameters-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
}

.regulations-detail-viewer {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .regulations-detail-content {
    flex-direction: column;
    padding: 12px;
    gap: 12px;
    overflow-y: auto;
  }

  .regulations-detail-parameters {
    width: 100%;
    min-width: unset;
    max-height: 45vh;
  }

  .regulations-detail-viewer {
    min-height: 60vh;
  }

  .regulations-detail-header {
    padding: 10px 12px;
  }

  .regulations-detail-title {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .regulations-detail-parameters {
    max-height: 40vh;
  }
}
.costs-page {
  overflow: auto;
  padding: 24px;
}
.costs-page .list-header {
  max-width: 1440px;
  margin: 0 auto 18px;
  padding: 0;
}
.costs-page .list-header .list-header-actions .btn {
  min-width: 92px;
}

.costs-table-wrapper {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: auto;
  border: 1px solid rgba(55, 138, 65, 0.28);
  border-radius: 8px;
  background-color: #fff;
}

.costs-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.costs-table th,
.costs-table td {
  padding: 8px 10px;
  border: 1px solid rgba(55, 138, 65, 0.15);
  vertical-align: middle;
}
.costs-table th {
  background-color: rgba(55, 138, 65, 0.06);
  color: #378a41;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}
.costs-table td {
  color: #313a46;
  font-size: 12px;
  line-height: 1.25;
  word-break: break-word;
}
.costs-table tbody tr:nth-child(even) {
  background-color: rgba(55, 138, 65, 0.025);
}
.costs-table th:first-child,
.costs-table td:first-child {
  font-weight: 600;
}
.costs-table th:nth-child(2),
.costs-table td:nth-child(2) {
  white-space: normal;
}
.costs-table th:last-child,
.costs-table td:last-child {
  text-align: left;
  white-space: nowrap;
}
.costs-table .costs-actions-header,
.costs-table .costs-actions-cell {
  display: block;
  width: 100%;
  text-align: left;
}
.costs-table .costs-actions-cell .table-actions-row-container {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  gap: 8px;
}
.costs-table .costs-actions-cell .table-actions-row-container .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
}
.costs-table .costs-actions-cell .table-actions-row-container .btn:disabled {
  background: transparent;
}
.costs-table .costs-actions-cell .table-actions-row-container .btn span {
  font-size: 18px;
}
.costs-table .costs-viva-metrics {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.costs-table .costs-viva-metric {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.costs-table .costs-viva-metric-label {
  color: #707070;
}
.costs-table .costs-viva-metric-value {
  white-space: nowrap;
}

@media only screen and (max-width: 576px) {
  .costs-page {
    padding: 16px 10px;
  }
}
.kpi-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.kpi-panel-tabs {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid rgba(55, 138, 65, 0.25);
}

.kpi-panel-tab {
  background: none;
  border: none;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(55, 138, 65, 0.6);
  cursor: pointer;
  border-bottom: 2px solid transparent;
}
.kpi-panel-tab.active {
  color: #378a41;
  border-bottom-color: #378a41;
}

.kpi-panel-content {
  display: flex;
  flex-direction: column;
}

.kpi-tab-loading-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(280px, 54vh, 620px);
  width: 100%;
}

.kpi-tab-loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 460px;
  min-height: 0;
  padding: 24px 12px;
  color: rgba(55, 138, 65, 0.85);
  text-align: center;
}
.kpi-tab-loading-state p {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2px;
}

.kpi-urbanisticos {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.kpi-sustainability--loading {
  min-height: clamp(280px, 54vh, 620px);
  justify-content: center;
}
.kpi-sustainability--loading .long-loading-state {
  flex: 1;
  min-height: 100%;
}

.kpi-sustainability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}
.kpi-sustainability-grid .kpi-sustainability-gauge {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .kpi-sustainability-grid {
    grid-template-columns: 1fr;
  }
}

.kpi-sustainability-values {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(55, 138, 65, 0.3);
  border-radius: 8px;
  background-color: #fff;
}
.kpi-sustainability-values table {
  width: 100%;
  min-width: 600px;
  table-layout: fixed;
  border-collapse: collapse;
}
.kpi-sustainability-values th,
.kpi-sustainability-values td {
  padding: 8px 10px;
  border: 1px solid rgba(55, 138, 65, 0.15);
  font-size: 12px;
}
.kpi-sustainability-values th {
  background-color: rgba(55, 138, 65, 0.06);
  color: #378a41;
  font-weight: 700;
  text-align: left;
}
.kpi-sustainability-values th:first-child,
.kpi-sustainability-values td:first-child {
  width: 60%;
}
.kpi-sustainability-values th:nth-child(2),
.kpi-sustainability-values td:nth-child(2) {
  width: 20%;
  text-align: right;
}
.kpi-sustainability-values th:nth-child(3),
.kpi-sustainability-values td:nth-child(3) {
  width: 20%;
}
.kpi-sustainability-values tbody tr:nth-child(even) {
  background-color: rgba(55, 138, 65, 0.025);
}
.kpi-sustainability-values td:nth-child(2),
.kpi-sustainability-values td:nth-child(3) {
  white-space: nowrap;
}

.kpi-sustainability-clock-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 16px;
  border: 1px solid rgba(55, 138, 65, 0.3);
  border-radius: 8px;
  background-color: #fff;
  box-sizing: border-box;
}

.kpi-table {
  border: 1px solid rgba(55, 138, 65, 0.3);
  border-radius: 8px;
  overflow: hidden;
}

.kpi-table-split-layout {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0;
  width: 100%;
}
.kpi-table-split-layout .kpi-table-grid {
  flex: 1 1 calc(100% / var(--split-columns, 2));
  min-width: 0;
  width: calc(100% / var(--split-columns, 2));
  table-layout: fixed;
  border-right: 1px solid rgba(55, 138, 65, 0.15);
}
.kpi-table-split-layout .kpi-table-grid th,
.kpi-table-split-layout .kpi-table-grid td {
  white-space: normal;
  line-height: 1.25;
}
.kpi-table-split-layout .kpi-table-grid .kpi-table-row-label {
  min-width: 220px;
  width: 220px;
}
.kpi-table-split-layout .kpi-table-grid:last-child {
  border-right: none;
}

.kpi-table-title {
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #378a41;
  border-bottom: 1px solid rgba(55, 138, 65, 0.3);
}

.kpi-table-grid {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.kpi-table-grid th,
.kpi-table-grid td {
  padding: 5px 8px;
  border: 1px solid rgba(55, 138, 65, 0.15);
  text-align: left;
  font-size: 12px;
}
.kpi-table-grid th {
  font-size: 13px;
  font-weight: 700;
  color: #378a41;
}
.kpi-table-grid .kpi-table-row-label {
  font-weight: 600;
  width: 280px;
  min-width: 180px;
  white-space: normal;
  line-height: 1.25;
  color: #313a46;
}
.kpi-table-grid th:not(.kpi-table-row-label),
.kpi-table-grid td:not(.kpi-table-row-label) {
  word-break: break-word;
}
.kpi-table-grid .kpi-value-neutral {
  color: #313a46;
}
.kpi-table-grid .kpi-value-ok {
  color: #2e7d32;
  font-weight: 600;
}
.kpi-table-grid .kpi-value-fail {
  color: #c62828;
  font-weight: 600;
}
.kpi-table-grid tr.kpi-row-highlight td,
.kpi-table-grid tr.kpi-row-highlight th {
  background-color: rgba(40, 167, 69, 0.16);
}

.kpi-resumen {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.kpi-summary-table-wrapper {
  width: 100%;
  border: 1px solid rgba(55, 138, 65, 0.3);
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
}

.kpi-summary-section-title {
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #378a41;
  border-bottom: 1px solid rgba(55, 138, 65, 0.3);
}

.kpi-summary-table-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.kpi-summary-table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border-collapse: collapse;
}
.kpi-summary-table th,
.kpi-summary-table td {
  padding: 5px 6px;
  border: 1px solid rgba(55, 138, 65, 0.15);
  font-size: 11px;
  line-height: 1.15;
  vertical-align: middle;
}
.kpi-summary-table th {
  font-size: 11px;
  font-weight: 700;
  color: #378a41;
  text-align: center;
}
.kpi-summary-table td {
  color: #313a46;
  text-align: right;
  white-space: nowrap;
}
.kpi-summary-table tbody td:first-child {
  text-align: left;
}

.kpi-summary-table-residential {
  min-width: 1450px;
}
.kpi-summary-table-residential th,
.kpi-summary-table-residential td {
  min-width: 75px;
  width: 90px;
}
.kpi-summary-table-residential th:first-child,
.kpi-summary-table-residential td:first-child {
  width: 42px;
  min-width: 42px;
}
.kpi-summary-table-residential th:nth-child(2),
.kpi-summary-table-residential td:nth-child(2) {
  width: 58px;
  min-width: 58px;
}
.kpi-summary-table-residential th:nth-child(3),
.kpi-summary-table-residential td:nth-child(3) {
  width: 68px;
  min-width: 68px;
}
.kpi-summary-table-residential th:nth-child(4),
.kpi-summary-table-residential td:nth-child(4) {
  width: 62px;
  min-width: 62px;
}
.kpi-summary-table-residential th:last-child,
.kpi-summary-table-residential td:last-child {
  width: 100px;
  min-width: 100px;
}

.kpi-summary-column-index-row th {
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 9px;
  font-weight: 500;
  color: rgba(49, 58, 70, 0.55);
  background-color: #fff;
  border-top: none;
  border-bottom: 1px solid rgba(55, 138, 65, 0.1);
}

.kpi-summary-header-highlight {
  background-color: rgba(40, 167, 69, 0.12);
}

.kpi-summary-cell-highlight {
  background-color: rgba(40, 167, 69, 0.16);
  color: #2e7d32 !important;
  font-weight: 600;
}

.kpi-summary-cell-magenta {
  background-color: rgba(138, 55, 79, 0.45);
  color: #313a46 !important;
  font-weight: 600;
}

.kpi-summary-total-row td {
  font-weight: 600;
  border-top: 2px solid rgba(55, 138, 65, 0.3);
}

.kpi-summary-residential-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 70px;
  min-height: 28px;
  padding: 3px 10px 5px;
  border-top: 1px solid rgba(55, 138, 65, 0.15);
}

.kpi-summary-footer-value {
  font-size: 11px;
  font-weight: 600;
  color: #313a46;
}

.kpi-summary-table:not(.kpi-summary-table-residential) {
  min-width: 650px;
}
.kpi-summary-table:not(.kpi-summary-table-residential) th:first-child,
.kpi-summary-table:not(.kpi-summary-table-residential) td:first-child {
  width: 45%;
}
.kpi-summary-table:not(.kpi-summary-table-residential) th:not(:first-child),
.kpi-summary-table:not(.kpi-summary-table-residential) td:not(:first-child) {
  width: 18.333%;
}

.kpi-summary-computable {
  width: 100%;
  border: 1px solid rgba(55, 138, 65, 0.3);
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
}

.kpi-summary-computable-title {
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #378a41;
  border-bottom: 1px solid rgba(55, 138, 65, 0.3);
}

.kpi-summary-computable-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.kpi-summary-computable-table td {
  padding: 6px 8px;
  border: 1px solid rgba(55, 138, 65, 0.15);
  font-size: 12px;
  line-height: 1.2;
  color: #313a46;
}
.kpi-summary-computable-table td:first-child {
  text-align: left;
  font-weight: 600;
}
.kpi-summary-computable-table td:last-child {
  width: 125px;
  text-align: right;
}

.kpi-summary-computable-table .kpi-summary-cell-highlight {
  background-color: rgba(40, 167, 69, 0.16);
  color: #2e7d32 !important;
  font-weight: 600;
}

.kpi-summary-maximum-row td {
  padding-top: 9px;
  padding-bottom: 9px;
  border-top: 2px solid rgba(55, 138, 65, 0.4);
  font-weight: 700;
}
.kpi-summary-maximum-row td:last-child {
  background-color: rgba(55, 138, 65, 0.06);
}

@media (max-width: 992px) {
  .kpi-summary-table-residential {
    min-width: 1250px;
  }

  .kpi-summary-table {
    font-size: 10px;
  }
  .kpi-summary-table th,
.kpi-summary-table td {
    padding: 4px 5px;
    font-size: 10px;
  }

  .kpi-summary-section-title,
.kpi-summary-computable-title {
    font-size: 11px;
  }
}
@media (max-width: 576px) {
  .kpi-panel-tab {
    padding: 8px 10px;
    font-size: 12px;
  }

  .kpi-summary-residential-footer {
    gap: 30px;
  }

  .kpi-summary-footer-value {
    font-size: 10px;
  }
}
.settings-form-container {
  max-width: 450px;
}

.my-profile-page-title {
  width: 100%;
  max-width: 500px;
  margin-top: 12px;
}

.my-profile-form-container {
  max-width: 500px;
}
.my-profile-form-container .form-group {
  margin-bottom: 10px;
}

.my-profile-modal-form .form-group {
  margin-bottom: 10px;
}

.users-centered-column-layout {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.users-centered-column-layout > .go-back-button {
  width: auto;
  max-width: none;
  align-self: flex-start;
  margin-left: max(0px, calc((100% - 500px) / 2));
  margin-right: auto;
  margin-top: 12px;
}
.users-centered-column-layout > .page-title,
.users-centered-column-layout > .page-status-alert,
.users-centered-column-layout > .user-form-container,
.users-centered-column-layout > .my-profile-form-container,
.users-centered-column-layout > .user-basic-data-preview-card {
  width: 100%;
  max-width: 500px;
}

.user-form-container {
  max-width: 500px;
}
.user-form-container .submit-container {
  display: flex;
  justify-content: flex-end;
  margin-top: 25px;
}
.user-form-container .form-group {
  margin-bottom: 10px;
}

.users-list-roles-container {
  display: flex;
  flex-direction: column;
}
.users-list-roles-container .role-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  white-space: nowrap;
}
.users-list-roles-container .role-container .role-dot {
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #304a33;
  margin-right: 5px;
}
.users-list-roles-container .role-container .role-label {
  font-size: 12px;
  font-weight: 700;
}

.users-list-counter-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: 10px;
  font-size: 12px;
}
.users-list-counter-container .label {
  margin-right: 5px;
}
.users-list-counter-container .value {
  font-weight: 700;
}

.users-list-container {
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: auto;
}

.users-list-container-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  max-width: 1000px;
  margin: 0 auto;
}

@media only screen and (min-width: 1400px) {
  .users-list-container-inner {
    max-width: 1200px;
  }
}
.user-basic-data-preview-card {
  max-width: 450px;
}
.user-basic-data-preview-card .info-row {
  display: flex;
  flex-direction: row;
}
.user-basic-data-preview-card .info-row .label {
  margin-right: 10px;
}
.user-basic-data-preview-card .info-row .value {
  font-weight: 700;
}
.user-basic-data-preview-card .info-row .values-list {
  display: flex;
  flex-direction: column;
}
.user-basic-data-preview-card .info-row .values-list .list-item {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.user-basic-data-preview-card .info-row .values-list .list-item .list-dot {
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #304a33;
  margin-right: 5px;
}
.user-basic-data-preview-card .info-row .values-list .list-item .value {
  font-weight: 700;
}
.user-basic-data-preview-card .info-row .values-list > :not(:last-child) {
  margin-bottom: 5px;
}

.selectBox {
  border: 1px solid #4096DA;
  background-color: rgba(64, 150, 218, 0.1);
  position: fixed;
}
