
/* Extracted from Bootstrap Reboot v5.3.8 */
/*!
 * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-gs-theme=light] {
  --gs-primary: #0076a1;
  --gs-brand-gradient: linear-gradient(to right, #cbe4a1 0%, #00abda 100%);
  --gs-secondary: #6c757d;
  --gs-success: #198754;
  --gs-info: #2cb5e8;
  --gs-warning: #ffc107;
  --gs-danger: #dc3545;
  --gs-light: #f8f9fa;
  --gs-dark: #212529;
  --gs-primary-rgb: 0, 118, 161;
  --gs-secondary-rgb: 108, 117, 125;
  --gs-success-rgb: 25, 135, 84;
  --gs-info-rgb: 44, 181, 232;
  --gs-warning-rgb: 255, 193, 7;
  --gs-danger-rgb: 220, 53, 69;
  --gs-light-rgb: 248, 249, 250;
  --gs-dark-rgb: 33, 37, 41;
  --gs-primary-text-emphasis: #004761;
  --gs-secondary-text-emphasis: #2b2f32;
  --gs-success-text-emphasis: #0a3622;
  --gs-info-text-emphasis: #004d66;
  --gs-warning-text-emphasis: #664d03;
  --gs-danger-text-emphasis: #58151c;
  --gs-light-text-emphasis: #495057;
  --gs-dark-text-emphasis: #495057;
  --gs-primary-bg-subtle: #e6f1f6;
  --gs-secondary-bg-subtle: #e2e3e5;
  --gs-success-bg-subtle: #d1e7dd;
  --gs-info-bg-subtle: #eaf8fd;
  --gs-warning-bg-subtle: #fff3cd;
  --gs-danger-bg-subtle: #f8d7da;
  --gs-light-bg-subtle: #fcfcfd;
  --gs-dark-bg-subtle: #ced4da;
  --gs-primary-border-subtle: #99c8d9;
  --gs-secondary-border-subtle: #c4c8cb;
  --gs-success-border-subtle: #a3cfbb;
  --gs-info-border-subtle: #b1e5f8;
  --gs-warning-border-subtle: #ffe69c;
  --gs-danger-border-subtle: #f1aeb5;
  --gs-light-border-subtle: #e9ecef;
  --gs-dark-border-subtle: #adb5bd;
  --gs-white-rgb: 255, 255, 255;
  --gs-black-rgb: 0, 0, 0;
  --gs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --gs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --gs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --gs-body-font-family: Tahoma, "Lucida Sans Unicode", "Lucida Grande", Verdana, sans-serif;
  --gs-body-font-size: 1rem;
  --gs-body-font-weight: 400;
  --gs-body-line-height: 1.5;
  --gs-body-color: #212529;
  --gs-body-color-rgb: 33, 37, 41;
  --gs-body-bg: #fff;
  --gs-body-bg-rgb: 255, 255, 255;
  --gs-emphasis-color: #000;
  --gs-emphasis-color-rgb: 0, 0, 0;
  --gs-secondary-color: rgba(33, 37, 41, 0.75);
  --gs-secondary-color-rgb: 33, 37, 41;
  --gs-secondary-bg: #e9ecef;
  --gs-secondary-bg-rgb: 233, 236, 239;
  --gs-tertiary-color: rgba(33, 37, 41, 0.5);
  --gs-tertiary-color-rgb: 33, 37, 41;
  --gs-tertiary-bg: #f8f9fa;
  --gs-tertiary-bg-rgb: 248, 249, 250;
  --gs-heading-color: inherit;
  --gs-link-color: #0076a1;
  --gs-link-color-rgb: 0, 118, 161;
  --gs-link-decoration: underline;
  --gs-link-hover-color: #005a7b;
  --gs-link-hover-color-rgb: 0, 90, 123;
  --gs-code-color: #d63384;
  --gs-highlight-color: #212529;
  --gs-highlight-bg: #fff3cd;
  --gs-border-width: 1px;
  --gs-border-style: solid;
  --gs-border-color: #dee2e6;
  --gs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --gs-border-radius: 0.375rem;
  --gs-border-radius-sm: 0.25rem;
  --gs-border-radius-lg: 0.5rem;
  --gs-border-radius-xl: 1rem;
  --gs-border-radius-xxl: 2rem;
  --gs-border-radius-2xl: var(--gs-border-radius-xxl);
  --gs-border-radius-pill: 50rem;
  --gs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --gs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --gs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --gs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --gs-focus-ring-width: 0.25rem;
  --gs-focus-ring-opacity: 0.25;
  --gs-focus-ring-color: rgba(0, 118, 161, 0.25);
  --gs-form-valid-color: #198754;
  --gs-form-valid-border-color: #198754;
  --gs-form-invalid-color: #dc3545;
  --gs-form-invalid-border-color: #dc3545;
}

[data-gs-theme=dark] {
  color-scheme: dark;
  --gs-body-color: #dee2e6;
  --gs-body-color-rgb: 222, 226, 230;
  --gs-body-bg: #212529;
  --gs-body-bg-rgb: 33, 37, 41;
  --gs-emphasis-color: #fff;
  --gs-emphasis-color-rgb: 255, 255, 255;
  --gs-secondary-color: rgba(222, 226, 230, 0.75);
  --gs-secondary-color-rgb: 222, 226, 230;
  --gs-secondary-bg: #343a40;
  --gs-secondary-bg-rgb: 52, 58, 64;
  --gs-tertiary-color: rgba(222, 226, 230, 0.5);
  --gs-tertiary-color-rgb: 222, 226, 230;
  --gs-tertiary-bg: #2b3035;
  --gs-tertiary-bg-rgb: 43, 48, 53;
  --gs-primary-text-emphasis: #4ba0c4;
  --gs-secondary-text-emphasis: #a7acb1;
  --gs-success-text-emphasis: #75b798;
  --gs-info-text-emphasis: #86d9f7;
  --gs-warning-text-emphasis: #ffda6a;
  --gs-danger-text-emphasis: #ea868f;
  --gs-light-text-emphasis: #f8f9fa;
  --gs-dark-text-emphasis: #dee2e6;
  --gs-primary-bg-subtle: #00222f;
  --gs-secondary-bg-subtle: #161719;
  --gs-success-bg-subtle: #051b11;
  --gs-info-bg-subtle: #052a36;
  --gs-warning-bg-subtle: #332701;
  --gs-danger-bg-subtle: #2c0b0e;
  --gs-light-bg-subtle: #343a40;
  --gs-dark-bg-subtle: #1a1d20;
  --gs-primary-border-subtle: #004761;
  --gs-secondary-border-subtle: #41464b;
  --gs-success-border-subtle: #0f5132;
  --gs-info-border-subtle: #005a7b;
  --gs-warning-border-subtle: #997404;
  --gs-danger-border-subtle: #842029;
  --gs-light-border-subtle: #495057;
  --gs-dark-border-subtle: #343a40;
  --gs-heading-color: inherit;
  --gs-link-color: #4ba0c4;
  --gs-link-hover-color: #79bad6;
  --gs-link-color-rgb: 75, 160, 196;
  --gs-link-hover-color-rgb: 121, 186, 214;
  --gs-code-color: #e685b5;
  --gs-highlight-color: #dee2e6;
  --gs-highlight-bg: #664d03;
  --gs-border-color: #495057;
  --gs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --gs-form-valid-color: #75b798;
  --gs-form-valid-border-color: #75b798;
  --gs-form-invalid-color: #ea868f;
  --gs-form-invalid-border-color: #ea868f;
}

/* Customized version of Bootstrap Reboot */
/* Removed CSS variables and replaced prefix --bs- to --gs- */
/*!
 * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--gs-body-font-family);font-size:var(--gs-body-font-size);font-weight:var(--gs-body-font-weight);line-height:var(--gs-body-line-height);color:var(--gs-body-color);text-align:var(--gs-body-text-align);background-color:var(--gs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--gs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--gs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;color:var(--gs-highlight-color);background-color:var(--gs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--gs-link-color-rgb),var(--gs-link-opacity,1));text-decoration:underline}a:hover{--gs-link-color-rgb:var(--gs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--gs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--gs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--gs-body-bg);background-color:var(--gs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--gs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/* End of Customized version of Bootstrap Reboot */

/* Typography update */

/* --- Responsive Headings (Scaled to 80%) --- */
h1 {
  font-size: calc(1.1rem + 1.2vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 2rem;
  }
}

h2 {
  font-size: calc(1.06rem + 0.72vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 1.6rem;
  }
}

h3 {
  font-size: calc(1.04rem + 0.48vw);
}
@media (min-width: 1200px) {
  h3 {
    font-size: 1.4rem;
  }
}

h4 {
  font-size: calc(1.02rem + 0.24vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.2rem;
  }
}

h5 {
  font-size: 1rem;
}

/* --- Form Legends (Scaled to 80%) --- */
legend {
  font-size: calc(1.02rem + 0.24vw);
}
legend:has(.help-link) .help-link {
  margin-left: 0.5rem;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.2rem;
  }
}

/* Page layout */

html,
body {
  display: flex;
  flex-direction: column;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  /* add font-size to be able to use `rem` units for sizing */
  font-size: 14px;
}

#main,
#main .wrap {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  flex: 1;
  min-width: 0;
  overflow: auto;
}

.gs-page-wrapper {
  flex-direction: column;
}

#page {
  flex: 1;
  min-width: 0;
  position: relative;
  overflow: auto;
  height: 100%;
  width: 100%;
}

.page-header,
.page-pane,
.page-footer {
  padding: 0 1rem;
}

.page-header {
  padding-top: 1rem;
  position: relative;
  top: 0;
  background-color: var(--gs-body-bg);
  z-index: 15;
}

.header-panel {
  display: flex;
  align-items: center;
}

.header-panel ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}

.header-panel li {
  list-style: none;
}

.table-header {
  position: sticky;
  top: var(--gs-feedback-top-height, 0);
  z-index: 10;
  background-color: var(--gs-body-bg);
  border-bottom: 1px solid var(--gs-border-color);
}
.table-header:has(*) {
  padding: 0.5rem 0;
}

.table-header form {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.table-header form > div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.table-footer {
  position: sticky;
  bottom: 0;
  z-index: 10;
  background-color: var(--gs-body-bg);
  padding: 0.5rem 0;
}

/* keep vertical alignment in the meddle for table cell content */
td, th {
  vertical-align: middle;
}

#map {
  flex: 1;
  min-height: 0;
  overflow: auto;
  position: relative;
}

/* Utilities */

.text-xs { font-size: 0.6875rem; }

.w-xs:not([style*="width"])    { width: 1.875rem !important; max-width: 1.875rem !important; }
.w-sm:not([style*="width"])   { width: 5rem !important; max-width: 5rem !important; }
.w-md:not([style*="width"])    { width: 15rem !important; max-width: 15rem !important; }
.w-lg:not([style*="width"])    { width: 37.5rem !important; max-width: 37.5rem !important; }
.w-xl:not([style*="width"])    { width: 80rem !important; max-width: 80rem !important; }

.w-edge:not([style*="width"])  { width: 1% !important; max-width: 1% !important; }
.w-slice:not([style*="width"]) { width: 10% !important; max-width: 10% !important; }
.w-wide:not([style*="width"])  { width: 95% !important; max-width: 95% !important; }
.w-full:not([style*="width"])  { width: 100% !important; max-width: 100% !important; }

.h-sm:not([style*="height"])   { height: 3.125rem !important; max-height: 3.125rem !important; }
.h-md:not([style*="height"])    { height: 6.25rem !important; max-height: 6.25rem !important; }
.h-lg:not([style*="height"])    { height: 25rem !important; max-height: 25rem !important; }
.h-xl:not([style*="height"])    { height: 100rem !important; max-height: 100rem !important; }
.h-full:not([style*="height"])  { height: 100% !important; max-height: 100% !important; }

.w-fit   { width: fit-content !important; flex: none !important; }

select.w-sm + .select2,
select.w-md + .select2,
select.w-lg + .select2,
select.w-xl + .select2,
select.w-fit + .select2 { flex: none !important; }

@media (max-width: 768px) {
  .w-xs, .w-sm, .w-md, .w-lg, .w-xl, .w-wide {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.hidden {
  display: none;
}

.visibility-hidden {
  visibility: hidden;
}

.visibility-visible {
  visibility: visible;
}

/* End Utilities */

form .gs-list-item-class,
fieldset .gs-list-item-class,
fieldset > * {
  margin-bottom: 0.5rem;
}

fieldset {
  border: 1px solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  margin-bottom: 1rem;
}
fieldset:empty,
fieldset:not(:has(*)) {
  display: none;
}

fieldset > legend {
  background-color: var(--gs-tertiary-bg);
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--gs-border-color);
  border-top-left-radius: var(--gs-border-radius);
  border-top-right-radius: var(--gs-border-radius);
}

fieldset > div,
fieldset > form {
  padding: 0.5rem 1rem;
}

a {
  text-decoration: none;
}
a:not(.button):hover {
  text-decoration: underline;
}

/* Components derived from Bootstrap  v5.3.8 */

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

textarea {
  resize: both;
  max-width: 100%;
  min-height: calc(1.5em + 0.75rem + calc(var(--gs-border-width) * 2));
}

textarea,
input[type=text],
input[type=number],
input[type=password],
input[type=file] {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--gs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--gs-body-bg);
  background-clip: padding-box;
  border: var(--gs-border-width) solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  input[type=text],
  input[type=number],
  input[type=password],
  input[type=file],
  textarea {
    transition: none;
  }
}
input[type=file] {
  overflow: hidden;
}
input[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
input[type=text]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=file]:focus,
textarea:focus {
  color: var(--gs-body-color);
  background-color: var(--gs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
input[type=text]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=file]::placeholder {
  color: var(--gs-secondary-color);
  opacity: 1;
}
input[type=text]:disabled,
input[type=number]:disabled,
input[type=password]:disabled,
input[type=file]:disabled {
  background-color: var(--gs-secondary-bg);
  opacity: 1;
}
input[type=file]::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--gs-body-color);
  background-color: var(--gs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--gs-border-width);
  border-radius: 0;
  -webkit-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;
  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;
}
input[type=file]::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--gs-body-color);
  background-color: var(--gs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--gs-border-width);
  border-radius: 0;
  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) {
  input[type=file]::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  input[type=file]::file-selector-button {
    transition: none;
  }
}
input[type=file]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--gs-secondary-bg);
}
input[type=file]:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--gs-secondary-bg);
}

/* Input checkbox */
input[type=checkbox],
input[type=radio] {
  --gs-form-check-bg: var(--gs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--gs-form-check-bg);
  background-image: var(--gs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--gs-border-width) solid var(--gs-secondary);
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  print-color-adjust: exact;
}
input[type=checkbox] {
  border-radius: 0.25em;
}
input[type=radio] {
  border-radius: 50%;
}
input[type=checkbox]:active,
input[type=radio]:active {
  filter: brightness(90%);
}
input[type=checkbox]:focus,
input[type=radio]:focus {
  border-color: var(--gs-primary);
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--gs-focus-ring-color);
}
input[type=checkbox]:checked,
input[type=radio]:checked {
  background-color: var(--gs-primary);
  border-color: var(--gs-primary);
}
input:checked[type=checkbox] {
  --gs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
input:checked[type=radio] {
  --gs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
input[type=checkbox]:indeterminate {
  background-color: var(--gs-primary);
  border-color: var(--gs-primary);
  --gs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
input[type=checkbox]:disabled,
input[type=radio]:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

button, .button {
  --gs-btn-padding-x: 0.75rem;
  --gs-btn-padding-y: 0.375rem;
  --gs-btn-font-family: ;
  --gs-btn-font-size: 1rem;
  --gs-btn-font-weight: 400;
  --gs-btn-line-height: 1.5;
  --gs-btn-color: var(--gs-body-color);
  --gs-btn-bg: transparent;
  --gs-btn-border-width: var(--gs-border-width);
  --gs-btn-border-color: transparent;
  --gs-btn-border-radius: var(--gs-border-radius);
  --gs-btn-hover-border-color: transparent;
  --gs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --gs-btn-disabled-opacity: 0.65;
  --gs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--gs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--gs-btn-padding-y) var(--gs-btn-padding-x);
  font-family: var(--gs-btn-font-family);
  font-size: var(--gs-btn-font-size);
  font-weight: var(--gs-btn-font-weight);
  line-height: var(--gs-btn-line-height);
  color: var(--gs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--gs-btn-border-width) solid var(--gs-btn-border-color);
  border-radius: var(--gs-btn-border-radius);
  background-color: var(--gs-btn-bg);
  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) {
  button, .button {
    transition: none;
  }
}
button:hover, .button:hover {
  color: var(--gs-btn-hover-color);
  background-color: var(--gs-btn-hover-bg);
  border-color: var(--gs-btn-hover-border-color);
}
button:focus-visible, .button:focus-visible {
  color: var(--gs-btn-hover-color);
  background-color: var(--gs-btn-hover-bg);
  border-color: var(--gs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--gs-btn-focus-box-shadow);
}
button:active,
.button:active {
  color: var(--gs-btn-active-color);
  background-color: var(--gs-btn-active-bg);
  border-color: var(--gs-btn-active-border-color);
}
button + button:active:focus-visible, button:first-child:active:focus-visible,
.button + .button:active:focus-visible, .button:first-child:active:focus-visible {
  box-shadow: var(--gs-btn-focus-box-shadow);
}
button:disabled, fieldset:disabled button,
.button:disabled, fieldset:disabled .button {
  color: var(--gs-btn-disabled-color);
  cursor: not-allowed;
  background-color: var(--gs-btn-disabled-bg);
  border-color: var(--gs-btn-disabled-border-color);
  opacity: var(--gs-btn-disabled-opacity);
}
select {
  --gs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--gs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--gs-body-bg);
  background-image: var(--gs-form-select-bg-img), var(--gs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--gs-border-width) solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  select {
    transition: none;
  }
}
select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
select[multiple], select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
select:disabled {
  background-color: var(--gs-secondary-bg);
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--gs-body-color);
}

[data-bs-theme=dark] select {
  --gs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/*----------------------------
  Customize Select2 appearance
------------------------------*/

body .select2.select2-container--default {
  display: block;
}

body .select2-results__options .select2-results__option {
  min-height: 2em;
}

body .select2-dropdown {
  background-color: var(--gs-body-bg);
  border-color: var(--gs-border-color);
}

body .select2-close-mask {
  background-color: var(--gs-body-bg);
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
  background-color: var(--gs-body-bg);
  border-color: var(--gs-border-color);
  color: var(--gs-body-color);
}

body .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--gs-body-color);
}

body .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--gs-secondary-color);
}

body .select2-container--default.select2-container--focus .select2-selection--single,
body .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 var(--gs-focus-ring-width) var(--gs-focus-ring-color);
}

body .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
body .select2-container--default .select2-results__option--selected {
  background-color: var(--gs-primary-bg-subtle);
  color: var(--gs-primary-text-emphasis);
}

body .select2-container--default.select2-container--disabled .select2-selection--single,
body .select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: var(--gs-secondary-bg);
}

body .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: var(--gs-primary-bg-subtle);
  border-color: var(--gs-primary-border-subtle);
  color: var(--gs-primary-text-emphasis);
}

body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  background-color: transparent;
  border-right-color: var(--gs-primary-border-subtle);
  color: var(--gs-primary);
}

body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  background-color: var(--gs-danger-bg-subtle);
  color: var(--gs-danger-text-emphasis);
}

body .select2-container--default .select2-search--dropdown .select2-search__field {
  border-color: var(--gs-border-color);
}

body .select2-container--default .select2-results__option--disabled {
  color: var(--gs-tertiary-color);
}

body .select2-container--default .select2-selection--single .select2-selection__arrow {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 12px;
  width: 2.25rem;
  height: 100%;
  top: 0;
  right: 0;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

[data-bs-theme=dark] body .select2-container--default .select2-selection--single .select2-selection__arrow {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

table {
  --gs-table-color-type: initial;
  --gs-table-bg-type: initial;
  --gs-table-color-state: initial;
  --gs-table-bg-state: initial;
  --gs-table-color: var(--gs-emphasis-color);
  --gs-table-bg: var(--gs-body-bg);
  --gs-table-border-color: var(--gs-border-color);
  --gs-table-accent-bg: transparent;
  --gs-table-striped-color: var(--gs-emphasis-color);
  --gs-table-striped-bg: rgba(var(--gs-primary-rgb), 0.05);
  --gs-table-active-color: var(--gs-emphasis-color);
  --gs-table-active-bg: rgba(var(--gs-emphasis-color-rgb), 0.1);
  --gs-table-hover-color: var(--gs-emphasis-color);
  --gs-table-hover-bg: rgba(var(--gs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--gs-table-border-color);
}
table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--gs-table-color-state, var(--gs-table-color-type, var(--gs-table-color)));
  background-color: var(--gs-table-bg);
  border-bottom-width: var(--gs-border-width);
  box-shadow: inset 0 0 0 9999px var(--gs-table-bg-state, var(--gs-table-bg-type, var(--gs-table-accent-bg)));
}
table > tbody {
  vertical-align: inherit;
}
table > thead {
  vertical-align: bottom;
}

table > tbody > tr:nth-of-type(odd) > * {
  --gs-table-color-type: var(--gs-table-striped-color);
  --gs-table-bg-type: var(--gs-table-striped-bg);
}

/* Custom components */

.action-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.tab-row {
  position: sticky;
  top: var(--gs-feedback-top-height, 0);
  z-index: 10;
  background-color: var(--gs-body-bg);
}

.tab-row ul {
  display: flex;
  padding: 0;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--gs-border-color);
  margin: 0;
}

.tab-row li {
  list-style: none;
  padding: 0.25rem 1rem;
  margin-bottom: 0;
}

.tab-row a {
  text-decoration: none;
}

.tab-row li.selected a {
  color: var(--gs-primary);
}

.tab-row li.selected {
  border-bottom: 2px solid var(--gs-primary);
  font-weight: bold;
}

.tab-panel {
  padding: 1rem 0;
}

.paginator {
  border: 1px solid var(--gs-border-color);
  display: inline-flex;
  border-radius: var(--gs-border-radius);
  overflow: hidden;
}
.paginator a,
.paginator em {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  text-decoration: none;
  min-width: 3ch;
  text-align: center;
  border-right: 1px solid var(--gs-border-color);
}
.paginator a:last-child,
.paginator em:last-child {
  border-right: none;
}
.paginator em {
  background-color: var(--gs-primary);
  color: #fff;
  font-style: normal;
  font-weight: 600;
}
.paginator > a[disabled='disabled'] {
  color: var(--gs-secondary-color);
  pointer-events: none;
  background-color: var(--gs-secondary-bg);
}
.paginator a:not([disabled='disabled']) {
  color: var(--gs-body-color);
  background-color: var(--gs-primary-bg-subtle);
}
.paginator a:not([disabled='disabled']):hover {
  background-color: var(--gs-primary-border-subtle);
  color: var(--gs-body-color);
  text-decoration: none;
}
.paginator a.first,
.paginator a.prev,
.paginator a.next,
.paginator a.last {
  font-size: 0;
}
.paginator a.first::before {
  content: "\2039\2039";
  font-size: 1rem;
}
.paginator a.prev::before {
  content: "\2039";
  font-size: 1rem;
}
.paginator a.next::before {
  content: "\203A";
  font-size: 1rem;
}
.paginator a.last::before {
  content: "\203A\203A";
  font-size: 1rem;
}

.service-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.service-links a,
.service-links a:hover {
  text-decoration: none;
}

.link-bordered {
  display: flex;
  flex-direction: column;
  text-align: center;
  border: 1px solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  min-width: 8rem;
  box-shadow: var(--gs-box-shadow-sm);
  transition: 0.3s box-shadow;
}

.link-bordered > * {
  padding: 0.25rem;
}

.link-bordered > *:first-child {
  border-bottom: 1px solid var(--gs-border-color);
  color: var(--gs-body-color);
}

.link-bordered:hover {
  background-color: var(--gs-tertiary-bg);
  box-shadow: var(--gs-box-shadow);
}

/*-----------------------
Welcome / Overview
-------------------------*/

#chooser .select {
  display: flex;
  min-width: 150px;
  max-width: 350px;
  gap: 0.25rem;
  align-items: center;
  padding: 0.25rem 0;
}
#chooser #refresh {
  display: inline-block;
}
#chooser .select > *:not(.icon) {
  min-width: 0;
  flex: 1;
}

#chooser .select2-container {
  width: 100% !important;
}

/* Deprecated: Special links */
/* These links are kept because used in some specific situation */
/* In general we should use gs-icon in combination with button style */
.remove-link,
.warning-link,
.refresh-link,
.info-link,
.help-link {
  background-color: transparent;
  background-attachment: scroll;
  background-position: left center;
  background-repeat: no-repeat;
  padding: 2px 0 2px 20px;
  background-size: 1rem;
}

.remove-link {
  background-image: url(../svg/icons/silk-icon-scalable/delete.svg);
}
.warning-link {
  background-image: url(../svg/icons/silk-icon-scalable/error.svg);
}
.refresh-link {
  background-image: url(../img/icons/silk/arrow_refresh.png);
}
.info-link {
  background-image: url(../svg/icons/silk-icon-scalable/information.svg);
}
.help-link {
  background-image: url(../svg/icons/silk-icon-scalable/help.svg);
}

/* Search in table */
.search,
input.search {
  background-image: url(../svg/icons/silk-icon-scalable/magnifier.svg);
  background-repeat: no-repeat;
  background-position: 0.5rem center;
  padding-left: 2rem;
  background-size: 1.25rem;
}

/*-----------------------
Feedback Message Styles
-----------------------*/
#feedback ul,
.feedbackPanel {
  margin: 0;
  list-style: none;
  padding: 0;
}

#feedback li {
  padding: 0.2em 0.5em;
  margin: 0 auto 1em;
  width: 80%;
  border: 1px solid var(--gs-border-color);
  list-style-type: none;
}

.feedbackPanelINFO {
  color: var(--gs-info-text-emphasis);
  background: var(--gs-info-bg-subtle);
  padding: 0.5rem;
}
.feedbackPanelINFO a {
  color: var(--gs-info-text-emphasis);
}
.feedbackPanelINFO a:hover {
  color: var(--gs-info-text-emphasis);
}

.feedbackPanelWARNING {
  color: var(--gs-warning-text-emphasis);
  background: var(--gs-warning-bg-subtle);
  padding: 0.5rem;
}
.feedbackPanelWARNING a {
  color: var(--gs-warning-text-emphasis);
}
.feedbackPanelWARNING a:hover {
  color: var(--gs-warning-text-emphasis);
}

.feedbackPanelERROR {
  color: var(--gs-danger-text-emphasis);
  background: var(--gs-danger-bg-subtle);
  padding: 0.5rem;
}
.feedbackPanelERROR a {
  color: var(--gs-danger-text-emphasis);
}
.feedbackPanelERROR a:hover {
  color: var(--gs-danger-text-emphasis);
}

/* Spinner */
.gs-spinner {
  width: 1.875rem;
  height: 1.875rem;
}
.gs-spinner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 3px solid var(--gs-border-color);
  border-top-color: var(--gs-primary);
  border-radius: 50%;
  animation: gs-spinner 0.8s linear infinite;
}
@keyframes gs-spinner {
  to {
    transform: rotate(360deg);
  }
}

/* button bar in forms */
.toolbar-sticky {
  position: sticky;
  bottom: 0;
  padding: 0.5rem 0;
  z-index: 100;
  background-color: var(--gs-body-bg);
}

.toolbar-sticky .form-progress {
  display: block;
  margin-top: 5px;
}

/* button groups e.g. style editor code mirror toolbar */

.button-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  margin: 0;
  list-style: none;
  flex-wrap: wrap;
}

.button-group .icon:hover,
input.btnTxt:hover { /* TODO: Remove .btnTxt in favor of .button */
  background-color: var(--gs-tertiary-bg);
  color: var(--gs-body-color);
}

.button-group .button-fullscreen span {
  background: url(../img/icons/silk/arrow_out.png) no-repeat;
  display: block;
}

.button-group .button-undo span {
  background: url(../img/icons/silk/arrow_undo.png) no-repeat;
  display: block;
}
.button-group .button-redo span {
  background: url(../img/icons/silk/arrow_redo.png) no-repeat;
  display: block;
}
.button-group .button-goto span {
  background: url(../img/icons/silk/xhtml_go.png) no-repeat;
  display: block;
}
.button-group .button-reformat span {
  background: url(../img/icons/silk/text_align_right.png) no-repeat;
  display: block;
}

.button-group .button-find span {
  background: url(../img/icons/silk/find.png) no-repeat;
  display: block;
}

.button-group .button-find-next span {
  background: url(../img/icons/silk/find_next.png) no-repeat;
  display: block;
}

.button-group .button-replace span {
  background: url(../img/icons/silk/text_replace.png) no-repeat;
  display: block;
}

.button-group .button-picture span {
  background: url(../img/icons/silk/photo.png) no-repeat;
  display: block;
}

.button-group .button-color span {
  background: url(../img/icons/silk/palette.png) no-repeat;
  display: block;
}

.button-group #cm_font_size,
.button-group #cm_editor_heigth  {
  max-width: 100px;
}

/*--------------------------
choiceItem, choiceList items
---------------------------*/
.choiceList > *,
.choiceItem {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.choiceList > * input,
.choiceItem input {
  margin-left: -1.5em;
  float: left;
  margin-top: 0.25em;
}
.choiceItem input[disabled] ~ label,
.choiceItem input:disabled ~ label,
.choiceList input:disabled ~ label {
  cursor: default;
  opacity: 0.5;
}
.choiceItem label,
.choiceItem label,
.choiceList > * label {
  display: inline;
}

label ~ .choiceItem {
  display: inline-block;
}

/*--------------
Style editor
--------------*/

/* Fullscreen */
#fullscreen-div {
  display: block;
  position: fixed;
  z-index: 20;
  top: 4.25rem;
  right: 2rem;
}
#fullscreen-div img {
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 1rem;
  height: 1rem;
  background-image: url(../img/icons/silk/arrow_out.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
#page.fullscreen {
  position: fixed;
  top: 0; 
  left: 0; 
  right: 0; 
  bottom: 0;
  padding: 0px;
  border-right: 10px;
  margin: 0px !important;
  overflow-y: hidden;
  z-index: 9;
  background: var(--gs-body-bg);
  display: flex;
  flex-direction: column;
}

#page.fullscreen .page-pane {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#fullscreen-div img.fullscreen-image-in {
  background-image: url(../img/icons/silk/arrow_inwards.png);
}
.fullscreen #header-title {
   font-size: 1.5rem;
   font-weight: bold;
}
.fullscreen #header-description {
   display: none;
}
.fullscreen #styleForm {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  flex: 1;
  min-height: 0;
}
.fullscreen #styleForm #style-context {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  width: 50%;
  height: 100%;
  padding: 1rem;
  display: flex;
  flex-direction: column;
}
.fullscreen #styleForm #style-context .tab-panel {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0;
}
.fullscreen #styleForm #style-editor {
  -webkit-box-ordinal-group: 1;
  -moz-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
  width: 50%;
  padding: 1rem;
  height: 100%;
}

#page.fullscreen .table-header,
#page.fullscreen .tab-row {
  top: 0 !important;
}

/* Style editor code container */
.codemirror {
  border: 1px solid var(--gs-border-color);
  padding-bottom: 3px;
}



/* Palette theme */
.palette-theme-default {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.5rem;
}

.palette-theme-default .palette-choices,
.palette-theme-default .palette-selected {
  display: flex;
  flex-direction: column;
}

.palette-theme-default .palette-choices > div,
.palette-theme-default .palette-selected > div {
  flex: 1 1 auto;
}

.palette-theme-default .palette-header {
  display: block;
  text-align: center;
  padding: 0.5rem 0.25rem;
  font-family: var(--gs-body-font-family);
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--gs-primary-text-emphasis);
  background-color: var(--gs-info-bg-subtle);
  border-top: var(--gs-border-width) var(--gs-border-style) var(--gs-info-border-subtle);
  border-left: var(--gs-border-width) var(--gs-border-style) var(--gs-info-border-subtle);
  border-right: var(--gs-border-width) var(--gs-border-style) var(--gs-info-border-subtle);
  border-bottom: 0;
  border-top-left-radius: var(--gs-border-radius);
  border-top-right-radius: var(--gs-border-radius);
}

.palette-theme-default .palette-choices select,
.palette-theme-default .palette-selected select {
  width: 100%;
  min-width: 100%;
  min-height: 8em;
  height: 100%;
  box-sizing: border-box;
  border: var(--gs-border-width) var(--gs-border-style) var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  padding: 0.5rem;
  font-family: var(--gs-body-font-family);
  color: var(--gs-body-color);
  background-color: var(--gs-body-bg);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.palette-theme-default .palette-buttons button {
  display: block;
  padding: 0.25rem;
  margin: 0.25rem auto;
  cursor: pointer;
  border: var(--gs-border-width) var(--gs-border-style) var(--gs-border-color);
  border-radius: var(--gs-border-radius-sm);
  background-color: var(--gs-tertiary-bg);
  transition: all 0.2s ease-in-out;
}

.palette-theme-default .palette-buttons button div {
  width: auto;
  height: auto;
}
.palette-theme-default .palette-buttons button div:after {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
.palette-theme-default .palette-buttons button:hover {
  background-color: var(--gs-primary-bg-subtle);
  border-color: var(--gs-primary);
}

form .palette-choices,
form .palette-selected {
  max-width: 50ch;
}
/* logs textarea */
#logs,
#dumpContent {
  height: calc(100vh - 22em);
}

/* Component styles overrides */
/* We should keep these customization to the end of the page to proper override CSS variables */
/* Default button style - applied when only button or .button is used */
button,
.button {
  --gs-btn-color: var(--gs-body-color);
  --gs-btn-bg: var(--gs-primary-bg-subtle);
  --gs-btn-border-color: var(--gs-primary-border-subtle);
  --gs-btn-hover-color: var(--gs-body-color);
  --gs-btn-hover-bg: var(--gs-primary-border-subtle);
  --gs-btn-hover-border-color: var(--gs-primary-border-subtle);
  --gs-btn-focus-shadow-rgb: var(--gs-primary-rgb);
  --gs-btn-active-color: var(--gs-body-color);
  --gs-btn-active-bg: var(--gs-primary-border-subtle);
  --gs-btn-active-border-color: var(--gs-primary-border-subtle);
  --gs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --gs-btn-disabled-color: var(--gs-body-color);
  --gs-btn-disabled-bg: var(--gs-primary-bg-subtle);
  --gs-btn-disabled-border-color: var(--gs-primary-border-subtle);
  --gs-btn-disabled-opacity: 0.65;
}

button.primary,
.button.primary {
  --gs-btn-color: #fff;
  --gs-btn-bg: #0076a1;
  --gs-btn-border-color: #0076a1;
  --gs-btn-hover-color: #fff;
  --gs-btn-hover-bg: #006489;
  --gs-btn-hover-border-color: #005a7b;
  --gs-btn-focus-shadow-rgb: 0, 118, 161;
  --gs-btn-active-color: #fff;
  --gs-btn-active-bg: #005a7b;
  --gs-btn-active-border-color: #00516e;
  --gs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --gs-btn-disabled-color: #fff;
  --gs-btn-disabled-bg: #0076a1;
  --gs-btn-disabled-border-color: #0076a1;
}

button.danger,
.button.danger {
  --gs-btn-color: #fff;
  --gs-btn-bg: #dc3545;
  --gs-btn-border-color: #dc3545;
  --gs-btn-hover-color: #fff;
  --gs-btn-hover-bg: #bb2d3b;
  --gs-btn-hover-border-color: #b02a37;
  --gs-btn-focus-shadow-rgb: 225, 83, 97;
  --gs-btn-active-color: #fff;
  --gs-btn-active-bg: #b02a37;
  --gs-btn-active-border-color: #a52834;
  --gs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --gs-btn-disabled-color: #fff;
  --gs-btn-disabled-bg: #dc3545;
  --gs-btn-disabled-border-color: #dc3545;
}

button.outline-primary,
.button.outline-primary {
  --gs-btn-color: #0076a1;
  --gs-btn-bg: var(--gs-body-bg);
  --gs-btn-border-color: #0076a1;
  --gs-btn-hover-color: #fff;
  --gs-btn-hover-bg: #0076a1;
  --gs-btn-hover-border-color: #0076a1;
  --gs-btn-focus-shadow-rgb: 0, 118, 161;
  --gs-btn-active-color: #fff;
  --gs-btn-active-bg: #0076a1;
  --gs-btn-active-border-color: #0076a1;
  --gs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --gs-btn-disabled-color: #0076a1;
  --gs-btn-disabled-bg: transparent;
  --gs-btn-disabled-border-color: #0076a1;
  --gs-gradient: none;
}

button.outline-danger,
.button.outline-danger {
  --gs-btn-color: #dc3545;
  --gs-btn-bg: var(--gs-body-bg);
  --gs-btn-border-color: #dc3545;
  --gs-btn-hover-color: #fff;
  --gs-btn-hover-bg: #dc3545;
  --gs-btn-hover-border-color: #dc3545;
  --gs-btn-focus-shadow-rgb: 220, 53, 69;
  --gs-btn-active-color: #fff;
  --gs-btn-active-bg: #dc3545;
  --gs-btn-active-border-color: #dc3545;
  --gs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --gs-btn-disabled-color: #dc3545;
  --gs-btn-disabled-bg: transparent;
  --gs-btn-disabled-border-color: #dc3545;
  --gs-gradient: none;
}

/* Toggle user/groups */
form a.expanded, form a.collapsed {
  background-image: url(../img/icons/silk/bullet_arrow_down.png);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  padding-left: 16px;
  height: 18px;
  font-weight: bold;
}

form a.collapsed {
  background-image: url(../img/icons/silk/bullet_arrow_right.png);
}

#sidebar-close {
  font-size: 0.75rem;
  padding: 0.5rem;
}

/*---------------
 Navigation bar 
 ---------------*/
#header.gs-header {
  position: relative;
  background: var(--gs-body-bg);
  border-bottom: 0.25em solid transparent;
  border-image: var(--gs-brand-gradient) 1;
  box-shadow: var(--gs-box-shadow-sm);
}
.gs-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.5em 1em;
  gap: 1em;
  min-height: 3em;
}
.gs-header-left,
.gs-header-right {
  display: flex;
  align-items: center;
  gap: 0.75em;
}

/* logo */
.gs-header-left .logo {
  display: block;
  width: 1.875em;
  height: 1.875em;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../img/logo-icon.svg);
}

/* Hamburger, close & sidebar content header */
.gs-header-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 2.75em;
  min-height: 2.75em;
  padding: 0.5em;
  font-size: 0.75rem;
  border: transparent;
}
#sidebar-close {
  font-size: 0.75rem;
  padding: 0.5rem;
}
#sidebar-close svg,
#sidebar-menu svg {
  width: 1.5em;
}
.navigation-content-header {
  display: none;
  border-image: var(--gs-brand-gradient) 1;
  position: absolute;
  left: 17.5em;
  top: 0;
  z-index: 1000;
}

/* Sidebar & nav structure */
#main-navigation.gs-header-nav-container li {
  list-style: none;
}
#navigation-container.gs-header-nav #main-navigation {
  padding: 0;
  margin: 0;
}
#navigation-container.gs-header-nav #main-navigation ul {
  padding: 0;
  margin: 0;
}

/* Authentication panel */
#authentication-panel {
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  border: none;
}
#authentication-panel button,
#authentication-panel .button {
  text-align: center;
}
.authentication-form .gs-authentication-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Nav container & dropdowns */
.gs-header-nav-container {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}
.gs-header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  width: 100%;
}
.gs-header-bar ul {
  display: flex;
  gap: 0.25em;
  font-size: 0.875em;
  margin: 0;
  padding: 0;
}
.gs-dropdown {
  position: relative;
  align-self: center;
}

/* Navigation tab base & header nav */
.gs-dropdown-header,
.navigation-tab-header {
  position: sticky;
  top: var(--gs-feedback-top-height, 0);
  z-index: 1;
  padding: 0.5rem 0;
}
.gs-dropdown-header {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.5em;
  cursor: pointer;
  border-radius: var(--gs-border-radius);
  min-height: 2.25em;
  gap: 0.25rem;
}
.gs-dropdown-header:hover {
  background: var(--gs-tertiary-bg);
}
.gs-header-nav .gs-dropdown-header:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 2px var(--gs-primary-border-subtle);
}
.gs-dropdown-menu,
.gs-dropdown ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  flex-direction: column;
  padding: 0.25em 0;
  border: 1px solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  background: var(--gs-body-bg);
  box-shadow: var(--gs-box-shadow);
  min-width: 12em;
  z-index: 100;
}
.gs-dropdown.is-open .gs-dropdown-menu,
.gs-dropdown.is-open ul,
.gs-dropdown:focus-within .gs-dropdown-menu,
.gs-dropdown:focus-within ul {
  display: flex;
}
/* Hover behavior only applies on devices that actually support hover. */
@media (hover: hover) and (pointer: fine) {
  .gs-dropdown:hover .gs-dropdown-menu,
  .gs-dropdown:hover ul {
    display: flex;
  }
}
.gs-dropdown li a,
.gs-dropdown-menu a {
  display: inline-flex;
  align-items: center;
  gap: 0.375em;
  padding: 0.25em 0.5em;
  border-radius: var(--gs-border-radius);
  white-space: nowrap;
  color: var(--gs-body-color);
  width: 100%;
  font-size: 1.125em;
}
.gs-dropdown li.gs-dropdown-item {
  width: 100%;
}
.gs-dropdown li.gs-dropdown-item img {
  height: 1rem;
}
.gs-dropdown li:hover {
  background: var(--gs-tertiary-bg);
}
.gs-dropdown li a:hover {
  text-decoration: none;
}

/* Developer toolbar in header nav */
.devtoolbar .gs-developer-toolbar-menu {
  min-width: 18rem;
}
.devtoolbar .gs-developer-toolbar-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.25em 0.5em;
  margin: 0;
  font-size: 1.125em;
  color: var(--gs-body-color);
  cursor: pointer;
}
.devtoolbar .gs-developer-toolbar-toggle input[type="checkbox"] {
  margin-top: 0;
}
.devtoolbar .gs-dropdown-item .button {
  width: 100%;
  justify-content: flex-start;
}

/* Context indicator shown next to nav items when scoped to a context (workspace, layer, group) */
.gs-ctx-indicator {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
  opacity: 0.55;
  cursor: default;
  margin-top: 0.25rem;
}

.gs-ctx-indicator::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  background-color: currentColor;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.gs-ctx-indicator--workspace::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E");
}

.gs-ctx-indicator--layer::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M3 3h18v18H3zm2 2v14h14V5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M3 3h18v18H3zm2 2v14h14V5z'/%3E%3C/svg%3E");
}

.gs-ctx-indicator--group::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M2 2h16v16H2zm2 2v12h12V4z'/%3E%3Cpath fill-rule='evenodd' d='M5 5h16v16H5zm2 2v12h12V7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M2 2h16v16H2zm2 2v12h12V4z'/%3E%3Cpath fill-rule='evenodd' d='M5 5h16v16H5zm2 2v12h12V7z'/%3E%3C/svg%3E");
}

.gs-header-nav [id="nodeIdContainer"] {
  display: none;
}
.gs-user-avatar-dropdown {
  position: relative;
}
.gs-user-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25em;
  height: 2.25em;
  border-radius: 50%;
  background: var(--gs-primary);
  color: rgb(var(--gs-white-rgb));
  cursor: pointer;
  font-weight: 600;
  font-size: 0.75em;
}
.gs-user-avatar:hover,
.gs-user-avatar:focus-visible {
  background: var(--gs-primary-text-emphasis);
  outline: 0;
  box-shadow: 0 0 0 2px var(--gs-primary-border-subtle);
}
.gs-user-icon-anonymous svg {
  width: 1.25em;
  height: 1.25em;
}
.gs-user-dropdown-panel {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0.5em;
  min-width: 14em;
  padding: 0.5em;
  background: var(--gs-body-bg);
  border: 1px solid var(--gs-border-color);
  border-radius: var(--gs-border-radius);
  box-shadow: var(--gs-box-shadow);
  z-index: 1002;
}
.gs-user-dropdown-panel[hidden] {
  display: none !important;
}
.gs-user-dropdown-panel .gs-login-form,
.gs-user-dropdown-panel .authentication-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.gs-user-dropdown-panel .gs-login-form button {
  margin-bottom: 0.5em;
  padding: 0.25em;
}
.gs-user-dropdown-panel input[type="text"],
.gs-user-dropdown-panel input[type="password"] {
  height: 2em;
  width: 100%;
  box-sizing: border-box;
  font-size: 0.875em;
}
.gs-user-dropdown-panel .choiceItem {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 0.875em;
}
.gs-login-form button {
  font-size: 0.875em;
}
.gs-user-dropdown-panel .username {
  padding: 0;
  font-weight: 500;
  color: var(--gs-body-color);
  margin-bottom: 0.5em;
  font-size: 0.875em;
}
.gs-user-dropdown-panel .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  gap: 0.35em;
}
.gs-user-avatar-dropdown form,
.gs-user-avatar-dropdown .button {
  margin: 0;
}
.gs-header-right ul li a {
  display: flex;
  align-items: center;
  gap: 0.25em;
  padding: 0.25em;
  text-decoration: none;
  width: 100%;
}
.gs-header-right ul li:hover {
  background: var(--gs-tertiary-bg);
}
.gs-header-right ul li a:hover {
  text-decoration: none;
}
.gs-switch {
  display: flex;
  align-items: center;
}
.gs-switch-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
label.gs-switch-label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
  font-size: 0.875em;
  color: var(--gs-body-color);
}
.gs-switch-text {
  white-space: nowrap;
}
.gs-switch-content {
  display: flex;
  align-items: center;
  width: 2.5em;
  height: 1.25em;
  padding: 0.15em;
  background: var(--gs-tertiary-bg);
  border: 1px solid var(--gs-border-color);
  border-radius: var(--gs-border-radius-pill);
  transition: background 0.2s, border-color 0.2s;
}
.gs-switch-content::before {
  content: "";
  width: 0.9em;
  height: 0.9em;
  background: var(--gs-primary);
  border-radius: 50%;
  transition: transform 0.2s;
}
.gs-switch-input:checked + .gs-switch-label .gs-switch-content::before {
  transform: translateX(1.15em);
}
.gs-switch-label:hover .gs-switch-content {
  background: var(--gs-secondary-bg);
}

.gs-locale-selector select {
  width: fit-content;
  font-size: 0.875em;
}
.gs-header-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(var(--gs-black-rgb), 0.4);
  z-index: 999;
}
.gs-header-backdrop.is-visible {
  display: block;
}
/* Default: show anonymous icon, hide initials */
.gs-user-avatar .gs-user-initials {
  display: none;
}
.gs-user-avatar .gs-user-icon-anonymous,
.gs-user-avatar:has(.gs-user-initials:not(:empty)) .gs-user-initials {
  display: inline-flex;
}
.gs-user-avatar:has(.gs-user-initials:not(:empty)) .gs-user-icon-anonymous {
  display: none;
}
.gs-user-avatar .gs-user-icon-anonymous,
.gs-user-avatar:has(.gs-user-initials:not(:empty)) .gs-user-initials {
  display: inline-flex;
}
.gs-user-dropdown-info ul {
  display: block;
}
.gs-user-dropdown-info ul li {
  list-style: none;
}
/* Hide separators in user dropdown when sections are empty */
.gs-user-dropdown-info ul:not(:has(.gs-login-external-links)) > hr:first-of-type,
.gs-user-dropdown-info ul:not(:has(li a)) > hr:last-of-type,
.gs-user-dropdown-info ul:not(:has(li a)) > li {
  display: none;
}

.wicket-aa-container {
  z-index: 100;
  background: var(--gs-body-bg);
  box-shadow: var(--gs-box-shadow-lg);
}
.wicket-aa-container ul {
  list-style: none;
  padding: 0;
  max-height: 15rem;
}
.wicket-aa-container ul li {
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}
.wicket-aa-container ul li:hover {
  background-color: var(--gs-secondary-bg);
}
.wicket-aa-container ul li.selected {
  background-color: var(--gs-secondary-bg);
}
@media (max-width: 768px) {
  .gs-header-hamburger {
    display: flex;
  }
  aside.gs-sidebar {
    display: none;
  }
  .gs-header-nav-container {
    display: none;
    position: fixed;
    inset: 0 auto 0 0;
    width: 17.5em;
    max-width: 85vw;
    z-index: 1001;
    background: var(--gs-body-bg);
    box-shadow: var(--gs-box-shadow-lg);
    border-right: 1px solid var(--gs-border-color);
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    overflow-y: auto;
  }
  .gs-header-nav-container.is-open {
    transform: translateX(0);
    display: block;
  }
  .gs-header-nav-container.is-open .gs-dropdown-header:hover {
    background: transparent;
    cursor: default;
  }
  .gs-header-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 1em;
  }
  .gs-header-nav ul {
    display: block;
  }
  .gs-header-nav-container.is-open ~ .navigation-content-header {
    display: flex;
    justify-content: end;
  }
  .gs-header-nav-container.is-open ~ .navigation-content-header .button {
    flex-shrink: 0;
    min-width: 2.75em;
    min-height: 2.75em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .gs-header-nav .gs-dropdown-header {
    display: block;
    position: static;
    padding: 0.5em 0;
    font-weight: 600;
    color: var(--gs-primary-text-emphasis);
  }
  .gs-header-nav .gs-dropdown-menu,
  .gs-header-nav .gs-dropdown ul {
    display: flex;
    position: static;
    border: none;
    box-shadow: none;
    min-width: 0;
    padding: 0;
    gap: 0;
  }
  .gs-header-nav .gs-dropdown + .gs-dropdown {
    border-left: none;
    margin-top: 0.5em;
    padding-top: 0.5em;
    border-top: 1px solid var(--gs-border-color);
  }
  .gs-header-nav [id="nodeIdContainer"] {
    display: block;
    padding: 0.5em 0;
    font-size: 0.875em;
    color: var(--gs-secondary-color);
  }
  .gs-header-nav .devtoolbar {
    display: block;
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid var(--gs-border-color);
  }
  .gs-header-nav .devtoolbar .gs-dropdown-header {
    position: static;
    padding: 0.5em 0;
    font-weight: 600;
    color: var(--gs-primary-text-emphasis);
  }
  .gs-header-nav .devtoolbar .gs-dropdown-menu {
    display: flex;
    position: static;
    border: none;
    box-shadow: none;
    min-width: 0;
    padding: 0;
  }
  .gs-header-nav .devtoolbar .gs-dropdown-item {
    background: transparent;
  }
  .gs-header-nav .devtoolbar .gs-dropdown-item + .gs-dropdown-item {
    margin-top: 0.25em;
  }
}

.gs-grid-table {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
}


.gs-grid-table-cell {
    padding: 10px;
    border: var(--gs-border-width) solid var(--gs-border-color);
}

/* Tables - dnd */
tr.dnd-drop-center td {
  background-color: var(--gs-secondary-bg-subtle) !important;
}
div.dnd-theme-web tr {
  cursor: move; /* fallback if grab cursor is unsupported */
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab;
}
div.value-wide {
  border: 1px solid var(--gs-border-color);
  padding: 0.25em;
  width: fit-content;
}

/*-----------
 Input group
------------*/
.gs-input-group {
  display: flex;
  padding-bottom: 0.5rem;
}
.gs-input-group > *,
.gs-input-group > input {
  border-radius: 0;
}
.gs-input-group > *:first-child {
  border-top-left-radius: var(--gs-border-radius);
  border-bottom-left-radius: var(--gs-border-radius);
}
.gs-input-group > *:last-child {
  border-top-right-radius: var(--gs-border-radius);
  border-bottom-right-radius: var(--gs-border-radius);
}
.gs-input-group > *:not(:last-child) {
    border-right: none;
}
.gs-input-group > button,
.gs-input-group > .button {
  height: fit-content;
  white-space: nowrap;
}
.gs-input-group > select {
  width: fit-content;
}

/* Input groups with Select2 */
.gs-input-group > .select2-hidden-accessible:first-child + .select2 .select2-selection--single {
  border-top-left-radius: var(--gs-border-radius);
  border-bottom-left-radius: var(--gs-border-radius);
}
.gs-input-group > .select2-hidden-accessible:first-child + .select2:not(:last-child) .select2-selection--single {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.gs-input-group > .select2-hidden-accessible:not(:first-child) + .select2:last-child .select2-selection--single {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.gs-input-group > .select2-hidden-accessible:nth-last-child(2) + .select2:last-child .select2-selection--single {
  border-top-right-radius: var(--gs-border-radius);
  border-bottom-right-radius: var(--gs-border-radius);
}
.gs-input-group > .select2 .selection {
  height: 100%;
}
.gs-input-group > .select2 .selection .select2-selection {
  height: inherit;
}

/* Parameter filter button */
.button.add-selected-btn {
  height: auto;
  display: flex;
  align-items: center;
}

.gs-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.gs-form-group {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
.gs-form-group > *:first-child {
  flex-basis: 150px;
  flex-shrink: 0;
  padding-top: 0.375rem;
}
.gs-form > .choiceItem {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  padding-left: 0;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.gs-form > .choiceItem label {
  flex-basis: 150px;
  flex-shrink: 0;
  display: block;
}
.gs-form > .choiceItem input {
  float: none;
  margin-left: 0;
  margin-top: 0;
}
.gs-form-group > *:last-child {
  flex-grow: 1;
  max-width: 100ch;
}
.gs-form-group:empty,
.gs-form-group:not(:has(*)) {
  display: none;
}
.gs-form-group .gs-input-group {
  padding-bottom: 0;
}
.gs-form-group-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex-grow: 1;
}
.gs-form-group-content > input,
.gs-form-group-content > select,
.gs-form-group-content > textarea {
  width: 100%;
}
.gs-form-help {
  font-size: 0.8125rem;
  color: var(--gs-secondary-color);
}
.gs-instruction {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  align-self: flex-start;
  margin-top: 0.25rem;
  font-size: 0;
  line-height: 1;
  cursor: help;
}
.gs-instruction::before {
  content: "";
  width: 2rem;
  height: 1.5rem;
  flex: 0 0 1.125rem;
  background-image: url(../img/icons/silk/information.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.gs-instruction:hover {
  font-size: 1rem;
  font-style: italic;
}
.gs-inline-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.gs-content-header h3.gs-content-header-title {
  border-bottom: 2px solid transparent;
  border-image: var(--gs-brand-gradient) 1;
  font-size: 1.125rem;
  margin-top: 1rem;
  font-weight: 400;
}
.gs-content-header h3.gs-content-header-subtitle {
  font-size: 1.125rem;
  margin-top: 1rem;
  font-weight: 400;
}
.gs-content-header > p {
  font-size: 0.875rem;
}
.i18n-panel table td:nth-child(1) {
  width: 20rem;
}
@media (max-width: 768px) {
  .gs-form {
    gap: 0.25rem;
  }
  .gs-form-group {
    flex-direction: column;
    gap: 0;
  }
  .gs-form-group > *:first-child {
    flex-basis: 0;
  }
  .gs-form-group > *:last-child {
    width: -webkit-fill-available;
  }
  .gs-instruction {
    font-size: 0.75rem;
    font-style: italic;
    cursor: default;
    line-height: 1.2;
  }
  /* Responsive table */
  /* Mobile table header */
  .table-header form {
    flex-direction: column;
  }
  /* Mobile card table */
  table.gs-mobile-card-table > thead {
    display: none;
  }
  table.gs-mobile-card-table > tbody {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
  }
  table.gs-mobile-card-table > tbody > tr {
    display: flex;
    flex-direction: column;
    padding: 0.5em;
    border: 1px solid var(--gs-border-color);
    border-radius: var(--gs-border-radius);
    background-color: var(--gs-body-bg);
  }
  table.gs-mobile-card-table > tbody > tr:first-child {
    margin-top: 0.5em;
  }
  table.gs-mobile-card-table > tbody > tr > td {
    padding: 0;
    border-bottom-width: 0;
    box-shadow: none;
  }
  table.gs-mobile-card-table > tbody > tr > td + td {
    margin-top: 0.5em;
  }
  table.gs-mobile-card-table td > * {
    display: flex;
    gap: 0.5em;
    align-items: center;
    margin-bottom: 0;
  }
  table.gs-mobile-card-table .field-name {
    font-weight: 600;
    max-width: 15rem;
    width: 50%;
  }
  table.gs-mobile-card-table .field-value {
    font-weight: 400;
    width: --webkit-fill-available;
  }
  table.gs-mobile-card-table > tbody tr th.selection {
    --gs-table-bg-type: none;
    border: 0;
    padding: 0;
    padding-bottom: 0.25rem;
  }
}

@media (max-width: 480px) {
  table.gs-mobile-card-table .gs-mobile-field {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}

/* Keep sticky UI clear of top/bottom feedback messages */
#page {
  --gs-feedback-top-height: 0;
  --gs-feedback-bottom-height: 0;
}
#page .toolbar-sticky {
  bottom: var(--gs-feedback-bottom-height);
}
#topFeedback:has(.feedbackPanel:not(:empty)) {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--gs-body-bg);
}
#page:has(#bottomFeedback .feedbackPanel:not(:empty)) .page-footer {
  position: sticky;
  bottom: 0;
  z-index: 10;
}

.gs-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  vertical-align: middle;
}

.gs-icon-accept { background-image: url('../svg/icons/silk-icon-scalable/accept.svg'); }
.gs-icon-add { background-image: url('../svg/icons/silk-icon-scalable/add.svg'); }
.gs-icon-arrow-down { background-image: url('../img/icons/silk/arrow_down.png'); }
.gs-icon-arrow-inwards { background-image: url('../img/icons/silk/arrow_inwards.png'); }
.gs-icon-arrow-out { background-image: url('../img/icons/silk/arrow_out.png'); }
.gs-icon-arrow-redo { background-image: url('../img/icons/silk/arrow_redo.png'); }
.gs-icon-arrow-refresh { background-image: url('../img/icons/silk/arrow_refresh.png'); }
.gs-icon-arrow-undo { background-image: url('../img/icons/silk/arrow_undo.png'); }
.gs-icon-arrow-up { background-image: url('../img/icons/silk/arrow_up.png'); }
.gs-icon-bin { background-image: url('../svg/icons/silk-icon-scalable/bin.svg'); }
.gs-icon-bullet-arrow-down { background-image: url('../img/icons/silk/bullet_arrow_down.png'); }
.gs-icon-bullet-arrow-right { background-image: url('../img/icons/silk/bullet_arrow_right.png'); }
.gs-icon-point { background-image: url('../svg/icons/silk/bullet_blue.svg'); }
.gs-icon-bullet-blue { background-image: url('../svg/icons/silk/bullet_blue.svg'); }
.gs-icon-bullet-go { background-image: url('../img/icons/silk/bullet_go.png'); }
.gs-icon-cog { background-image: url('../svg/icons/silk-icon-scalable/cog.svg'); }
.gs-icon-cog-photo { background-image: url('../img/icons/silk/cog_photo.png'); }
.gs-icon-copy { background-image: url('../img/icons/copy.png'); }
.gs-icon-database { background-image: url('../svg/icons/silk-icon-scalable/database.svg'); }
.gs-icon-database-key { background-image: url('../img/icons/silk/database_key.png'); }
.gs-icon-delete { background-image: url('../svg/icons/silk-icon-scalable/delete.svg'); }
.gs-icon-disk { background-image: url('../svg/icons/silk-icon-scalable/disk.svg'); }
.gs-icon-door-in { background-image: url('../img/icons/silk/door-in.png'); }
.gs-icon-door-out { background-image: url('../img/icons/silk/door-out.png'); }
.gs-icon-error { background-image: url('../svg/icons/silk-icon-scalable/error.svg'); }
.gs-icon-find { background-image: url('../img/icons/silk/find.png'); }
.gs-icon-find-next { background-image: url('../img/icons/silk/find_next.png'); }
.gs-icon-folder { background-image: url('../svg/icons/silk/folder.svg'); }
.gs-icon-geoserver { background-image: url('../img/logo-icon.svg'); }
.gs-icon-group { background-image: url('../img/icons/silk/group.png'); }
.gs-icon-help { background-image: url('../svg/icons/silk-icon-scalable/help.svg'); }
.gs-icon-information { background-image: url('../svg/icons/silk-icon-scalable/information.svg'); }
.gs-icon-layers { background-image: url('../svg/icons/silk/layers.svg'); }
.gs-icon-line { background-image: url('../svg/icons/silk/line_blue.svg'); }
.gs-icon-line-blue { background-image: url('../svg/icons/silk/line_blue.svg'); }
.gs-icon-lock { background-image: url('../svg/icons/silk-icon-scalable/lock.svg'); }
.gs-icon-magnifier { background-image: url('../svg/icons/silk-icon-scalable/magnifier.svg'); }
.gs-icon-page-white-text { background-image: url('../svg/icons/silk-icon-scalable/page_white_text.svg'); }
.gs-icon-palette { background-image: url('../img/icons/silk/palette.png'); }
.gs-icon-pencil { background-image: url('../svg/icons/silk-icon-scalable/pencil.svg'); }
.gs-icon-pencil-add { background-image: url('../img/icons/silk/pencil_add.png'); }
.gs-icon-photo { background-image: url('../img/icons/silk/photo.png'); }
.gs-icon-picture-empty { background-image: url('../svg/icons/silk/picture_empty.svg'); }
.gs-icon-server { background-image: url('../svg/icons/silk-icon-scalable/server.svg'); }
.gs-icon-server-chart { background-image: url('../img/icons/silk/server_chart.png'); }
.gs-icon-server-error { background-image: url('../img/icons/silk/server_error.png'); }
.gs-icon-polygon { background-image: url('../svg/icons/silk/shape_square_blue.svg'); }
.gs-icon-shape-square-blue { background-image: url('../svg/icons/silk/shape_square_blue.svg'); }
.gs-icon-shape-square-key { background-image: url('../img/icons/silk/shape_square_key.png'); }
.gs-icon-shield { background-image: url('../svg/icons/silk-icon-scalable/shield.svg'); }
.gs-icon-text-align-right { background-image: url('../img/icons/silk/text_align_right.png'); }
.gs-icon-text-replace { background-image: url('../img/icons/silk/text_replace.png'); }
.gs-icon-tick { background-image: url('../svg/icons/silk-icon-scalable/tick.svg'); }
.gs-icon-vcard { background-image: url('../img/icons/silk/vcard.png'); }
.gs-icon-wrench { background-image: url('../svg/icons/silk-icon-scalable/wrench.svg'); }
.gs-icon-xhtml-go { background-image: url('../img/icons/silk/xhtml_go.png'); }
/* geosilk */
.gs-icon-database-oracle { background-image: url('../img/icons/geosilk/database_oracle.png'); }
.gs-icon-database-picture { background-image: url('../img/icons/geosilk/database_picture.png'); }
.gs-icon-database-raster { background-image: url('../img/icons/geosilk/database_raster.png'); }
.gs-icon-database-vector { background-image: url('../img/icons/geosilk/database_vector.png'); }
.gs-icon-map { background-image: url('../img/icons/geosilk/map.png'); }
.gs-icon-page-white-map { background-image: url('../img/icons/geosilk/page_white_map.png'); }
.gs-icon-page-white-palette { background-image: url('../img/icons/geosilk/page_white_palette.png'); }
.gs-icon-page-white-picture { background-image: url('../img/icons/geosilk/page_white_picture.png'); }
.gs-icon-page-white-raster { background-image: url('../svg/icons/geosilk/page_white_raster.svg'); }
.gs-icon-page-white-vector { background-image: url('../img/icons/geosilk/page_white_vector.png'); }
.gs-icon-postgis { background-image: url('../img/icons/geosilk/postgis.png'); }
.gs-icon-raster { background-image: url('../svg/icons/geosilk/raster.svg'); }
.gs-icon-raster-add { background-image: url('../img/icons/geosilk/raster_add.png'); }
.gs-icon-raster-delete { background-image: url('../img/icons/geosilk/raster_delete.png'); }
.gs-icon-ruler { background-image: url('../img/icons/geosilk/ruler.png'); }
.gs-icon-server-map { background-image: url('../img/icons/geosilk/server_map.png'); }
.gs-icon-server-vector { background-image: url('../img/icons/geosilk/server_vector.png'); }
.gs-icon-vector { background-image: url('../img/icons/geosilk/vector.png'); }
.gs-icon-vector-add { background-image: url('../img/icons/geosilk/vector_add.png'); }
.gs-icon-vector-delete { background-image: url('../img/icons/geosilk/vector_delete.png'); }
/* icons */
.gs-icon-blank { background-image: url('../img/icons/blank.png'); }
.gs-icon-chart-bar { background-image: url('../img/icons/chart_bar.png'); }
.gs-icon-chart-curve { background-image: url('../img/icons/chart_curve.png'); }
.gs-icon-chart-line { background-image: url('../img/icons/chart_line.png'); }
.gs-icon-chart-pie { background-image: url('../img/icons/chart_pie.png'); }
.gs-icon-clear-cache { background-image: url('../img/icons/clear_cache.png'); }
.gs-icon-report { background-image: url('../img/icons/report.png'); }
.gs-icon-table { background-image: url('../img/icons/table.png'); }

button:has(.gs-icon),
.button:has(.gs-icon) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
