@font-face {
  font-family: Frutiger;
  font-weight: 400;
  src: url('../../fonts/FrutigerLTW05-55Roman.woff2') format("woff2"),
       url('../../fonts/FrutigerLTW05-55Roman.woff') format("woff")
}
@font-face {
  font-family: Frutiger;
  font-weight: 700;
  src: url('../../fonts/FrutigerLTW05-75Black.woff2') format("woff2"),
       url('../../fonts/FrutigerLTW05-75Black.woff') format("woff")
}

body {
  margin: 0;
  font-family: Frutiger,sans-serif;
  font-weight: var(--font-weight);
  font-size: 1rem;
  line-height: var(--line-height);
  color: var(--font-color);
  -webkit-font-smoothing: antialiased
}

h1,h2,h3,h4,h5,h6 {
  font-size: var(--font-size);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-headings);
  color: var(--font-color)
}
h1,.t1 {
  --font-size: var(--font-size-h1)
}
h2,.t2 {
  --font-size: var(--font-size-h2)
}
h3,.t3 {
  --font-size: var(--font-size-h3)
}
h4,.t4 {
  --font-size: var(--font-size-h4)
}
h5,.t5 {
  --font-size: var(--font-size-h5)
}
h6,.t6 {
  --font-size: var(--font-size-h6)
}

a {
  color: var(--font-color);
  text-decoration: underline;
}
a:hover {
  color: var(--color-primary);
}

/* grid layout definition */
#grid-layout {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "header header"
    "nav main"
    "footer footer";
  min-height: 100vh;
}

/* header */
header {
  grid-area: header;
}

.main-navigation ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 -1px
}
.main-navigation li {
  display: inline-flex;
  margin-right: 1.25rem
}
.main-navigation a {
  text-decoration: none;
}
.main-navigation-item {
  --font-size: var(--font-size-2xl);
  --font-weight: var(--font-weight-bold);
  --padding-y: .6875rem;
  --line-height: 1.75rem;
  padding-top: var(--padding-y);
  padding-bottom: var(--padding-y);
  text-decoration: none;
  line-height: var(--line-height);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  color: var(--font-color)
}
.main-navigation-item[aria-current=page] {
  --font-color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary)
}
.main-navigation-item:hover {
  --font-color: var(--color-primary)
}

.meta-navigation a {
  color: var(--font-color);
  text-decoration: none;
}

/* navigation */
nav {
  grid-area: nav;
}

.site-navigation {
  padding: 1.5rem;
  -webkit-hyphens: none;
  hyphens: none
}
.site-navigation h5 {
  --font-color: var(--link-color-hover);
  margin: 0 0 var(--spacer-6);
  line-height: 120%
}
.site-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none
}
.site-navigation ul ul {
  padding-left: var(--spacer-4);
  border-top: 1px solid var(--color-line-light)
}
.site-navigation ul ul li {
  border-top: none
}
.site-navigation ul ul li:last-child {
  border-bottom: none
}
.site-navigation ul ul ul {
  padding-left: var(--spacer-2)
}
.site-navigation li {
  border-top: 1px solid var(--color-line-light)
}
.site-navigation li:last-child {
  border-bottom: 1px solid var(--color-line-light)
}
.site-navigation a {
  --link-color: var(--color-typo);
  text-decoration: none;
  padding: var(--spacer-4) var(--spacer-4) var(--spacer-4) 0;
  font-size: var(--font-size-base);
  color: var(--link-color);
  display: block
}
.site-navigation ul ul a {
  padding: var(--spacer-2) var(--spacer-2) var(--spacer-2) 0;
}
.site-navigation a.rootline,.site-navigation a.active {
  --link-color: var(--color-primary)
}
.site-navigation a.rootline+ul,.site-navigation a.active+ul {
  border-color: var(--color-primary)
}


/* main content */
main {
  grid-area: main;
  padding-right: 1.5rem;
  padding-bottom: 1.5rem;
}

.pagetitle {
  font-size: var(--font-size-4xl);
  margin-bottom: 1rem;
}


/* table */
/* 2. Responsive Table Wrapper Container */
.table-container {
  position: relative;
  width: 100%;
  overflow-auto: auto;
  border: 1px solid var(--table-border-color);
  border-radius: var(--table-border-radius);
  background-color: var(--table-background-color);
}

/* 3. Base Table Structure */
.bd-table, .bd-data-view {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem; /* 14px text scaling */
}

/* Table Header Styles */
.bd-table thead, .bd-data-view thead {
  border-bottom: 1px solid var(--table-border-color);
  background-color: transparent;
}

.bd-table th, .bd-data-view th {
  padding: 0.5rem;
  text-align: left;
  vertical-align: middle;
  font-weight: var(--font-weight-bold);
}
.bd-data-view th a {
  color: var(--font-color);
  background-position:right center;
  background-repeat:no-repeat;
  padding-right: var(--spacer-4);
  text-decoration: none;
}
.bd-data-view .navigation td {
  padding-top: 0;
  padding-bottom: 0;
}
.bd-data-view th.wicket_orderDown a { background-image: url("../../images/icons/sort_arrow_down.png"); color:black; }
.bd-data-view th.wicket_orderUp a { background-image: url("../../images/icons/sort_arrow_up.png"); color:black; }
.bd-data-view th.wicket_orderNone a { background-image: url("../../images/icons/sort_arrow_off.png"); }
.bd-data-view tr.filters-tr {
  border-top: 1px solid var(--table-border-color);
}
.bd-data-view input[type="text"],
.bd-data-view input[type="email"],
.bd-data-view input[type="password"],
.bd-data-view input[type="number"],
.bd-data-view input[type="tel"],
.bd-data-view input[type="url"],
.bd-data-view input[type="search"],
.bd-data-view textarea {
  position: relative;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
  padding: 0.25rem;
  width: calc(100% + 0.5rem);
  color: var(--font-color);
  border: 1px solid var(--table-border-color);
  border-radius: 4px;
}
.bd-data-view button.go { border: none; width: 16px; height: 16px; background-color: #ffffff; background-image: url("../../images/icons/filter_go.png"); background-repeat: no-repeat; cursor: pointer; }
.bd-data-view button.clear { border: none; width: 16px; height: 16px; background-color: #ffffff; background-image: url("../../images/icons/filter_clear.png"); background-repeat: no-repeat; cursor: pointer; }

/* Table Body Styles */
.bd-table tbody tr, .bd-data-view tbody tr {
  border-bottom: 1px solid var(--table-border-color);
  transition: background-color var(--transition-fast);
}

/* Row border reset for the final row */
.bd-table tbody tr:last-child, .bd-data-view tbody tr:last-child {
  border-bottom: 0;
}

/* Contextual interaction states */
.bd-table tbody tr:hover, .bd-data-view tbody tr:hover {
  background-color: var(--table-muted-background-color);
}

.bd-table tbody tr[data-state="selected"], .bd-data-view tbody tr[data-state="selected"] {
  background-color: var(--table-muted-background-color);
}

/* Disabled/inactive row */
.bd-table tbody tr.disabled, .bd-data-view tbody tr.disabled,
.bd-table tbody tr.disabled a, .bd-data-view tbody tr.disabled a {
  color: var(--color-gray-dark);
}

/* Cell Elements */
.bd-table td, .bd-data-view td {
  padding: 0.5rem;
  vertical-align: middle;
}

/* Table Footer / Summary Row */
.bd-table tfoot, bd-data-view tfoot {
  border-top: 1px solid var(--table-border-color);
  background-color: var(--table-muted-background-color);
  font-weight: 500;
}

.bd-table tfoot td, .bd-data-view tfoot td {
  padding: 1rem;
}

/* Vertical alignment modifiers (opt-in per table, default remains middle) */
.bd-table.bd-data-view--align-top th, .bd-data-view.bd-data-view--align-top th,
.bd-table.bd-data-view--align-top td, .bd-data-view.bd-data-view--align-top td {
  vertical-align: top;
}
.bd-table.bd-data-view--align-bottom th, .bd-data-view.bd-data-view--align-bottom th,
.bd-table.bd-data-view--align-bottom td, .bd-data-view.bd-data-view--align-bottom td {
  vertical-align: bottom;
}

/* Table Caption */
.bd-table caption, bd-data-view caption {
  margin-top: 1rem;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-lg);
  text-align: left;
}

.filter .title { font-weight: var(--font-weight-bold); }

.bd-shortinfo p {
  margin: 0;
}
.bd-shortinfo td.handle {
  cursor: pointer;
}

.feedback ul { margin: 0 0 var(--spacer-4) 0; padding: var(--spacer-2); list-style: none; border: 1px solid var(--table-border-color) }
.feedback li {}
.feedback li.feedbackPanelINFO { color: var(--font-color); }
.feedback li.feedbackPanelERROR { color: var(--color-primary); }

/* graph eval */
.bd-ge-container { position: relative; }
.bd-ge-legend {
  overflow: hidden;
  background-color: #ffffff;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm) !important;
}
.bd-ge-legend p { margin: 0; }
.bd-ge-legend img.rangelegendinfocolor { border: 1px solid #999999; }
.bd-ge-legend:hover .bd-ge-legend-bar { display: block; }
.bd-ge-legend-bar { display: none; position: absolute; top: 1px; right: 1px; background-color: #eeeeee; }
.bd-ge-legend-bar a { text-decoration: none; }
.bd-ge-preview img { border: 1px dotted #999999; }
span.rangelegendinfocolor { border: 1px solid #999999; width: 20px; height: 20px; display: inline-block; margin-right: 4px; }
div#tooltip {
  padding: 2px 5px;
  border: 1px solid #999999;
  display: none;
  font-size: var(--font-size-sm);
  background: #ffffff;
  text-align: left;
  position: absolute;
  z-index: 1000;
}

/*
span.rangelegendinfocolor, div.rangelegendinfocolor { border: 1px solid #999999; width: 15px; float: left; margin-right: 5px; }
img.rangelegendinfocolor { border: 1px solid #999999; }
.grapheval { position: relative; }
.preview { position: absolute; }
.preview img { border: 1px dotted #999999; }
div#tooltip { padding: 3px; border: 1px solid #999999; display: none; background: #ffffff; color: #000000; text-align: left; position: absolute; z-index: 1000; }
div.grapheval div.message { margin: 10px 0px 0px 10px; font-weight: bold; }

div.legend { overflow: hidden; background-color: #ffffff; }
div.legend:hover .bar { display: block; }
div.legend p { margin-top: 0px; }
.bar { display: none; position: absolute; top: 1px; right: 1px; background-color: #eeeeee; }
.bar a { text-decoration: none; }
.bar span { float: left; background-color: #dddddd; margin-left: 1px; cursor: pointer; }
*/
.code { font-family: monospace; }

/* footer */
footer {
  grid-area: footer;
}


