.layout-main-window {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  overflow: auto;
}
.layout-main-window-title-bar {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background-color: var(--grey-light);
}
.layout-main-window-logo {
  height: 4em;
}
.layout-main-window-title {
  flex-grow: 1;
  padding: 0.5em 0;
  font-size: 1.3em;
  color: var(--primary-dark);
}
.layout-main-window-body {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  flex-shrink: 1;
  overflow: auto;
}
.layout-main-window-nav {
  width: 15em;
  max-width: 100%;
  position: relative;
  overflow: auto;
  flex-grow: 0;
  flex-shrink: 0;
}
.layout-main-window-body > div:nth-child(2) {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: auto;
  flex-grow: 1;
  flex-shrink: 1;
}
.layout-main-window-content {
  flex-grow: 1;
  flex-shrink: 1;
  overflow: auto;
}
.layout-main-window-progress-list {
  max-height: 50%;
  overflow: auto;
  flex-shrink: 0;
}
.layout-main-window-progress-title {
  font-size: 0.8em;
  margin: 0 0.5em;
}
.layout-main-window-progress-bar {
  margin: 0.2em 0.5em 0.5em;
  height: 0.5em;
  background-color: #ccc;
  position: relative;
  overflow: hidden;
}
.layout-main-window-progress-fill {
  position: absolute;
  background-color: #666;
  top: 0;
  left: 0;
  bottom: 0;
}
.layout-main-window-progress-fill.marque {
  width: 50%;
  left: unset;
  animation-name: layout-main-window-progress-marque;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes layout-main-window-progress-marque {
  from {
    left: -50%;
  }
  to {
    left: 100%;
  }
}