﻿:root {
  --accentcolor-r: 255;
  --accentcolor-g: 0;
  --accentcolor-b: 0;
  --accentcolor-p: var(--accentcolor-r), var(--accentcolor-g), var(--accentcolor-b);
  --accentcolor-pd: calc(var(--accentcolor-r) - 20),calc(var(--accentcolor-g) - 20),calc(var(--accentcolor-b) - 20);
  --accentcolor-pl: calc(var(--accentcolor-r) + 20),calc(var(--accentcolor-g) + 20),calc(var(--accentcolor-b) + 20);
  --accentcolor-pul: calc(var(--accentcolor-r) + 100),calc(var(--accentcolor-g) + 100),calc(var(--accentcolor-b) + 100);
  --accent-color: rgba(var(--accentcolor-p),1);
  --accent-color-dark: rgba(var(--accentcolor-pd),1);
  --accent-color-light: rgba(var(--accentcolor-pl),1);
  --accent-color-ultralight: rgba(var(--accentcolor-pul),1);
  --nth-odd-color: rgb(237, 237, 237);
  --nth-even-color: rgb(255, 255, 255);
  --nth-hover-color: rgb(210, 210, 210);
  --accent-contrast: rgb(255, 255, 255);
  --inputbordercolor: rgb(0,0,0);
  --inputbgcolor: white;
  --tablebordercolor: rgb(230, 230, 230);
  --bg-error: rgba(255, 0, 0,.5);
  --bg-sucess: rgba(154,205,50,.5);
  --padding: 5px;
  --margin: 5px;
  --fonts: "Open Sans",sans-serif;
  --font-size: 18px;
  --icon-size: max(calc(var(--font-size)*1.4),16px);
  --mobile-max-vertical-items: 2;
}

app-modalwindow {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 80vw;
  top: 25%;
  margin-top: auto;
  margin-bottom: auto;
  max-height: 80%;
  background: var(--accent-contrast);
  padding: var(--margin);
  z-index: 20;
  box-shadow: 0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108);
}

.labeledicon {
  cursor: pointer;
  text-decoration: none !important;
  display: inline-block;
  align-items: center;
  background-color: var(--accent-color-light);
  /*padding: var(--margin);*/
  padding: 1px;
  /*margin-right: var(--margin);*/
  padding-right: var(--padding);
  padding-left: var(--padding);
  padding-block: 2px;
  border: solid 1px transparent;
}
.labeledicon:before {
  font-family: "FabricMDL2Icons";
  padding-right: var(--padding);
  vertical-align: middle;
}
.labeledicon > label {
  display: none;
}

app-articlefilter .controls {
  position: sticky;
  bottom: 0;
  /*background: rgba(0,0,0,0.5);*/
  background: inherit;
}
app-articlefilter .controls c-field span {
  margin-right: var(--padding);
  margin-bottom: var(--padding);
}
app-articlefilter c-expandable {
  display: flex;
  flex-wrap: wrap;
  background: inherit;
  /*justify-content: center;*/
}
app-articlefilter c-expandable c-commandbar {
  align-self: flex-end;
  display: inline-flex;
}
app-articlefilter c-expandable c-commandbar .flexcontent {
  gap: var(--padding);
  display: flex;
}
app-articlefilter c-expandable:not([expanded]) .secondary {
  display: none;
}
app-articlefilter .labeledicon {
    background-color: var(--accent-color-dark);
    color: var(--accent-contrast);
}

pwu-app {
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
}

pwu-actioncenter .buttons {
  display: flex;
  flex-wrap: nowrap;
}
pwu-actioncenter .overlay, pwu-actioncenter .logs {
    position: fixed;
    min-width: 20vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    right: 0px;
    padding: var(--padding);
    z-index: 99;
}

pwu-actioncenter code {
    min-width: 250px;
    max-width: 250px;
    padding: var(--padding);
    display: block;
    border: solid 1px;
    border-left-width: var(--padding);
    background: white !important;
}

    pwu-actioncenter code.success {
        border-color: var(--bg-sucess);
    }

    pwu-actioncenter code.error {
        border-color: var(--bg-error);
    }

    pwu-actioncenter code.info {
        border-color: cornflowerblue;
    }

    pwu-actioncenter code.warn {
        border-color: gold;
    }

    pwu-actioncenter code p {
        margin: var(--padding);
        margin-left: 0px;
    }
    pwu-actioncenter code h2 {
        font-size: inherit;
        font-family: "Segoe UIX";
    }


pwu-viewheads {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}
pwu-viewheads pwu-viewhead {
  text-wrap: nowrap;
}

pwu-navbar {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}
pwu-navbar pwu-viewheads {
  flex-grow: 1;
}

pwu-body {
  flex-grow: 1;
  flex-shrink: 1;
}

.icon {
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  box-sizing: border-box;
}
.icon:before {
  font-family: "FabricMDL2Icons";
  content: "\f138";
}
.icon:hover {
  filter: brightness(85%);
}
.icon > label {
  display: none;
}

.contextmenulist:empty {
  display: none;
}

.icon.activator {
  background: var(--accent-color);
  background: inherit;
  color: var(--accent-contrast);
  color: inherit;
  right: 0px;
}

.icon.close {
  font-family: FabricMDL2Icons;
}
.icon.close:hover {
  filter: unset;
}
.icon.close:before {
  content: "\e8bb";
  font-size: 50%;
}

.activator:before {
  content: "\e972";
}

.expanded .activator:before {
  content: "\e971";
}

.horizontal .activator:before {
  content: "\e974";
}
.horizontal.expanded .activator:before {
  content: "\e973";
}

ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0px;
}

.l0 {
  margin-left: 0;
}

.l1 {
  margin-left: 15px;
}

.l2 {
  margin-left: 30px;
}

.l3 {
  margin-left: 45px;
}

.l4 {
  margin-left: 60px;
}

.l5 {
  margin-left: 75px;
}

.l6 {
  margin-left: 60px;
}

.a-Close {
  position: absolute;
  right: 0px;
  top: 0px;
  /*margin: var(--padding);*/
  border: solid 1px transparent;
}
.a-Close:before {
  content: "\e8bb";
  font-family: FabricMDL2Icons;
}

.a-Inherit:before {
  content: "\f547";
}

.a-Share {
  font-family: FabricMDL2Icons;
  content: "\e67d";
}
.a-Share:before {
  content: url("../images/share.svg");
  display: block;
  width: 1.3em;
  height: 1.3em;
  cursor: pointer;
  filter: invert(100%);
}

.a-Search:before {
  font-family: FabricMDL2Icons;
  content: "\eef5";
}

.a-ClearFilter:before {
  font-family: FabricMDL2Icons;
  content: "\ef8f";
}

/*#region wizard */
.wizard {
  min-height: 60vh;
}
.wizard .head {
  text-align: right;
}
.wizard .head .button {
  padding: 0.3em;
  background: var(--accent-color-light);
  color: var(--accent-contrast);
}
.wizard .head .button.selected {
  background: var(--accent-color);
}
.wizard .step {
  display: grid;
  grid-template-columns: 3fr 1fr 1fr;
  grid-template-rows: 40px auto;
  grid-template-areas: "title bleft bright" "content content content";
}
.wizard .button.next {
  grid-area: bright;
  align-self: center;
}
.wizard .button.prev {
  grid-area: bleft;
  align-self: center;
}
.wizard .content {
  grid-area: content;
  column-width: unset;
}
.wizard .steptitle {
  grid-area: title;
}

/*#endregion */
/*#region appdatatable */
table[is=app-datatable], table[is=c-datatable] {
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0;
  border: 0px !important;
}
table[is=app-datatable] > thead, table[is=c-datatable] > thead {
  /*     background-color: var(--accent-color-light);
  color: var(--accent-contrast);*/
  color: black;
  background-color: var(--nth-odd-color);
  /*      background: linear-gradient(red 1px, transparent 0) repeat no-repeat;
  background-position: bottom 1px right;*/
}
table[is=app-datatable] > thead .icon, table[is=c-datatable] > thead .icon {
  /*color: var(--accent-color-light);*/
  color: black;
}
table[is=app-datatable] > thead.fixed, table[is=c-datatable] > thead.fixed {
  top: 0px;
  position: sticky;
  z-index: 98;
}
table[is=app-datatable] > thead.fixed th, table[is=c-datatable] > thead.fixed th {
  background-color: inherit;
  border-bottom: solid 1px lightgrey;
  border-right: solid 1px lightgrey;
}
table[is=app-datatable] > thead > tr, table[is=c-datatable] > thead > tr {
  /*background: radial-gradient(red 1px, transparent 0) bottom/1px repeat no-repeat;*/
  /*background-color: inherit;*/
  background-color: inherit;
}
table[is=app-datatable] > thead > tr > th, table[is=c-datatable] > thead > tr > th {
  padding: var(--padding);
  padding-left: 10px;
  padding-right: 10px;
  text-align: left;
  cursor: pointer;
  /*
  .sorting {
      min-width: 1em;
  }

  .sorting.asc {
      &:before {
          content: "\EE68";
          font-family: FabricMDL2Icons;
      }
  }

  .sorting.desc {
      &:before {
          content: "\EE69";
          font-family: FabricMDL2Icons;
      }
  }

  .filtering {
      &:before {
          content: "\E71C";
          font-family: FabricMDL2Icons;
      }
  }

  .filtering.filtered {
      &:before {
          content: "\F412";
          font-family: FabricMDL2Icons;
      }
  }
  */
}
table[is=app-datatable] > thead > tr > th > .controls, table[is=c-datatable] > thead > tr > th > .controls {
  display: inline-flex;
  justify-content: space-between;
  width: 100%;
}
table[is=app-datatable] > thead > tr > th > .controls > *:first-child, table[is=c-datatable] > thead > tr > th > .controls > *:first-child {
  flex-grow: 1;
}
table[is=app-datatable] > thead > tr > th app-columnfilter, table[is=c-datatable] > thead > tr > th app-columnfilter {
  position: absolute;
  z-index: 99;
  display: block;
  background-color: var(--accent-contrast);
  color: black;
  padding: var(--padding);
  box-shadow: 0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108);
}
table[is=app-datatable] > tbody > tr, table[is=c-datatable] > tbody > tr {
  background-color: var(--nth-even-color);
}
table[is=app-datatable] > tbody > tr:nth-child(2n), table[is=c-datatable] > tbody > tr:nth-child(2n) {
  background-color: var(--nth-odd-color);
}
table[is=app-datatable] > tbody > tr > td, table[is=c-datatable] > tbody > tr > td {
  padding: var(--padding) calc(var(--padding) * 2) var(--padding) calc(var(--padding) * 2);
  vertical-align: top;
  background: radial-gradient(lightgrey 1px, transparent 0) right/1px no-repeat repeat;
  background-color: inherit;
}
table[is=app-datatable] > tbody > tr.item:focus, table[is=c-datatable] > tbody > tr.item:focus {
  background-color: unset;
  animation: highlightbg 2s;
}
table[is=app-datatable] .sorter:before, table[is=c-datatable] .sorter:before {
  /*           content: "\00a0";
  content: "\f797";*/
  content: "\e8cb";
}
table[is=app-datatable] .filterer:before, table[is=c-datatable] .filterer:before {
  content: "\e71c";
}
table[is=app-datatable] .filterer.filtered:before, table[is=c-datatable] .filterer.filtered:before {
  content: "\f412";
}
table[is=app-datatable] .icon.asc:before, table[is=c-datatable] .icon.asc:before {
  content: "\ee68";
}
table[is=app-datatable] .icon.desc:before, table[is=c-datatable] .icon.desc:before {
  content: "\ee69";
}

/*#endregion */
/*#region menu */
.hierarchy li > ul {
  /*margin-left: calc(var(--padding)*3);*/
  padding-top: var(--padding);
}
.hierarchy li {
  box-sizing: border-box;
  padding-bottom: var(--padding);
}

input.error, select.error, textarea.error {
  border: solid 1px red;
}

label.error {
  border-bottom: solid 1px red;
}

.hierarchyview {
  border-bottom: solid 1px #d3d3d3;
  color: var(--accent-contrast);
  background: var(--navbar-color);
  margin: 0;
  filter: brightness(95%);
  display: block;
}
.hierarchyview li {
  border-top: solid 1px #d3d3d3;
  padding: 0.3em 0.5em;
  margin: 0;
}
.hierarchyview li label:hover {
  filter: brightness(90%);
  cursor: pointer;
}
.hierarchyview li label:hover ul {
  font-weight: 400;
}
.hierarchyview li:before {
  content: "";
  min-width: 1em;
  display: inline-block;
  text-align: center;
}

div.navigation {
  grid-area: left;
  z-index: 10;
  position: absolute;
  top: 30px;
  left: 2px;
  min-width: 80vw;
  max-width: 80vw;
  min-width: 0;
}

.navigation {
  display: none;
}

/*#endregion */
/*#region viewinstances */
.viewinstances {
  grid-area: middle;
  overflow: hidden;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.viewinstances > div {
  white-space: nowrap;
  font-size: 90%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding-left: var(--padding);
}
.viewinstances > div:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
.viewinstances > div.selected {
  border-bottom: solid 1px var(--accent-contrast);
}
.viewinstances > a:first-child {
  border-left: none 2px #d3d3d3;
}
.viewinstances::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.pop.viewinstances:not(:empty) {
  background-color: var(--navbar-color);
  padding: 5px;
  grid-area: right;
  overflow-x: hidden;
  position: absolute;
  white-space: normal;
  z-index: 11;
  top: 30px;
  right: 0;
  text-align: right;
  max-height: 100vh;
  overflow-y: auto;
  height: auto;
  display: flex;
  flex-direction: column;
  filter: brightness(95%);
}

/*#endregion */
/*#region pager */
.pager, c-pager {
  font-size: 90%;
}
.pager a, c-pager a {
  text-decoration: none;
}
.pager a:hover, c-pager a:hover {
  text-decoration: none;
}
.pager a:visited, c-pager a:visited {
  text-decoration: none;
}
.pager .button, c-pager .button {
  margin-left: 2px;
  margin-right: 2px;
  display: inline-block;
}
.pager span, c-pager span {
  margin-left: 2px;
  margin-right: 2px;
  display: inline-block;
}
.pager input, c-pager input {
  width: 3em;
  font-size: inherit;
}
.pager label, c-pager label {
  position: absolute;
  right: 10px;
}

/*#endregion */
#progress {
  width: 90vw;
  position: fixed;
  top: 0.8em;
}
#progress .wrapper span {
  width: 5px;
  height: 5px;
  background: #fff;
  display: inline-block;
  position: relative;
  margin: 0 2px;
  border-radius: 50%;
  opacity: 0;
  top: -4px;
  animation: loading 2000ms ease-in-out infinite;
}
#progress .wrapper span:nth-child(5) {
  animation-delay: 0ms;
}
#progress .wrapper span:nth-child(4) {
  animation-delay: 100ms;
}
#progress .wrapper span:nth-child(3) {
  animation-delay: 200ms;
}
#progress .wrapper span:nth-child(2) {
  animation-delay: 300ms;
}
#progress .wrapper span:nth-child(1) {
  animation-delay: 400ms;
}

app-tabs .heads .selected {
  font-weight: bold;
}
app-tabs .heads .placeholder {
  display: none;
}
app-tabs .tab {
  border: solid 1px rgb(29, 64, 89);
  padding: 5px 5px;
  overflow: auto;
  border-top: solid 1px rgb(29, 64, 89);
  min-height: 200px;
}

c-tabs {
  display: block;
}
c-tabs c-head {
  padding: var(--padding);
  display: block;
  border: solid 2px transparent;
  position: relative;
  bottom: -2px;
}
c-tabs c-head:hover {
  cursor: pointer;
}
c-tabs c-heads {
  display: flex;
  background-color: var(--accent-contrast);
  border-bottom: solid 2px gainsboro;
}
c-tabs c-heads .selected {
  /*font-weight: bold;*/
  color: var(--accent-color);
  border-bottom: solid 2px var(--accent-color);
}
c-tabs c-heads .placeholder {
  display: none;
}
c-tabs tab {
  display: block;
  /*border: solid 1px rgb(29, 64, 89);*/
  padding: 5px 5px;
  overflow: auto;
  /*border-top: solid 2px var(--accent-color);*/
  min-height: 200px;
}

.filter {
  /*  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
      overflow: auto;*/
}
.filter .search {
  order: 2;
}
.filter .items.hidden {
  display: block;
}
.filter .items.hidden > item {
  display: block;
}
.filter .items.hidden > .item:not(:first-child) {
  display: none;
}
.filter .uifilter {
  width: 100%;
}

.queryeditor {
  display: grid;
  grid-template-rows: auto 200px auto auto auto auto;
  grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr);
  grid-template-areas: "top top top" "left control right" "left control right" "filter filter filter" "order order order" "bottom bottom bottom";
  grid-gap: var(--padding);
  color: black;
}
.queryeditor div[name=QueryName] {
  grid-area: top;
}
.queryeditor div[name=AllColumns] {
  grid-area: left;
  display: flex;
  flex-direction: column;
}
.queryeditor div[name=AllColumns] > app-metabrowser {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.queryeditor div[name=controlx] {
  grid-area: control;
}
.queryeditor div[name=SelectedColumns] {
  grid-area: right;
  display: flex;
  flex-direction: column;
}
.queryeditor div[name=SelectedColumns] > label {
  display: block;
}
.queryeditor div[name=Filters] {
  grid-area: filter;
}
.queryeditor div[name=OrderBy] {
  grid-area: order;
}
.queryeditor div[name=Control] {
  grid-area: bottom;
}
.queryeditor select[multiple] {
  width: 100%;
  overflow-x: auto;
  display: block;
  margin: 0px;
  flex-grow: 1;
}
.queryeditor .checklistbox {
  width: 100%;
  overflow-x: auto;
  display: block;
  margin: 0px;
  flex-grow: 1;
}
.queryeditor .filters, .queryeditor .filtereditor {
  margin-bottom: var(--padding);
  margin-left: var(--padding);
}

/* app-filtereditor {
     .asc {
         &:before {
             content: '\2191';
             font-family: entypo;
         }
     }

     .desc {
         &:before {
             content: '\2193';
             font-family: entypo;
         }
     }

     .Field {
         grid-area: topleft;
     }

     .SourceExpression {
         grid-area: top;
     }

     .Controls {
         grid-area: topright;
     }

     .Operator {
         grid-area: centerleft;
     }

     .Value {
         grid-area: center;
     }

     .FieldFormat {
         grid-area: bottomleft;
     }

     .Type {
         grid-area: bottom;
     }

     .Children {
         grid-area: footer;

         > div {
             padding-left: 20px;
         }
     }
 }*/
app-field, c-field {
  padding: var(--padding);
  display: inline-block;
  text-align: left;
}
app-field label[part], c-field label[part] {
  display: block;
}
app-field label:not([part]), c-field label:not([part]) {
  margin-left: var(--padding);
}

/*#region view action */
.vflex {
  display: flex;
  flex-direction: column;
}

.view.actions .flexcontent {
  display: flex;
  flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}
.view.actions label.placeholder {
  display: none !important;
}
.view.actions:empty {
  display: none;
}
.view.actions .collapsar {
  background: inherit;
  min-height: 1em;
  display: unset;
  right: 0;
}
.view.actions .collapsar:before {
  content: "\e764";
}

.view.actions.expanded {
  max-height: unset;
  background: inherit;
  max-width: unset;
  flex-wrap: wrap;
}
.view.actions.expanded .flexcontent {
  position: absolute;
  z-index: 99;
  background: inherit;
  border: solid 1px darkgrey;
}

/*#endregion */
/*#region commandbar */
c-commandbar label {
  display: block;
}
c-commandbar label:before {
  display: block;
}
c-commandbar.listactions label {
  display: none;
}
c-commandbar:not(.expanded):not(.listactions) label {
  /*display: none;*/
}
c-commandbar.expanded {
  max-height: unset;
}
c-commandbar.expanded c-command {
  max-height: unset;
  display: block;
}
c-heads .flexcontent {
  background-color: inherit;
  background-image: linear-gradient(to top, gainsboro 2px, transparent);
  background-position: bottom;
  background-size: 2px 2px;
  background-repeat: repeat-x;
}
c-heads.expanded .flexcontent {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
}

c-commandbar, c-heads {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  overflow: hidden;
  background-color: inherit;
  border-bottom: 0px !important;
  min-height: var(--icon-size);
  min-width: var(--icon-size);
}
c-commandbar .flexcontent, c-heads .flexcontent {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  overflow: hidden;
  flex-shrink: 1;
  flex-grow: 1;
}
c-commandbar .flexcontent > *, c-heads .flexcontent > * {
  white-space: nowrap;
}
c-commandbar .commands, c-heads .commands {
  display: flex;
  background-color: inherit;
  flex-grow: 1;
  position: relative;
  align-self: flex-start;
}
c-commandbar .controls, c-heads .controls {
  margin-left: auto;
  order: 1;
  position: sticky;
  right: 0px;
  background-color: inherit;
  align-content: center;
}
c-commandbar .activator, c-heads .activator {
  order: 1;
  flex-grow: 1;
  flex-shrink: 1;
}
c-commandbar.expanded, c-heads.expanded {
  overflow: initial;
  position: relative;
  min-height: 1em;
}
c-commandbar.expanded .flexcontent, c-heads.expanded .flexcontent {
  border: solid 1px lightgrey;
  flex-wrap: wrap;
}
c-commandbar.expanded .flexcontent > *, c-heads.expanded .flexcontent > * {
  white-space: normal;
}

pwu-viewheader {
  color: var(--accent-contrast);
  background: var(--accent-color) !important;
}

app-header, c-viewhead {
  padding: var(--padding);
}
app-header app-commandbar, c-viewhead app-commandbar {
  border-bottom: solid 1px var(--accent-contrast);
}
app-header app-commandbar .flexcontent, c-viewhead app-commandbar .flexcontent {
  flex-grow: 1;
}
app-header app-commandbar .activator, c-viewhead app-commandbar .activator {
  display: inline-block;
  order: -1;
}
app-header app-commandbar.expanded .icon:not(.activator), c-viewhead app-commandbar.expanded .icon:not(.activator) {
  display: flex;
  width: unset;
  height: unset;
  flex-direction: column;
  padding: var(--padding);
}
app-header app-commandbar.expanded .icon:not(.activator):before, c-viewhead app-commandbar.expanded .icon:not(.activator):before {
  font-size: 150%;
  margin-bottom: var(--padding);
}
app-header app-commandbar.expanded .icon > label, c-viewhead app-commandbar.expanded .icon > label {
  display: inline-block;
}
app-header > div.filter.collapsed input[type=date], c-viewhead > div.filter.collapsed input[type=date] {
  width: 8.3em;
  min-width: 8.3em;
}

/*#endregion */
pwu-viewheader,
app-header.header, c-viewhead.header {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: min-content min-content auto;
  grid-template-areas: "title" "commandbar" "filter";
  /*min-height: calc(var(--icon-size) + 2*var(--padding));*/
  color: var(--accent-contrast);
  background: var(--header-color);
}
pwu-viewheader .titlecontainer,
app-header.header .titlecontainer, c-viewhead.header .titlecontainer {
  grid-area: title;
}
pwu-viewheader .titlecontainer > .field,
app-header.header .titlecontainer > .field, c-viewhead.header .titlecontainer > .field {
  display: inline-block;
}
pwu-viewheader > app-commandbar,
app-header.header > app-commandbar, c-viewhead.header > app-commandbar {
  grid-area: commandbar;
}
pwu-viewheader > .filter,
app-header.header > .filter, c-viewhead.header > .filter {
  grid-area: filter;
  /*overflow-y: auto;*/
}

@media screen and (min-width: 900px) {
  .minmaxdate {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
  }
  .value.minmaxdate {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
  }
}
@media (max-width: 899px) {
  .viewinstances.hovering {
    visibility: hidden;
  }
  .viewinstances.hovering > div {
    font-size: 100%;
    padding: var(--padding);
  }
  .viewinstances.hovering.pop {
    visibility: unset;
  }
}
@media screen and (max-width: 600px) {
  app-commandbar .activator {
    display: inline-block;
  }
  app-commandbar:not(.expanded) .flexcontent:nth-child(1n+3):not(.activator) {
    display: none;
  }
  app-commandbar.horizontal.expanded {
    position: absolute;
    max-width: unset;
  }
}
@media screen and (min-width: 601px) and (max-width: 900px) {
  app-header.header, c-viewhead.header {
    grid-template-columns: auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "title" "commandbar" "filter";
  }
}
.filtergrid {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  grid-template-areas: "left right" "bottom bottom";
}

.filtergrid .commands {
  justify-self: end;
}
.filtergrid .commands .activator {
  order: unset;
}

.flex {
  display: flex;
}

.FloatingImage {
  float: left;
  padding-right: var(--padding);
  max-width: 50%;
}

.Justified {
    text-align: justify;
    padding-right: var(--padding);
    padding-left: var(--padding);
}

.invalid {
  border: solid 1px red;
}

col.c1 {
  background-color: red;
}

col.c2 {
  background-color: green;
  text-align: right;
}

col.c3 {
  background-color: blue;
}

li > ul {
  margin-left: calc(var(--padding, 5px) * 3);
}
