/**
 *  Base Layout
 */
html {
  height: 100%;
}

body {
  min-height: 100%;
}
body > .root {
  display: flex;
  flex: 1 1 0%;
  margin: 0;
  padding: 0;
  min-height: 100%;
  min-width: 0;
}
body > .root > .side-navigation {
  display: flex;
  min-height: 100vh;
}
body > .root > .main-container {
  display: flex;
  flex: 1 1 100%;
  flex-flow: column nowrap;
  align-content: flex-start;
  position: relative;
  min-width: 0;
}
body > .root > .main-container > header {
  max-width: calc(100vw - 90px);
  padding: 0 60px;
  box-sizing: border-box;
}
body > .root > .main-container main {
  box-sizing: border-box;
  text-align: left;
}
body > .root > .main-container > footer {
  max-width: calc(100vw - 90px);
  margin-top: auto;
  box-sizing: border-box;
}

#page {
  padding: 0 60px 60px;
  min-width: 0;
}