html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 1180px) {
  header {
    display: flex;
    height: auto;
    min-height: 0;
    flex-wrap: wrap;
    gap: 7px 12px;
    padding: 10px 16px 0;
  }

  header .brand {
    min-width: 0;
  }

  header .header-tools {
    margin-left: auto;
  }

  header nav {
    order: 3;
    display: flex;
    width: calc(100% + 32px);
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -16px;
    padding: 0 8px;
    overflow: visible;
    border-top: 1px solid rgba(255, 255, 255, .14);
  }

  header nav .nav {
    min-height: 42px;
    padding: 0 10px;
    white-space: nowrap;
  }
}

@media (max-width: 700px) {
  main,
  .view {
    min-width: 0;
    max-width: 100%;
  }

  .game-grid,
  .team-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #standings > .toolbar,
  #state-rankings > .toolbar,
  #bracket > .toolbar,
  #teams > .toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }

  #standings > .toolbar > *,
  #state-rankings > .toolbar > *,
  #bracket > .toolbar > *,
  #teams > .toolbar > * {
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }

  #standings > .toolbar input,
  #state-rankings > .toolbar input,
  #bracket > .toolbar input,
  #teams > .toolbar input {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 450px) {
  #standings > .toolbar,
  #state-rankings > .toolbar,
  #bracket > .toolbar,
  #teams > .toolbar {
    grid-template-columns: minmax(0, 1fr);
  }
}
