:root {
  --theme-color-1: #F8F8F8;
  --theme-color-2: #EAEAED;
  --theme-color-3: #3DD095;
  --theme-color-4: #282939;
  --theme-color-5: #015cbb;
}

body {
  margin: 0;

  a:link,
  a:visited {
    color: var(--theme-color-3);
    text-decoration: none;
  }
}

#body-sidebar {
  height: 100%;
  width: 320px;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #313347;
  overflow-x: hidden;
  color: var(--theme-color-1);
  transition: transform 0.3s ease;

  a:link,
  a:visited {
    color: var(--theme-color-2);
  }

  a:hover {
    color: var(--theme-color-3);
  }

  ul {
    padding-left: 0px;
  }

  li {
    list-style-type: none;
  }

  .banner-bar {
    background-color: var(--theme-color-4);

    span.title {
      font-weight: 900;
      font-size: 36px;
    }

    img.logo {
      width: 48px;
      height: 48px;
    }
  }

  .nav {
    li.current {
      font-weight: bold;
    }

    li {
      height: 42px;
      display: flex;
      align-items: flex-end;
      gap: 8px;
    }
  }
}

#body-content {
  margin-left: 320px;
  transition: margin-left 0.3s ease;

  .banner-bar {
    background-color: var(--theme-color-2);
    color: #313347;

    span.title {
      font-size: 24px;
      font-weight: 600;
    }
  }

  #page-content {
    background-color: white;
    padding-bottom: 96px;
  }

  .content-wrapper {
    max-width: 1080px;
    padding-bottom: 96px;
  }

  table {
    margin-bottom: 48px;
  }

  table td,
  table th {
    padding: 16px;
  }

  table th {
    background-color: var(--theme-color-2);
    text-align: left;
    text-wrap: nowrap;
  }
}

@media only screen {
  body {
    background-image: url("mosaic.png");
    color: #223;
    font-family: Lexend, sans-serif;
  }

  body.sidebar-toggled {
    #body-sidebar {
      transform: translateX(-100%);
    }

    #body-content {
      margin-left: 0;
    }
  }

  #page-footer p {
    font-size: 90%;
  }

  #page-footer p.disclaimer {
    opacity: 0.7;
  }
}

@media only screen and (max-width: 800px) {
  #body-sidebar {
    transform: translateX(-100%);
  }

  #body-content {
    margin-left: 0;
  }

  body.sidebar-toggled {
    #body-sidebar {
      transform: translateX(0);
      box-shadow: 8px 0px 8px #60606060;
    }

    #body-content {
      margin-left: 0;
    }
  }
}

@media only print {
  @page {
    padding: 48px;
    margin: 0;
  }

  #body-content {
    margin-left: 0;
  }

  #body-sidebar,
  #body-content>.banner-bar,
  #page-footer {
    display: none;
  }
}

.banner-bar {
  padding: 0px 24px;
  height: 96px;
  display: flex;
  align-items: center;
  gap: 8px;

  .material-icons {
    font-size: 36px;
  }
}

.content-wrapper {
  padding: 24px;
}

.company-name {
  text-transform: lowercase;
  font-weight: 800;
  font-size: 125%;

  .title-cloud {
    color: var(--theme-color-5);
  }

  .title-pave {
    color: var(--theme-color-3);
  }
}

.button-cta {
  background-color: var(--theme-color-5);
  padding: 16px 32px;
  border-radius: 4px;
  font-weight: 600;

  &:link,
  &:visited {
    color: white;
  }
}


#side-panel-toggle {
  cursor: pointer;
  user-select: none;
}