

/* roboto-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/roboto-v47-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('/assets/roboto-v47-latin_latin-ext-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('/assets/roboto-v47-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 600;
  src: url('/assets/roboto-v47-latin_latin-ext-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

* {
  box-sizing: border-box;
}
a {
  color: inherit;
  text-decoration: none;
  &:hover {
    text-decoration: underline;
  }
}
body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  min-height: 100vh;
  header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 0.25rem;
    background-color: var(--background-color);
    color: var(--font-color);
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.7));
    z-index: 100;
    height: 2.5rem;

    #logo {
      float: left;
      max-height: 2rem;
    }
  }
  footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    color: var(--font-color);
    background-color: var(--background-color);
    filter: drop-shadow(0px -2px 5px rgba(0, 0, 0, 0.7));
    @media only screen and (max-width: 600px) {
      font-size: 0.7rem;
    }
  }
  aside {
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.7));
    position: fixed;
    display: block;
    left: 0;
    width: 20rem;
    bottom: 1.4rem;
    top: 2.5rem;
    padding-top: 1rem;
    z-index: 99;
    color: var(--font-color);
    background-color: var(--background-color);
    ul {
      list-style: none;
      margin: 0;
      padding: 0;
      li {
        a {
          display: block;
          padding: 1rem;
        }
        display: block;
        border-bottom: 1px solid var(--accent-color);
        &:first-child {
          border-top: 1px solid var(--accent-color);
        }
        &.active {
          font-weight: bold;
        }
      }
    }
  }
  main {
    display: grid;
    padding-top: 2.5rem;
    min-height: calc(100vh - 1.5rem);
    color: var(--font-color);
    @media only screen and (max-width: 600px) {
      padding-top: 3.5rem;
      min-height: calc(100vh - 1.5rem);
    }
    margin-bottom: 1.5rem;
    margin-left: 20rem;

    .error {
      place-self: center;
      max-width: 80vw;
      padding: 1rem;
      color: #f00;
      background-color: var(--background-color);
      border: 1px solid var(--accent-color);
      filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.7));
    }

    #shop {
      min-width: 60rem;
    }
    #start {
      > .gridtable {
        grid-template-columns: 14rem 1fr;
      }
    }
    #dokumente,
    #login {
      > .gridtable {
        grid-template-columns: 14rem 1fr 14rem 1fr;
        @media only screen and (max-width: 600px) {
          grid-template-columns: 10rem 1fr;
        }
      }
    }
    #shop,
    #layout,
    #dokumente,
    #start,
    #login {
      place-self: center;
      width: calc(90vw - 20rem);
      place-self: start center;
      margin-top: 5vw;
      max-width: 80vw;
      @media only screen and (max-width: 600px) {
        width: 95vw;
        max-width: none;
      }
      padding: 0;
      background-color: var(--background-color);
      border: 1px solid var(--accent-color);
      filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.7));
      h2 {
        margin: 0;
        padding: 0.25rem 0.5rem;
        background-color: var(--accent-color);
        color: var(--accent-font-color);
        font-weight: normal;
      }
      > .gridtable {
        padding: 0.5rem;
        display: grid;
        grid-gap: 0.5rem;
      }
      form {
        padding: 0.5rem;
        min-width: 30rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 0.5rem;
        @media only screen and (max-width: 600px) {
          grid-template-columns: 1fr;
          min-width: 90vw;
        }
        .grid2 {
          grid-column: span 2;
          @media only screen and (max-width: 600px) {
            grid-row: span 1;
          }
        }
        .loginerror {
          padding-top: 0.5rem;
          text-align: center;
          color: #f00;
          grid-column: span 2;
          @media only screen and (max-width: 600px) {
            grid-row: span 1;
          }
        }
      }
      .drawrpallete-wrapper {
        button {
          width: 7rem;
          color: var(--accent-font-color) !important;
          display: inline-block;
          margin-top: 0;
          margin-right: 0.5rem;
          text-align: center;
        }
      }
      form > div {
        > input,
        > label,
        > button,
        > textarea,
        > select {
          display: block;
          width: 100%;
        }

        > label {
          font-size: 0.7rem;
          margin-top: 0.5rem;
        }

        > input.switcher + label {
          display: inline-block;
          width: auto;
        }

        > select,
        > input {
          border: 1px solid var(--accent-color);
          font-size: inherit;
        }

        > textarea:not(.wysiwyg) {
          border: 1px solid var(--accent-color);
          font-size: inherit;
          font-family: inherit;
          resize: vertical;
          min-height: 6rem;
        }
        > textarea.wysiwyg {
          border: 1px solid var(--accent-color);
          resize: vertical;
        }

        > .image_upload_container {
          line-height: 0;

          img {
            width: 10rem;
            max-height: 5rem;
            float: left;
            object-fit: contain;
            object-position: left;
          }

          input {
            margin-left: 1rem;
            display: inline-block;
            width: calc(100% - 11.5rem);
          }
        }

        > button {
          width: 100%;
          background-color: var(--accent-color);
          border: none;
          color: var(--accent-font-color);
          padding: 0.25rem 0.5rem;
          text-align: center;
          font-size: inherit;
          cursor: pointer;
          margin-top: 0.5rem;
        }
        .filelist {
          display: grid;
          grid-template-columns: 1fr 1fr 5rem;
          .header {
            font-weight: bold;
          }
          .empty {
            grid-column: span 3;
            text-align: center;
            font-style: italic;
            &:not(.active) {
              display: none;
            }
          }
          a,
          button {
            border: none;
            padding: 0;
            display: inline-block;
            background-color: transparent;
            cursor: pointer;
            font-size: inherit;
          }
        }
        .drawrpallete-wrapper button {
          background-color: var(--accent-color);
          border: none;
          color: var(--accent-font-color);
          padding: 0.25rem 0.5rem;
          text-align: center;
          font-size: inherit;
          cursor: pointer;
        }
        .linklist {
          display: grid;
          grid-template-columns: 1fr 2fr 6rem 5rem;
          .header {
            font-weight: bold;
          }
          .empty {
            grid-column: span 4;
            text-align: center;
            font-style: italic;
            &:not(.active) {
              display: none;
            }
          }
          button {
            border: none;
            padding: 0;
            display: inline-block;
            background-color: transparent;
            cursor: pointer;
            font-size: inherit;
          }
        }
      }
    }
  }
}

.tabs {
  margin-top: 0.5rem;
  >ul {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border-bottom: 1px solid var(--accent-color);
    >li {
      cursor: pointer;
      padding: 0.25rem 0.5rem;
      position: relative;
      top: 1px;
      display: inline-block;
      float: left;
      border-bottom: 1px solid var(--accent-color);
      border-right: 1px solid var(--accent-color);
      border-top: 1px solid var(--accent-color);
      &.active {
        border-bottom: 1px solid var(--background-color);
      }
    }
    &:after {
      clear: left;
      display: block;
      content: '';
    }
  }
  >.container {
    display: none;
    &.active {
      display: block;
    }
  }
}
