/*
 * DO NOT EDIT THIS FILE.
 * It's generated automatically by 'yarn build' command.
 * @preserve
 */

.p-page {
  --p-page-header-desktop-content-height: var(--p-page-header-height);

  padding-top: var(--p-page-header-height);
}

@media (min-width: 1025px) {
  .p-page--header-two-menus {
    padding-top: 7.625rem;
  }
}

.p-page__skip-link {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--p-page-header-height);
  padding: 0 var(--layout-horizontal-gap);
  text-decoration: none;
  pointer-events: none;
  opacity: 0;
  color: var(--color-secondary-saint-gobain-blue);
  background-color: var(--color-background-primary);
}

@media (min-width: 1025px) {
  .p-page__skip-link {
    --outline-color: var(--color-background-primary);

    top: var(--p-page-header-height);
    left: 0;
    width: auto;
    height: auto;
    padding: 0.75rem 2.5rem;
    color: var(--color-background-primary);
    background-color: var(--color-primary-primary);
  }
}

.p-page__skip-link:focus {
  pointer-events: auto;
  opacity: 1;
  outline: none;
}

.p-page__skip-link:focus .p-page__skip-link-content {
  outline: var(--outline-size) solid var(--outline-color);
  outline-offset: var(--outline-offset);
}

.p-page__below-header {
  display: flex;
  flex-direction: column;
  min-height: var(--viewport-height);
}

.p-page__footer {
  margin-top: auto;
}

.p-page__header-grand-container {
  position: fixed;
  z-index: var(--z-index-header);
  top: var(--drupal-displace-offset-top);
  left: 0;
  width: 100%;
  height: var(--p-page-header-height);
  padding: 0 var(--layout-header-end-gap) 0 var(--layout-header-start-gap);
  background-color: var(--color-background-primary);
}

@media (min-width: 1025px) {
  .p-page__header-grand-container {
    position: absolute;
    box-shadow: 0 0.25rem 0.75rem rgb(0 0 0 / 0.06);
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus {
    --p-page-header-height: 7.625rem;
    --p-page-header-desktop-content-height: 4.375rem;

    padding-left: var(--layout-header-end-gap);
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .m-menu-main__link--1-level {
    height: calc(
      var(--p-page-header-height) - var(--p-page-header-desktop-content-height)
    );
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .p-page__header-navigation {
    position: absolute;
    top: var(--p-page-header-desktop-content-height);
    right: 0;
    left: auto;
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .p-page__header-dropdown {
    gap: 0;
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus.p-page__header-grand-container--fixed
    .p-page__header-dropdown {
    gap: 2rem;
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .p-page__header-start {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    height: var(--p-page-header-height);
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .o-branding__image {
    height: 4.0625rem;
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--two-menus .o-branding__text {
    display: none;
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--fixed {
    --p-page-header-height: 4.375rem;

    position: fixed;
    transform: translateY(-100%);
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--fixed .o-branding__image {
    height: 2.5rem;
  }
}

.p-page__header-grand-container--fixed .o-branding__text {
  display: none;
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--fixed .m-menu-main__link--1-level {
    height: var(--p-page-header-height);
  }
}

@media (min-width: 1025px) {
  .p-page__header-grand-container--fixed .p-page__header-navigation {
    position: static;
  }
}

.p-page__header-grand-container--fixed--hidden {
  transition: transform var(--transition-duration-0-35)
    var(--transition-timing-function-cubic-bezier);
  transform: translateY(-100%);
}

.p-page__header-grand-container--fixed--visible {
  transition: transform var(--transition-duration-0-35)
    var(--transition-timing-function-cubic-bezier);
  transform: translateY(0);
}

.p-page__header-dropdown-scrollable-menus {
  position: relative;
  overflow: auto;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  flex-grow: 1;
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-scrollable-menus {
    position: static;
    overflow: visible;
  }
}

.p-page__header-dropdown-scrollable-menus-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-top: 0.5rem;
  padding-bottom: 2rem;
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-scrollable-menus-content {
    display: block;
    height: auto;
    padding: 0;
  }
}

.p-page__header-top-navigation {
  order: 2;
}

@media (min-width: 1025px) {
  .p-page__header-top-navigation {
    order: 0;
  }
}

.p-page__header-grand-container--fixed .p-page__header-top-navigation {
  display: none;
}

[o-header-search-block-shown] .p-page__header-top-navigation {
  display: none;
}

.p-page__header-top-navigation:not(:last-child) {
  position: relative;
}

@media (min-width: 1025px) {
  .p-page__header-top-navigation:not(:last-child) {
    margin-right: 2rem;
  }
}

.p-page__header-top-navigation:not(:last-child)::before {
  display: block;
  width: calc(100% - 2rem);
  margin-left: 2rem;
  content: '';
  transition-timing-function: var(--transition-timing-function-cubic-bezier);
  transition-duration: var(--transition-duration-0-35);
  transition-property: transform, opacity;
  border-top: 0.0625rem solid var(--color-text-stroke-strokes);
}

@media (min-width: 1025px) {
  .p-page__header-top-navigation:not(:last-child)::before {
    display: none;
  }
}

[m-menu-main-sub-section-shown]
  .p-page__header-top-navigation:not(:last-child)::before {
  transform: translateX(-1.25rem);
  opacity: 0;
}

.p-page__header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

@media (min-width: 1025px) {
  .p-page__header-content {
    position: relative;
    height: var(--p-page-header-desktop-content-height, 100%);
  }
}

.p-page__header-static {
  display: flex;
  align-items: center;
}

.p-page__header-static > *:nth-child(n + 2) {
  position: relative;
  margin-left: 1.25rem;
  padding-left: 1.25rem;
}

[p-page-header-dropdown-shown] .p-page__header-static > *:nth-child(n + 2) {
  margin-left: 0;
  padding-left: 0;
}

.p-page__header-static > *:nth-child(n + 2)::before {
  position: absolute;
  top: 50%;
  left: 0;
  height: 1.25rem;
  content: '';
  transform: translateY(-50%);
  border-left: 0.0625rem solid var(--color-text-stroke-secondary);
}

[p-page-header-dropdown-shown]
  .p-page__header-static
  > *:nth-child(n + 2)::before {
  content: none;
}

[o-header-search-block-shown] .p-page__header-start {
  display: none;
}

@media (min-width: 1025px) {
  [o-header-search-block-shown] .p-page__header-start {
    display: block;
  }
}

@media (min-width: 1025px) {
  [o-header-search-block-shown]
    .p-page__header-grand-container--two-menus
    .p-page__header-start {
    display: flex;
  }
}

@media (min-width: 1025px) {
  .p-page__header-end {
    display: flex;
    align-items: center;
    margin-left: auto;
  }
}

[o-header-search-block-shown] .p-page__header-end {
  width: 100%;
}

@media (min-width: 1025px) {
  [o-header-search-block-shown] .p-page__header-end {
    width: auto;
  }
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-controls {
    display: none;
  }
}

[o-header-search-block-shown] .p-page__header-dropdown-controls {
  display: none;
}

[o-header-search-block-shown] .p-page__header-search {
  width: 100%;
}

@media (min-width: 1025px) {
  [o-header-search-block-shown] .p-page__header-search {
    width: 31.25rem;
    margin-right: 1rem;
  }
}

[p-page-header-dropdown-shown] .p-page__header-search {
  display: none;
}

.p-page__header-iconic-button {
  --outline-offset: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  cursor: pointer;
  color: var(--color-text-stroke-secondary);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  -webkit-appearance: none;
  appearance: none;
}

.p-page__header-iconic-button--show {
  margin: 0 -0.3125rem;
}

[p-page-header-dropdown-shown] .p-page__header-iconic-button--show {
  display: none;
}

.p-page__header-iconic-button--hide {
  margin: 0 -0.3125rem;
}

html:not([p-page-header-dropdown-shown]) .p-page__header-iconic-button--hide {
  display: none;
}

.p-page__header-icon {
  fill: currentColor;
}

.p-page__header-icon--menu {
  width: 1.25rem;
  height: 1.25rem;
}

.p-page__header-icon--close {
  width: 0.9375rem;
  height: 0.9375rem;
}

.p-page__header-dropdown {
  position: fixed;
  z-index: var(--z-index-header-dropdown);
  top: calc(var(--p-page-header-height) + var(--drupal-displace-offset-top));
  right: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: calc(
    var(--viewport-height) - var(--p-page-header-height) -
      var(--drupal-displace-offset-top)
  );
  transition: transform var(--transition-duration-0-35)
    var(--transition-timing-function-cubic-bezier);
  transform: translateX(100%);
  background-color: var(--color-background-primary);
}

@media (min-width: 1025px) {
  .p-page__header-dropdown {
    position: static;
    z-index: auto;
    top: auto;
    right: auto;
    flex-direction: row;
    width: auto;
    height: auto;
    transition: none;
    transform: none;
    background-color: transparent;
    gap: 2rem;
  }
}

[p-page-header-dropdown-shown] .p-page__header-dropdown {
  transform: translateX(0);
}

@media (min-width: 1025px) {
  [p-page-header-dropdown-shown] .p-page__header-dropdown {
    transform: none;
  }
}

@media (min-width: 1025px) {
  [o-header-search-block-shown] .p-page__header-dropdown {
    gap: 0;
  }
}

.p-page__header-navigation {
  position: relative;
  order: 1;
}

@media (min-width: 1025px) {
  .p-page__header-navigation {
    position: static;
  }
}

@media (min-width: 1025px) {
  [o-header-search-block-shown]
    .p-page__header-grand-container:not(
      .p-page__header-grand-container--two-menus
    )
    .p-page__header-navigation {
    display: none;
  }
}

.p-page__header-dropdown-bottom {
  flex-shrink: 0;
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-bottom {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-bottom > *:nth-child(n + 2) {
    position: relative;
    padding-left: 1rem;
  }
}

.p-page__header-grand-container--fixed
  .p-page__header-dropdown-bottom
  > *:nth-child(n + 2) {
  position: sticky;
  padding-left: 0;
}

@media (min-width: 1025px) {
  .p-page__header-dropdown-bottom > *:nth-child(n + 2)::before {
    position: absolute;
    top: 50%;
    left: 0;
    height: 1.5rem;
    content: '';
    transform: translateY(-50%);
    border-left: 0.0625rem solid var(--color-primary-primary);
  }
}

.p-page__header-grand-container--fixed
  .p-page__header-dropdown-bottom
  > *:nth-child(n + 2)::before {
  content: none;
}

.p-page__header-desktop-trigger-search {
  display: none;
}

@media (min-width: 1025px) {
  .p-page__header-desktop-trigger-search {
    display: block;
  }
}

[o-header-search-block-shown] .p-page__header-desktop-trigger-search {
  display: none;
}

.p-page__header-grand-container--fixed .p-page__header-desktop-trigger-search {
  display: none;
}

.p-page__header-grand-container--fixed .p-page__header-language-switcher {
  display: none;
}

.p-page__header-desktop-trigger-search-btn {
  --outline-offset: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  margin: 0 -0.3125rem;
  padding: 0;
  cursor: pointer;
  color: var(--color-text-stroke-secondary);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  -webkit-appearance: none;
  appearance: none;
}

.p-page__header-desktop-trigger-search-icon {
  fill: currentColor;
  width: 1.25rem;
  height: 1.25rem;
}

.p-page__header-shadow {
  position: fixed;
  z-index: var(--z-index-header-shadow);
  top: var(--drupal-displace-offset-top);
  left: 0;
  width: 100%;
  height: var(--p-page-header-height);
  pointer-events: none;
  box-shadow: var(--box-shadow);
}

@media (min-width: 1025px) {
  .p-page__header-shadow {
    display: none;
  }
}

.p-page__header-overlay {
  position: fixed;
  z-index: var(--z-index-header-overlay);
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: var(--viewport-height);
  transition-timing-function: var(--transition-timing-function-cubic-bezier);
  transition-duration: var(--transition-duration-0-35);
  transition-property: opacity, visibility;
  opacity: 0;
  background-color: var(--color-gradient-transparent-dark-layer);
}

[p-page-header-dropdown-shown] .p-page__header-overlay {
  visibility: visible;
  opacity: 1;
}

.p-page__footer-grand-container {
  padding: 0 var(--layout-horizontal-gap);
  background-color: var(--color-secondary-footer);
}

.p-page__footer-content {
  display: grid;
  padding-top: 2rem;
  padding-bottom: 2rem;
  gap: 3rem;
}

@media (min-width: 1025px) {
  .p-page__footer-content {
    padding-top: 3.5rem;
    padding-bottom: 2.3125rem;
    gap: 1.5rem;
  }
}

.p-page__footer-first {
  display: grid;
  gap: 3rem 1.875rem;
}

@media (min-width: 1025px) {
  .p-page__footer-first {
    grid-template-columns: 22.5rem auto;
  }
}

@media (min-width: 1025px) {
  .p-page__footer-first--two-menus {
    gap: 20.1875rem;
  }
}

@media (min-width: 1025px) {
  .p-page__footer-first--three-menus {
    gap: 8rem;
  }
}

.p-page__footer-first-end {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.4375rem;
}

@media (min-width: 769px) {
  .p-page__footer-first-end {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1025px) {
  .p-page__footer-first-end {
    grid-column: 2;
    gap: 1.875rem;
  }
}

.p-page__footer-first-end--one-menu {
  grid-template-columns: auto;
}

@media (min-width: 1025px) {
  .p-page__footer-first-end--one-menu {
    width: 10.3125rem;
    margin-left: auto;
  }
}

.p-page__footer-first-end--two-menus {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 1025px) {
  .p-page__footer-first-end--two-menus {
    gap: 7.9375rem;
  }
}

@media (min-width: 769px) {
  .p-page__footer-first-end--three-menus {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1025px) {
  .p-page__footer-first-end--three-menus {
    gap: 4.875rem;
  }
}

.p-page__footer-second {
  display: grid;
  gap: 2.6875rem 3rem;
}

@media (min-width: 1025px) {
  .p-page__footer-second {
    grid-template-columns: auto 10rem;
    align-items: center;
  }
}

.p-page__footer-second-start {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

@media (min-width: 1025px) {
  .p-page__footer-second-start {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 0.625rem;
    border-top: 0.0625rem solid var(--color-text-stroke-light);
  }
}

@media (min-width: 1025px) {
  .p-page__footer-second-end--hidden-after-l {
    display: none;
  }
}

.p-page__footer-second-end--visible-only-on-l {
  display: none;
}

@media (min-width: 1025px) {
  .p-page__footer-second-end--visible-only-on-l {
    display: block;
  }
}

.p-page__footer-copyright {
  width: 100%;
  margin-top: 1.1875rem;
  padding-top: 0.625rem;
  text-align: center;
  border-top: 0.0625rem solid var(--color-text-stroke-light);
}

@media (min-width: 1025px) {
  .p-page__footer-copyright {
    width: auto;
    margin-top: 0;
    padding-top: 0;
    text-align: start;
    border-top: 0;
  }
}

.p-page__footer-copyright p {
  margin: 0;
}

.p-page__footer-logo {
  max-width: 10rem;
  margin: 0 auto;
  text-align: center;
}

@media (min-width: 1025px) {
  .p-page__footer-logo {
    margin: 0;
    text-align: end;
  }
}

.p-page__footer-logo .o-branding__link {
  width: 100%;
}

.p-page__footer-logo .o-branding__image {
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}
