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

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

@import '~@hashicorp/react-button/dist/style.css';
@import '~@hashicorp/react-consent-manager/dist/style.css';
@import '~@hashicorp/react-toggle/dist/style.css';
@import '~@hashicorp/react-section-header/dist/style.css';
@import '~@hashicorp/react-product-downloader/dist/style.css';
@import '~@hashicorp/react-vertical-text-block-list/dist/style.css';
@import '~@hashicorp/react-docs-sidenav/dist/style.css';
@import '~@hashicorp/react-content/dist/style.css';
@import '~@hashicorp/react-subnav/dist/style.css';
@import '~@hashicorp/react-mega-nav/style.css';
@import '~@hashicorp/react-docs-page/style.css';

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

/* Local Pages */
@import './home/style.css';
@import './downloads/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-block section > .g-section-header + *,
.g-section-block section > .g-container > .g-section-header + * {
  margin-top: 72px;
}

.g-section-block section > * + *,
.g-section-block section > .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;
}

/* Web Fonts */
@font-face {
  font-family: 'klavika-web';
  src: url('/fonts/klavika/medium.woff2') format('woff2'),
    url('/fonts/klavika/medium.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

/* Display Font (Gilmer) */
@font-face {
  font-family: 'gilmer-web';
  src: url('/fonts/gilmer/light.woff2') format('woff2'),
    url('/fonts/gilmer/light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'gilmer-web';
  src: url('/fonts/gilmer/regular.woff2') format('woff2'),
    url('/fonts/gilmer/regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'gilmer-web';
  src: url('/fonts/gilmer/medium.woff2') format('woff2'),
    url('/fonts/gilmer/medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'gilmer-web';
  src: url('/fonts/gilmer/bold.woff2') format('woff2'),
    url('/fonts/gilmer/bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

/* Body Font (Metro) */
@font-face {
  font-family: 'metro-web';
  src: url('/fonts/metro-sans/book.woff2') format('woff2'),
    url('/fonts/metro-sans/book.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'metro-web';
  src: url('/fonts/metro-sans/regular.woff2') format('woff2'),
    url('/fonts/metro-sans/regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'metro-web';
  src: url('/fonts/metro-sans/semi-bold.woff2') format('woff2'),
    url('/fonts/metro-sans/semi-bold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'metro-web';
  src: url('/fonts/metro-sans/bold.woff2') format('woff2'),
    url('/fonts/metro-sans/bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

/* Code Font (Deja Vu) */
@font-face {
  font-family: 'dejavu-sans-mono-web';
  src: url('/fonts/dejavu/mono.woff2') format('woff2'),
    url('/fonts/dejavu/mono.woff') format('woff');
  font-style: normal;
  font-weight: 400;
}
