/* Generic */
body {
  background-color: #3A6EA5;
  font-family: Arial, Helvetica, sans-serif;
  /*margin: 48px 0 0 0;*/
  overflow: hidden;
}

body a {
  text-decoration: none;
}

.highlight {
  background-color: #EEEEEE;
  margin: -0.5rem 0;
}

figure {
  text-align: center;
}

figure > img {
  max-width: 100%;
}

figcaption {
  font-size: small;
}

footer {
  position: fixed;
  bottom: 0;
}

blockquote {
  border-left: 5px solid #3A6EA5;
  font-style: italic;
  margin: 0;
  padding-left: 2.5rem;
}
main {
  align-content: center;
  display: flex;
  height: calc(100dvh - 2.5rem);
  left: 0;
  justify-content: center;
  pointer-events: none;
  position: absolute;
  top: 2.5rem;
  width: 100vw;
  z-index: 3;
}
main > * {
  pointer-events: auto !important;
}
table {
  border:1px solid #EEEEEE;
  text-align: left;
}

thead {
  background-color: #3A6EA5;
  color: #EEEEEE;
}

tbody > :nth-child(even) {
  background-color: #EEEEEE;
}
.window {
  border-style: outset;
  box-sizing: border-box;
  box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, 0.5);
  margin: auto;
  max-height: calc(100dvh - 2.5rem);
}
.greyscale {
  filter: grayscale(100%);
}

/* h-card */
.h-card {
  display: none;
}

/* Taskbar */

.baseTaskbar {
  align-items: center;
  background-color: #d4cfc9;
  border-bottom: 1px solid darkgray;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  height: 40px;
  justify-content: space-between;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4;
}

.baseTaskbarLeft {
  display: flex;
  flex-direction: row;
  height: 40px;
  padding: 0 4px;
  grid-column-gap: 4px;
}

.baseTaskbarRight {
  display: flex;
  flex-direction: row-reverse;
  height: 40px;
  padding: 0 4px;
  grid-column-gap: 4px;
}

.baseTaskbarItem {
  border-radius: 0.275rem;
  border-style: outset;
  box-sizing: border-box;
  display: inline-block;
  margin: 0.25rem 0;
  height: 75%;
}
.baseTaskbarItemDroppedToTray {
  display: flex;
  flex-direction: row;
  padding: 4px;
}

.baseTaskbarItemDroppedToTrayIcon {
  height: 16px;
  width: 16px;
  padding-right: 4px;
}

.baseCopyright {
  border-style: inset;
  font-size: 66%;
  text-align: center;
  padding: 0 4px;
}

.baseSystemTrayItem {
  border: solid 1px transparent;
  margin: 4px 0;
  padding: 4px 0;
}

.baseSystemTrayItem:hover {
  border: outset 1px;
}

.baseSystemTrayIcon {
  width: 22px;
  height: 22px;
}

.baseTaskbarIcon {
  margin: 4px 0;
  padding: 4px 0;
  width: 22px;
  height: 22px;
}
.baseTaskbarIcon:hover > a > img {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.2));
}

.baseTaskbarItem a {
  color: black;
  font-weight: bold;
}
.baseTaskbarSummary::marker {
  content: ""
}
.baseTitleButton {
  align-items: center;
  display: flex;
  flex-direction: row;
  font-style: italic;
  font-size: 1rem;
  font-weight: bold;
  gap: 0.25rem;
  padding: 0.2rem 0.25rem 0.25rem 0.25rem;
  text-align: center;
}
#baseTaskbarMenuCheckbox {
  display: none;
}
.baseTaskbarMenuDropDownHost {
  position: relative;
}
.baseTaskbarMenuDropDown {
  border: outset 2px;
  background-color: #D4CFC9;
  display: none;
  flex-direction: column;
  margin-top: -4px;
  padding: 0.25rem;
  position: absolute;
  white-space: nowrap;
}
.baseTaskbarMenuDropDownItem {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  padding: 0.25rem;
}
.baseTaskbarMenuDropDown hr {
  clear:both;
  display:block;
  height: 1px;
  margin: 0;
  width: 100%;
}
.baseTaskbarMenuDropDownItem, .baseTaskbarMenuDropDownItem:visited {
  color: black;
}
.baseTaskbarMenuDropDownItem:hover {
  color: white;
  background-color: darkblue;
}
.baseTaskbarMenuDropDownItem:active {
  color: grey;
  text-shadow: 1px 1px 0 white;
}
#baseTaskbarMenuCheckbox:checked~.baseTaskbarMenuDropDown {
  display: flex;
}
.baseTaskbarMainMenuLabel {
  padding-top: 0.15rem;
}
#baseTaskbarMenuCheckbox:checked~.baseTitleButton, .baseTitleButton:hover, .baseTaskbarItemDroppedToTray:hover {
  border-style: inset;
  cursor: pointer;
}
.baseSeparator {
  padding: 0;
  width: 0;
}

.baseTrayActive {
  border: inset;
}

/* Desktop */

.iconsDesktop {
  align-content: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  left: 0;
  height: calc(100% - 40px);
  position: fixed;
  top: 40px;
  width: 100%;
  z-index: 1;
}
.iconsIconContainer {
  align-items: center;
  color: white;
  display: flex;
  flex-direction: column;
  height: 76px;
  margin: 14px;
  text-align: center;
  width: 76px;
}
.iconsIconContainer small, .iconsIconContainer .categoryLabel {
  border: 1px dotted transparent;
  min-height: 3rem;
  overflow: hidden;
  padding: 0 0.125rem;
  width: 80px;
}
.iconsIconContainer:hover small, .iconsIconContainer:hover .categoryLabel {
  border: 1px dotted darkgray;
  background-color: darkblue;
  z-index: 2;
  min-height: unset;
  overflow: unset;
}
.iconsIcon {
  height: 48px;
  width: 48px;
}
.iconsDesktop a {
  color: black;
  width: fit-content;
}

/* Articles */
.articleContainer {
  box-sizing: border-box;
  background-color: white;
  height: fit-content;
  width: 960px;
  max-width: 100vw;
  text-align: justify;
}
.articleWindowHeader {
  background: #000055;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: white;
  font-weight: bold;
  gap: 0.25rem;
  padding: 4px;
  width: calc(100% - 8px)
}
.articleWindowIcon {
  height: 22px;
  width: 22px;
  padding-right: 4px;
}
.articleWindowTitle {
  padding-top: 4px;
}
.articleWindowHeaderLeft {
  display: flex;
  flex-direction: row;
}
.articleWindowContent {
  box-sizing: border-box;
  padding: 4px;
  width: 100%;
}
.articleWindowContent div {
  overflow: auto;
  max-height: calc(100dvh - 84px - 6.5rem);
}
.window-body > div > * {
  margin-left: 1rem;
  margin-right: 1rem;
}
.window-body > div > p, blockquote p {
  line-height: 1.75rem;
}

/* Archive */

.articleWindowContent div .highlight {
  padding: 0.5rem 1rem;
}
.articleWindowClose {
  align-items: center;
  background-color: #d4cfc9;
  border-style: outset;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 13px;
  height: 16px;
  width: 16px;
  text-align: center;
}
.flexibleContainer {
  width: unset;
  min-width: min(75vw, 320px);
  max-width: min(100vw, 960px);
}
.archiveListItem {
  background-color: white;
  border: 1px solid white;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-left: 0;
  padding: 2px;
  column-gap: 1rem;
}
.archiveList a, .archiveList a:visited {
  color: black;
  margin: 0;
}
.archiveListItem:hover a {
  color: white;
}
.archiveListItem:hover > .archiveRight {
  background-color: darkblue;
}
.archiveListItem:hover {
  border: 1px dotted darkgray;
  background-color: darkblue;
  color: white;
  cursor: pointer;
}
.archiveLeft {
  white-space: nowrap;
  overflow: hidden;
  flex-shrink: 1;
}
.archiveRight {
  background-color: white;
  flex-shrink: 0;
  margin-top: 2px;
  white-space: nowrap;
}

/* Categories */

.categoryWindow {
  display: flex;
  flex-wrap: wrap;
  min-width: 19.5rem;
  padding-top: 0.875rem;
}

.categoryWindowContent a {
  color: black;
}

.categoryIconContainer {
  height: unset;
  width: 104px;
  margin: 0 0 !important;
  overflow: hidden !important;
}

.categoryIconContainer:hover .categoryLabel {
  color: white;
}

.categoryLabel {
  border: 1px dotted #ffffff00;
  font-size: smaller;
}
/* Tags */
.tagContainer {
    width: 960px;
}
.tagsWindow {
  background: url("/theme/images/arches.png");
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  scrollbar-gutter: stable;
  overflow-y: scroll;
  max-height: calc(100dvh - 5rem);
  align-items: flex-start;
}
.tagsWindowContent {
  box-sizing: border-box;
  width: 100%;
}
.tagWindow {
  background: white;
  border: outset 2px;
  min-height: 12.75rem;
  width: 308px;
}
.tagSubWindowHeader {
  background: #000055;
  display: flex;
  flex-direction: row;
  color: white;
  font-weight: bold;
  gap: 0.25rem;
  padding: 4px;
}
.tagSubWindowContent {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  color: black;
  height: 240px;
  overflow: auto;
  padding-bottom: 0.5rem
}
.tagTconsIconContainer {
  margin: 14px 10px;
}
.tagTconsIconContainer > small {
  color: black;
}
.tagTconsIconContainer:hover > small {
  color: white;
}
@media (max-width: 960px) {
  .tagContainer {
    width: 648px;
  }
}
@media (max-width: 640px) {
  .tagContainer {
    width: 486px;
  }
  .tagWindow {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .tagContainer {
    width: 100vw;
    height: calc(100dvh - 40px);
    top: 40px;
  }
  .tagWindow {
    width: 100%;
  }
  .tagsWindow {
    height: calc(100dvh - 76px);
    max-height: unset;
  }
  .tagsWindowContent {
    height: calc(100dvh - 40px);
    max-height: unset;
  }
}
/* Single Tag */
.singleTagWindow {
  background: url("/theme/images/arches.png");
  background-attachment: local;
  min-height: 24rem;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.singleTagIconContainer {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 4.75rem;
  width: 7.45rem;
}
.singleTagIcon {
  height: 2rem;
  width: 2rem;
}
.singleTagIconLabel {
  border: 1px solid #ffffff00;
  color: white;
  background: darkblue;
  font-size: 0.8rem;
  padding: 0.125rem
}
.singleTagIconContainer:hover .singleTagIconLabel {
  border: dotted 1px white;
}
.singleTagSubWindow {
  box-sizing: border-box;
  margin: 2rem;
  width: calc(100% - 4rem);
  max-height: unset;
  min-height: unset;
}
.singleTagClosedWindows {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding-top: 1rem;
  width: 100%;
}
@media (max-width: 640px) {
  .singleTagSubWindow {
    margin: 0;
    width: 100%;
  }
}
.tagAnchor, .tagAnchor:visited {
  color: white;
}
.tagAnchor:hover {
  color: white;
  cursor: pointer;
}
.tagWindowAnchor, .tagWindowAnchor:visited {
  color: white !important;
}
.tagWindowAnchor:hover {
  color: cornflowerblue !important;
  cursor: pointer;
}
.sinlgeTagWindowAnchor, .sinlgeTagWindowAnchor:visited {
  color: white;
}
.sinlgeTagWindowAnchor:hover {
  color: cornflowerblue;
  cursor: pointer;
}

/* Backlog */
.backlogWindowContent {
  box-sizing: border-box;
  overflow: auto;
  max-height: calc(100dvh - 80px);
  padding-bottom: 1.35rem;
}
.backlogContainer {
  background: #d4cfc9;
  bottom: 0;
  max-height: calc(100dvh - 2.5rem);
  left: 0;
  top: 2.5rem;
  width: 960px;
  max-width: 100vw;
}
.backlogBox {
  border: 0.5px solid #00000077;
  border-radius: 0.25rem;
  box-shadow: 0.5rem 0.5rem 0.5rem #00000077;
  margin: 1rem;
  padding: 1rem;
}
.backlogBoxLabel {
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: bold;
  user-select: none;
  width: fit-content;
}
.backlogBoxLabel::marker {
  content: "▶️ ";
  cursor: pointer;
}
details[open] > .backlogBoxLabel::marker {
  content: "🔽 "
}
.backlogPlatformFilters {
  box-sizing: border-box;
  font-size: smaller;
}
.backlogPlatformFilterList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding-top: 1rem;
}
.backlogPlatformFilterListItem {
  width: 10.75rem;
}
.backlogPlatformFilterInputInvert {
  background: none;
  color: inherit;
  border: none;
  padding: 0 0 0 3px;
  font: inherit;
  cursor: pointer;
  outline: inherit;
  text-align: left;
}
.backlogStatsPanel {
  padding: 1rem 1rem 0 1rem;
}
.backlogStats {
  border: 0.5px solid #00000077;
  border-radius: 0.25rem;
  box-shadow: 0.5rem 0.5rem 0.5rem #00000077;
  padding: 1rem;
}
.backlogStatLegend {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-top: 1rem;
  text-align: center;
  text-shadow: 1px 1px 0px #000000;
  width: 100%;
}
.backlogStatLegendSecond {
  padding-top: unset;
  justify-content: space-around;
}
.backlogStatRow {
  display: flex;
  flex-direction: row;
  margin: 1rem 0;
}
.backlogStatBar {
  border: 1px solid grey;
  border-radius: 0.45rem;
  display: flex;
  flex-direction: row;
  height: 0.9rem;
  min-width: 50%;
  width: 100%;
}
.backlogPlatformBreakdownToggle {
  cursor: pointer;
  padding-top: 1rem;
}
.backlogPlatformBreakdownToggle::marker {
  cursor: pointer;
  content: "▶️ ";
}
details[open] > .backlogPlatformBreakdownToggle::marker {
  content: "🔽 "
}
.backlogPlatformBreakdownStats {
  font-size: 0.75rem;
  margin-top: 0.75rem;
  width: 100%;
}
.backlogPlatformBreakdownStatsLabel {
  text-align: right;
  white-space: nowrap;
}
.backlogPlatformBreakdownStatsCell {
  width: 100%;
}
.backlogStatBarFill {
  height: 0.45rem;
  padding: 0.225rem 0;
  text-align: center;
}
.smallBar {
  background-color: grey;
}
.backlogBreakdownStatBarFill {
  border-radius: 0.4rem;
  height: 0.9rem;
  text-align: center;
}
.backlogStatBarFillStart {
  border-radius: 0.4rem 0 0 0.4rem;
}
.backlogStatBarFillEnd {
  border-radius: 0 0.4rem 0.4rem 0;
}
.backlogTabHandles {
  margin: 1rem 1rem 0 1rem;
}
.backlogTabHandle {
  color: #00000077;
  cursor: pointer;
  border: unset;
  border-radius: 0.25rem 0.25rem 0 0;
  background-color: #ffffff77;
  font-size: 1rem;
  padding: 0.5rem;
}
.backlogTabActive {
  color: black;
  background-color: white;
  border-top: 0.25rem solid white;
  border-left: 0.25rem solid white;
  border-right: 0.25rem solid white;
  box-shadow: 0.5rem 0.5rem 0.5rem #00000077;
}
.backlogTabContentWrapper {
  position: relative;
}
.backlogTabContent {
  background-color: white;
  box-shadow: 0.5rem 0.5rem 0.5rem #00000077;
  border-radius: 0.25rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 1rem 1rem 1rem;
  padding: 1rem;
  position: relative;
  z-index: 1;
}
.backlogInProgressTab {
  flex-direction: column;
  gap: 0.5rem;
}
.backlogInProgressTab > details {
  width: 100%;
}
.backlogKanbanLabel {
  font-weight: bold;
  border-bottom: 1px solid black;
}
.backlogKanbanInProgressField {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  padding-top: 0.5rem;
}
.backlogKanbanYear {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
.backlogKanbanColumn {
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: min(50%, 26.75rem);
}
.backlogKanbanColumnLabel {
  width: min(100vw - 4.25rem, 26.75rem);
}
.backlogRecord {
  display: flex;
  border: 1px solid black;
  border-radius: 0.25rem;
  box-sizing: border-box;
  box-shadow: 0.25rem 0.25rem 0.25rem #00000077;
  flex-direction: row;
  padding: 0.5rem;
  position: relative;
  width: 26.75rem;
}
.backlogKanbanColumn > .backlogRecord {
  width: min(100vw - 4.25rem, 26.75rem);
}
.backlogKanbanRecord {
  width: 13.375rem;
}
.backlogRecordTitle {
  font-weight: bold;
  text-align: left;
}
.backlogRecordKanbanTitle {
  font-size: 0.75rem;
}
.backlogFloppy {
  height: 8rem;
  width: 8rem;
  min-width: 8rem;
}
.backlogFloppyLabel {
  background-color: white;
  border-radius: 0.25rem;
  box-sizing: border-box;
  font-size: 0.7rem;
  width: 3.25rem;
  height: 1.5rem;
  position: absolute;
  padding: 0.25rem 0.25rem 0 0.25rem;
  top: 1rem;
  left: 4.75rem;
}
.backlogFloppyLabelHead {
  position: absolute;
  border-radius: 0.25rem 0.25rem 0 0;
  padding: 0.25rem 0 0 0;
  width: 3.25rem;
  top: 1rem;
  left: 4.75rem;
}
.backlogFloppyLabelStripes {
  box-sizing: border-box;
  position: absolute;
  border-style: solid;
  border-width: 1px;
  border-left: unset;
  border-right: unset;
  padding: 0.375rem 0 0 0;
  width: 3.25rem;
  top: 1.625rem;
  left: 4.75rem;
}
.backlogFloppyRating {
  text-shadow: 0.125rem 0.125rem 0.125rem #00000077;
  position: absolute;
  font-size: 0.5rem;
  top: 1rem;
  left: 1rem;
}
.backlogFloppyLabelText {
  font-size: 1.1rem;
  position: absolute;
  width: 3.25rem;
  top: 1.2rem;
  left: 4.75rem;
  text-align: center;
}
.backlogFloppyLabelTextRejected {
  color: darkred;
  font-size: 0.75rem;
  font-weight: bold;
  top: 1.4rem;
  transform: rotate(-15deg);
}
.backlogFloppyLabelTextPaused {
  font-size: 0.65rem;
  top: 1.4rem;
}
.backlogKanbanFloppy {
  height: 4rem;
  width: 4em;
  min-width: 4rem;
}
.backlogKanbanFloppyLabel {
  border-radius: 0.125rem;
  width: 1.625rem;
  height: 0.75rem;
  padding: 0.125rem 0.125rem 0 0.125rem;
  top: 0.75rem;
  left: 2.625rem;
}
.backlogKanbanFloppyLabelHead {
  border-radius: 0.125rem 0.125rem 0 0;
  padding: 0.125rem 0 0 0;
  width: 1.625rem;
  top: 0.75rem;
  left: 2.625rem;
}
.backlogKanbanFloppyLabelStripes {
  padding: 0.1875rem 0 0 0;
  width: 1.625rem;
  top: 1.0625rem;
  left: 2.625rem;
}
.backlogRecordDetails {
  margin-left: 0.5rem;
}
.backlogRecordDetailsMeta {
  font-size: 0.75rem;
}
.backlogKanbanRecordDetailsMeta {
  font-size: 0.625rem;
}
@media (max-width: 550px) {
  .backlogStatLegend {
    font-size: 0.75rem;
  }
  .backlogTabHandle {
    font-size: 0.75rem;
  }
}
/* Backlog Statusbar */
.statusbarWrapper {
  align-items: center;
  background-color: #D4CFC9;
  bottom: 0;
  display: flex;
  font-size: 0.75rem;
  gap: 0.25rem;
  left: 0;
  overflow: auto;
  padding: 0.25rem;
  position: sticky;
  right: 0;
  scrollbar-width: none;
  z-index: 5;
}
.statusbar {
  align-items: center;
  border: 0.125rem inset;
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  height: 1.35rem;
  margin: 0 !important;
  padding: 0 0.25rem;
  white-space: nowrap;
  width: fit-content;
}
.statusbar a, .statusbar a:visited {
  color: #0000EE;
}
.statusbarLast {
  flex-grow: 1;
}