@font-face {
  font-display: swap;
  font-family: "Ppneuemontrealvariable";
  font-style: normal;
  font-weight: 100 900;
  src: url("/tri-colors-assets/tri-colors.com/cdn/shop/t/4/assets/ppneuemontrealvariable.fc4c17d9.ttf") format("truetype");
}

:root {
  --product-black: #000;
  --product-gray: #818181;
  --product-line: #b9b9b9;
  --product-surface: #f4f4f4;
  --product-white: #fff;
  --site--column-count: 12;
  --site--width: 100vw;
  --site--margin: 1.25rem;
  --site--gutter: 0.625rem;
  --size--1-25rem: 1.25rem;
  --size--1-5rem: 1.5rem;
  --focus--offset-outer: 3px;
  --focus--width: 2px;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--product-white); color: var(--product-black); }
body {
  background: var(--product-white);
  color: var(--product-black);
  font-family: "Ppneuemontrealvariable", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  min-width: 20rem;
}
body.cart-dialog-open { overflow: hidden; }
button, input { font: inherit; }
button { appearance: none; background: transparent; border: 0; color: inherit; cursor: pointer; padding: 0; }
button:disabled { cursor: not-allowed; }
a { color: inherit; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.preloader_wrap, .cursor, .easter-egg, .signup-popup { display: none !important; }

.u-container { margin-inline: 1.25rem; width: calc(100% - 2.5rem); }
.u-container-full { margin-inline: 0.625rem; width: calc(100% - 1.25rem); }
.u-grid-desktop, .split-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.u-column-3 { grid-column: span 3; }
.u-column-4 { grid-column: span 4; }
.u-column-5 { grid-column: span 5; }
.u-column-6 { grid-column: span 6; }
.u-column-7 { grid-column: span 7; }
.u-column-8 { grid-column: span 8; }
.u-column-9 { grid-column: span 9; }
.u-column-12 { grid-column: span 12; }
.u-text-align-right { text-align: right; }
.body-upper { font-size: 0.875rem; font-weight: 600; line-height: 1; text-transform: uppercase; }
.u-text-style-small { font-size: 0.875rem; line-height: 1.3; }
.u-text-style-h2 { font-size: clamp(2.8rem, 5.8vw, 6.5rem); font-weight: 600; line-height: 0.92; }
.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.img-fill, .img-contain, .product-img, .product-hover_img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.tcgc-nav {
  color: var(--product-black);
  height: 4rem;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 80;
}
.nav-contain { height: 100%; }
.nav-layout { align-items: center; display: grid; grid-template-columns: auto 1fr auto; height: 100%; }
.nav-col { align-items: center; display: flex; }
.nav-col:nth-child(2) { grid-column: 1; grid-row: 1; }
.nav-col:nth-child(3) { gap: 2rem; grid-column: 3; grid-row: 1; }
.nav-col.is-mobile { display: none; }
.nav-logo_link { display: block; width: 9rem; }
.nav-links_layout { align-items: center; display: flex; gap: 2rem; }
.nav-link, .menu-toggle { align-items: center; background: transparent; display: flex; gap: 0.45rem; padding: 0; text-decoration: none; text-transform: uppercase; }
.menu-toggle_line { background: currentColor; display: block; height: 1px; width: 2.5rem; }
.menu-toggle_line + .menu-toggle_line { display: none; }

.page-single { display: block; margin-inline: 1.25rem; width: calc(100% - 2.5rem); }
.single-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.single-img_col { grid-column: span 7; padding: 4rem 0 1rem; }
.single-featured_img, .product-img_wrap { background: var(--product-surface); overflow: hidden; position: relative; }
.single-featured_img { aspect-ratio: 1; margin-bottom: 0.625rem; }
.single-more_imgs .split-grid { gap: 0.625rem; }
.single-more_imgs .split-col { grid-column: span 6; }
.product-img_wrap { aspect-ratio: 0.8; border: 0; display: block; padding: 0; width: 100%; }
.product-thumbnail[aria-current="true"] { outline: 2px solid var(--product-black); outline-offset: -2px; }
.single-content_col {
  align-self: start;
  grid-column: span 5;
  min-height: 100vh;
  padding: 6.5rem 0 1rem;
  position: sticky;
  top: 0;
}
.single-product_options { display: flex; flex-direction: column; min-height: calc(100vh - 7.5rem); }
.single-product_head { display: flex; flex-direction: column; gap: 1.25rem; }
.product-title { font-size: 1.125rem; font-weight: 600; line-height: 1; margin: 0; text-transform: uppercase; }
.product-description_wrap { color: var(--product-gray); max-width: 29rem; }
.product-description_wrap p + p { margin-top: 0.25rem; }
.product-toggle_section { margin-top: 2rem; }
.product-accordion { border-top: 1px solid var(--product-line); }
.product-accordion:last-child { border-bottom: 1px solid var(--product-line); }
.product-toggle { align-items: center; display: flex; justify-content: space-between; min-height: 2.75rem; width: 100%; }
.toggle-icon { height: 0.75rem; position: relative; width: 0.75rem; }
.toggle-line { background: currentColor; height: 1px; left: 0; position: absolute; top: 50%; width: 100%; }
.toggle-line.is-vert { transform: rotate(90deg); transition: transform 180ms ease; }
.open .toggle-line.is-vert { transform: rotate(0); }
.accordion-dropdown { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 180ms ease, opacity 180ms ease; }
.accordion-dropdown_content { overflow: hidden; }
.product-accordion.open { padding-bottom: 1rem; }
.product-accordion.open .accordion-dropdown { grid-template-rows: 1fr; opacity: 1; }
.native-product-detail-line { display: block; }

.add-to-cart_single { margin-top: auto; padding-top: 2rem; }
.single-product_actions { display: grid; gap: 0.5rem; grid-template-columns: 8rem 1fr; min-height: 3.375rem; }
.single-product_actions:has(.size-variation_btn), .single-product_actions:has(.native-size-note) { grid-template-columns: minmax(8rem, 1fr) 8rem minmax(12rem, 1fr); }
.native-size-note { align-items: center; border: 1px solid var(--product-line); display: flex; margin: 0; min-width: 0; padding: 0 0.75rem; }
.size-variation_btn { min-width: 0; position: relative; }
.size-variation_btn fieldset { border: 0; height: 100%; margin: 0; min-width: 0; padding: 0; }
.size-toggle { align-items: center; background: var(--product-white); border: 1px solid var(--product-line); display: flex; height: 100%; justify-content: space-between; padding: 0 0.75rem; width: 100%; }
.size-button_group {
  background: var(--product-white);
  bottom: calc(100% + 0.25rem);
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 5;
}
.size-variation_btn.open .size-button_group, .size-variation_btn:focus-within .size-button_group { display: grid; }
.size-button { background: var(--product-white); border: 1px solid var(--product-line); min-height: 3rem; }
.size-button.is-selected { background: var(--product-black); color: var(--product-white); }
.size-button:disabled { color: var(--product-gray); text-decoration: line-through; }
.product-quantity { border: 1px solid var(--product-line); display: grid; grid-template-columns: 2.25rem 1fr 2.25rem; height: 3.375rem; }
.product-quantity button, .product-quantity input { background: var(--product-white); border: 0; min-width: 0; text-align: center; }
.product-quantity input { appearance: textfield; padding: 0; width: 100%; }
.add-to-cart_btn, .native-stock-state, .native-cart-error, .native-cart-feedback {
  align-items: center;
  background: var(--product-black);
  color: var(--product-white);
  display: flex;
  justify-content: center;
  min-height: 3.375rem;
  text-transform: uppercase;
}
.add-to-cart_btn { border: 1px solid var(--product-black); padding: 0 1rem; }
.add-to-cart_btn:disabled { background: var(--product-gray); border-color: var(--product-gray); }
.native-stock-state, .native-cart-error, .native-cart-feedback { margin-top: 0.5rem; padding: 0.75rem; text-align: center; }
.native-stock-state { background: var(--product-white); border: 1px solid var(--product-black); color: var(--product-black); }

.native-product-gallery { height: min(68.75vw, 61.875rem); overflow: hidden; }
.native-product-gallery-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; }
.native-product-gallery-track img { flex: 0 0 100%; object-fit: cover; scroll-snap-align: start; width: 100%; }
.extras-section { padding: 10rem 0 12rem; }
.extras-title_contain { margin-bottom: 3rem; }
.single-product-col_list { gap: 0.625rem; }
.single-product-col_item { grid-column: span 4; }
.cta-block { display: block; text-decoration: none; }
.cta-block .product-img_wrap { aspect-ratio: 0.8; }
.product-hover_img { opacity: 0; transition: opacity 180ms ease; }
.cta-block:hover .product-hover_img { opacity: 1; }
.product-overlay, .cta-hover_el { display: none; }
.product-block_info { align-items: start; display: flex; gap: 1rem; justify-content: space-between; padding-top: 0.75rem; }

.footer { background: var(--product-black); color: var(--product-white); display: block; min-height: 56.25rem; padding: 1.25rem 0; }
.footer-contain + .footer-contain { margin-top: 10rem; }
.footer-logo_wrap { max-width: 28.75rem; }
.footer-bottom { display: grid; gap: 4rem; }
.footer-col { display: grid; gap: 1rem; }
.footer-h_line { background: currentColor; height: 1px; opacity: 0.45; width: 100%; }
.footer-link_list { display: grid; }
.footer-link { border-bottom: 1px solid rgba(255,255,255,0.35); text-decoration: none; }
.footer-link_layout { align-items: center; display: flex; justify-content: space-between; min-height: 2.5rem; }
.footer-link_icon { width: 0.75rem; }
.footer-link_block { text-decoration: none; }
.target-imgs_hidden { display: none; }

@media (max-width: 991px) {
  :root { --site--margin: 0.5rem; }
  .u-container, .page-single { margin-inline: 0.5rem; width: calc(100% - 1rem); }
  .u-container-full { margin-inline: 0.5rem; width: calc(100% - 1rem); }
  .u-grid-desktop, .split-grid { display: flex; flex-wrap: wrap; gap: 1.25rem; }
  .m-col_12 { width: 100%; }
  .m-align_left, .u-text-align-right { text-align: left; }
  .is-desktop { display: none !important; }
  .tcgc-nav { background: var(--product-white); height: 3.5rem; }
  .nav-layout { grid-template-columns: 1fr auto 1fr; }
  .nav-col.is-mobile { display: flex; grid-column: 1; grid-row: 1; }
  .nav-col:nth-child(2) { grid-column: 2; justify-self: center; }
  .nav-col:nth-child(3) { grid-column: 3; justify-self: end; }
  .nav-logo_link { width: 7.5rem; }
  .menu-toggle_line { display: none; }
  .nav-links_layout { gap: 0; }
  .single-grid { display: block; }
  .single-img_col { padding: 3.5rem 0 2.25rem; position: relative; }
  .single-featured_img { aspect-ratio: 0.76; margin: 0; width: calc(100% - 1.125rem); }
  .single-more_imgs { bottom: 1.5rem; left: 0.5rem; position: absolute; right: 1.625rem; z-index: 3; }
  .single-more_imgs .split-grid { display: flex; flex-wrap: nowrap; gap: 0.375rem; }
  .single-more_imgs .split-col { flex: 0 0 3rem; }
  .single-more_imgs .product-img_wrap { aspect-ratio: 1; border: 1px solid var(--product-white); }
  .single-content_col { min-height: auto; padding: 0 0 1rem; position: relative; }
  .single-product_options { min-height: 28rem; }
  .single-product_head { gap: 1.25rem; }
  .product-title { font-size: 1.125rem; }
  .product-description_wrap { padding-bottom: 1.25rem; }
  .product-toggle_section { margin-top: 0; }
  .single-product_actions, .single-product_actions:has(.size-variation_btn) { grid-template-columns: minmax(7rem, 1fr) 7rem minmax(10rem, 1fr); }
  .single-product_actions:not(:has(.size-variation_btn)) { grid-template-columns: 7rem 1fr; }
  .native-product-gallery { height: 100svh; }
  .extras-section { padding: 8.75rem 0 12rem; }
  .single-product-col_list { flex-direction: column; gap: 2.65rem; }
  .single-product-col_item { width: 100%; }
  .cta-block .product-img_wrap { aspect-ratio: 0.8; }
  .footer { min-height: 80rem; }
  .footer-contain + .footer-contain { margin-top: 8.75rem; }
  .footer .split-col { width: 100%; }
  .footer .u-column-3 { width: calc(50% - 0.625rem); }
  .footer-logo_wrap { max-width: 22rem; }
}

@media (max-width: 480px) {
  .body-upper { font-size: 0.75rem; }
  .single-product_actions, .single-product_actions:has(.size-variation_btn) { gap: 0.375rem; grid-template-columns: minmax(6rem, 1fr) 6.5rem minmax(9rem, 1fr); }
  .single-product_actions:not(:has(.size-variation_btn)) { grid-template-columns: 6.5rem 1fr; }
  .product-quantity { grid-template-columns: 1.75rem 1fr 1.75rem; }
  .footer .u-column-3 { width: 100%; }
}
