.nsw-container {
  @include container;

  &--flush {
    padding-left: 0;
    padding-right: 0;
  }
}

.nsw-grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: rem($grid-container-offset);
  margin-right: rem($grid-container-offset);
  align-items: stretch;

  > .nsw-col {
    padding: rem($grid-gutters);

    @include breakpoint('md') {
      padding: rem($grid-gutters*2);
    }
  }

  &--no-gutters {
    margin-left: 0;
    margin-right: 0;

    > .nsw-col {
      margin-left: 0;
      margin-right: 0;
    }
  }
}

@include grid-columns;

.nsw-layout {
  display: block;
}

.nsw-layout--sidebar-left {
  @include breakpoint('md') {
    display: grid;
    grid-gap: rem($layout-gap);
    grid-template:
      'sidebar main' auto /
      minmax(rem($layout-sidebar-minwidth), $layout-sidebar-maxwidth) 1fr;
  }
}

.nsw-layout--sidebar-right {
  @include breakpoint('md') {
    display: grid;
    grid-gap: rem($layout-gap);
    grid-template:
      'main sidebar' auto /
      1fr minmax(rem($layout-sidebar-minwidth), $layout-sidebar-maxwidth);
  }
}


.nsw-layout__sidebar {
  @include nsw-spacing(margin-top, xl);
  grid-area: sidebar;

  &--nav {
    display: none;

    @include breakpoint('md') {
      display: block;
    }
  }
}

.nsw-layout__content {
  @include nsw-spacing(margin-top, xl);
  grid-area: main;
}
