@import "~styles/helpers";

.layout {
  $footer-height: 287px;

  margin: 0 auto;
  width: 100%;

  /*
   * For IE10+
   */
  display: flex;
  flex-direction: column;
  @supports (display: grid) {
    display: grid;
  }
  grid-template-rows: auto 1fr max-content;
  grid-template-areas: "h" "c" "f";
  min-height: 100vh;
  grid-auto-rows: 1fr;

  &--show-filter {
    grid-template-rows: auto auto 1fr $footer-height;
    -ms-grid-rows: 50px 50px 30px 1fr $footer-height; // 1 extra row for gap
    grid-template-areas: "h" "." "c" "f";
  }

  /*
   * For IE10+
   */

  &--show-filter &__content {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }

  &--show-filter &__filter-bar {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }

  @include skillbox-colors;

  &__header {
    grid-area: h;
  }

  &__content {
    padding: 0 $small-spacing;

    @include desktop {
      padding: 0;
    }
  }


  &__footer {
    grid-area: f;
    // we usually set the margin to the bottom and the right, but here we want the footer to always have
    // this margin, and we don't want to set it on every content element. And we don't want to set it on
    // the content element, for if there's no footer.
    margin-top: 3*$large-spacing;

    padding: 0 $small-spacing;

    @include desktop {
      padding: 0;
    }
  }
}
