6 * Generic content container
9 max-width: vars.$bp-xxl;
10 margin-inline-start: auto;
11 margin-inline-end: auto;
12 padding-inline-start: vars.$m;
13 padding-inline-end: vars.$m;
26 * Core grid layout system
30 grid-column-gap: vars.$l;
31 grid-row-gap: vars.$l;
36 grid-template-columns: 1fr 1fr;
39 grid-template-columns: 1fr 1fr 1fr;
42 grid-template-columns: 2fr 1fr;
45 grid-template-columns: 1fr 3fr;
48 grid-row-gap: vars.$xs;
51 grid-column-gap: vars.$xl;
52 grid-row-gap: vars.$xl;
55 grid-column-gap: vars.$xxl;
56 grid-row-gap: vars.$xxl;
73 @include mixins.smaller-than(vars.$bp-m) {
74 .grid.third:not(.no-break) {
75 grid-template-columns: 1fr 1fr;
77 .grid.half:not(.no-break), .grid.left-focus:not(.no-break), .grid.right-focus:not(.no-break) {
78 grid-template-columns: 1fr;
80 .grid.half.collapse-xs {
81 grid-template-columns: 1fr 1fr;
84 grid-column-gap: vars.$m;
85 grid-row-gap: vars.$m;
87 .grid.right-focus.reverse-collapse > *:nth-child(2) {
90 .grid.right-focus.reverse-collapse > *:nth-child(1) {
95 @include mixins.smaller-than(vars.$bp-s) {
96 .grid.third:not(.no-break) {
97 grid-template-columns: 1fr;
101 @include mixins.smaller-than(vars.$bp-xs) {
102 .grid.half.collapse-xs {
103 grid-template-columns: 1fr;
112 * Flexbox layout system
116 flex-direction: column;
117 align-items: stretch;
131 align-items: stretch;
137 .flex-container-row {
145 .flex-container-column {
147 flex-direction: column;
150 .flex-container-row.inline, .flex-container-column.inline {
151 display: inline-flex !important;
154 .flex-container-column.wrap, .flex-container-row.wrap {
169 min-width: fit-content;
189 .justify-flex-start {
190 justify-content: flex-start;
193 justify-content: flex-end;
196 justify-content: center;
198 .justify-space-between {
199 justify-content: space-between;
205 align-items: stretch;
209 * Min width utilities
240 * Display and float utilities
243 display: block !important;
248 display: inline !important;
252 display: inline-block !important;
269 display: none !important;
281 height: auto !important;
299 @each $sizeLetter, $size in vars.$screen-sizes {
300 @include mixins.smaller-than($size) {
301 .hide-under-#{$sizeLetter} {
302 display: none !important;
305 @include mixins.larger-than($size) {
306 .hide-over-#{$sizeLetter} {
307 display: none !important;
313 display: none !important;
316 .screen-reader-only {
318 inset-inline-start: -10000px;
333 * Inline content columns
335 .dual-column-content {
339 @include mixins.smaller-than(vars.$bp-m) {
340 .dual-column-content {
361 .tri-layout-container {
363 margin-inline-start: vars.$xl;
364 margin-inline-end: vars.$xl;
365 grid-template-columns: 1fr 4fr 1fr;
366 grid-template-areas: "a b c";
367 grid-column-gap: vars.$xl;
371 grid-column-start: a;
377 .tri-layout-sides-content {
379 grid-template-areas: "a b c";
380 grid-template-columns: 1fr 4fr 1fr;
385 padding-top: vars.$m;
398 @include mixins.larger-than(vars.$bp-xxl) {
399 .tri-layout-left-contents, .tri-layout-right-contents {
400 padding: vars.$xl vars.$m;
408 scrollbar-width: none;
409 -ms-overflow-style: none;
410 &::-webkit-scrollbar {
414 .tri-layout-middle-contents {
419 @include mixins.between(vars.$bp-xxl, vars.$bp-xxxl) {
420 .tri-layout-sides-content, .tri-layout-container {
421 grid-template-columns: 1fr calc(940px + (2 * vars.$m)) 1fr;
423 .tri-layout-container {
424 grid-column-gap: vars.$s;
425 margin-inline-start: vars.$m;
426 margin-inline-end: vars.$m;
429 @include mixins.smaller-than(vars.$bp-xxl) {
430 .tri-layout-container {
431 grid-template-areas: "a b b";
432 grid-template-columns: 1fr 3fr;
433 grid-template-rows: min-content min-content 1fr;
434 padding-inline-end: vars.$l;
437 grid-column-start: a;
440 .tri-layout-sides-content {
444 @include mixins.between(vars.$bp-l, vars.$bp-xxl) {
445 .tri-layout-sides-content {
453 scrollbar-width: none;
454 -ms-overflow-style: none;
455 &::-webkit-scrollbar {
460 @include mixins.larger-than(vars.$bp-l) {
461 .tri-layout-mobile-tabs {
464 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
465 @include mixins.lightDark(opacity, 0.6, 0.75);
466 transition: opacity ease-in-out 120ms;
467 &:hover, &:focus-within {
468 opacity: 1 !important;
470 @media (prefers-contrast: more) {
471 opacity: 1 !important;
475 @include mixins.smaller-than(vars.$bp-l) {
476 .tri-layout-container {
477 grid-template-areas: none;
478 grid-template-columns: 1fr;
480 padding-inline-end: vars.$xs;
481 padding-inline-start: vars.$xs;
483 padding-inline-start: vars.$m;
484 padding-inline-end: vars.$m;
487 .tri-layout-left > *, .tri-layout-right > * {
489 pointer-events: none;
491 .tri-layout-left, .tri-layout-right {
492 padding-top: 0 !important;
500 transition: transform ease-in-out 240ms;
510 .tri-layout-right > *, .tri-layout-left > * {
512 pointer-events: auto;
518 @include mixins.smaller-than(vars.$bp-m) {
519 .tri-layout-container {
520 margin-inline-start: 0;
521 margin-inline-end: 0;