$hero-padding: 4rem 1.5rem !default;
$hero-sizes: 'medium' (9rem 1.5rem), 'large' (16rem 1.5rem) !default;
$hero-background-color: var(--color-white) !default;
$hero-color: var(--color-black) !default;

.hero {
  --padding: #{$hero-padding  };
  --background-color: #{$hero-background-color};
  --font-color: #{$hero-color};

  display: flex;
  flex-direction: column;

  &__content, &__footer, &__header {
    background-color: var(--background-color);
    color: var(--font-color);
  }

  &__content {
    flex: auto;
    padding: var(--padding);
  }

  &__footer, &__header {
    flex: none;
  }

  @each $size in $hero-sizes {
    &.is-#{nth($size, 1)} > &__content {
      padding: nth($size, 2);
    }
  }

  &.is-full {
    min-height: 100vh;

    & > .hero__content {
      align-items: center;
      display: flex;
    }
  }
}
