/* Global Component Styles */
@import '~@hashicorp/mktg-global-styles/style.css';
@import '~@hashicorp/nextjs-scripts/prism/style.css';
@import '~@hashicorp/mktg-global-styles/_temporary-to-remove/layout.css';
@import '~@hashicorp/mktg-global-styles/_temporary-to-remove/tables.css';

:root {
  --highlight-color: var(--packer-link);
}

@import '~@hashicorp/react-button/styles/index.css';
@import '~@hashicorp/react-consent-manager/style.css';
@import '~@hashicorp/react-content/style.css';
@import '~@hashicorp/react-docs-page/style.css';
@import '~@hashicorp/react-search/style.css';
@import '~@hashicorp/react-subnav/style.css';
@import '~@hashicorp/react-tabs/style.css';
@import '~@hashicorp/react-toggle/style.css';
@import '~@hashicorp/react-vertical-text-block-list/style.css';

/* Local Components */
@import '../components/footer/style.css';
@import '../components/search-bar/style.css';

/* Local Pages */
@import './home/style.css';
@import './community/style.css';

/* Print Styles */
@import './print.css';

/* Sticky Footer */
.content {
  min-height: calc(100vh - 260px);
}

/* 404 page styles */
#p-404 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 64px auto;
  max-width: 784px;
  min-height: 50vh;
  padding-inline: 32px;
  text-align: center;

  @media (--large) {
    padding-inline: 24px;
  }

  & h1 {
    font-size: 1.5rem;
    letter-spacing: -0.004em;
    line-height: 1.375em;

    @media (--medium-up) {
      font-size: 1.75rem;
      line-height: 1.321em;
    }

    @media (--large) {
      font-size: 2rem;
      letter-spacing: -0.006em;
      line-height: 1.313em;
    }
  }

  & a {
    color: var(--highlight-color);
  }
}

/*
 * About this selector:
 * `.g-subnav ~ *` finds all elements after the navigation.
 * `:target` finds the active permalink on the page.
 *
 * About this style:
 * `scroll-margin-top` adjusts the vertical scroll of a permalink.
 * `64px` adjusts the scroll to account for the navigation.
 * `0.5em` further adjusts the scroll to give the permalink breathing room.
 *
 * See: https://developer.mozilla.org/en-US/docs/Web/CSS/:target
 * See: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-top
 */
.g-subnav ~ * :target {
  scroll-margin-top: calc(64px + 0.5em);
}

/* Layout Styles */
.g-section-block section {
  padding-top: 96px;
  padding-bottom: 96px;

  & > .g-section-header + *,
  & > .g-container > .g-section-header + * {
    margin-top: 72px;
  }

  & > * + *,
  & > .g-container > * + * {
    margin-top: 96px;
  }
}

.g-section-block .button-container {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
  margin: auto -8px -16px;
}

.g-section-block section > * + .button-container,
.g-section-block section > .g-container > * + .button-container {
  margin-top: 40px;
}

.g-section-block .button-container > * {
  margin: auto 8px 16px;
}

.g-section-block.theme-black-background-white-text {
  background: var(--gray-1);
  color: white;
}
