3 * Generic content container
7 margin-inline-start: auto;
8 margin-inline-end: auto;
9 padding-inline-start: $-m;
10 padding-inline-end: $-m;
23 * Core grid layout system
30 grid-template-columns: 1fr 1fr;
33 grid-template-columns: 1fr 1fr 1fr;
36 grid-template-columns: 2fr 1fr;
39 grid-template-columns: 1fr 3fr;
45 grid-column-gap: $-xl;
49 grid-column-gap: $-xxl;
67 @include smaller-than($m) {
68 .grid.third:not(.no-break) {
69 grid-template-columns: 1fr 1fr;
71 .grid.half:not(.no-break), .grid.left-focus:not(.no-break), .grid.right-focus:not(.no-break) {
72 grid-template-columns: 1fr;
74 .grid.half.collapse-xs {
75 grid-template-columns: 1fr 1fr;
81 .grid.right-focus.reverse-collapse > *:nth-child(2) {
84 .grid.right-focus.reverse-collapse > *:nth-child(1) {
89 @include smaller-than($s) {
90 .grid.third:not(.no-break) {
91 grid-template-columns: 1fr;
95 @include smaller-than($xs) {
96 .grid.half.collapse-xs {
97 grid-template-columns: 1fr;
106 * Flexbox layout system
110 flex-direction: column;
111 align-items: stretch;
125 align-items: stretch;
131 .flex-container-row {
139 .flex-container-column {
141 flex-direction: column;
144 .flex-container-column.wrap, .flex-container-row.wrap {
162 .justify-flex-start {
163 justify-content: flex-start;
166 justify-content: flex-end;
169 justify-content: center;
171 .justify-space-between {
172 justify-content: space-between;
180 * Display and float utilities
183 display: block !important;
188 display: inline !important;
192 display: inline-block !important;
200 display: none !important;
217 @each $sizeLetter, $size in $screen-sizes {
218 @include smaller-than($size) {
219 .hide-under-#{$sizeLetter} {
220 display: none !important;
223 @include larger-than($size) {
224 .hide-over-#{$sizeLetter} {
225 display: none !important;
238 * Inline content columns
240 .dual-column-content {
244 @include smaller-than($m) {
245 .dual-column-content {
266 .tri-layout-container {
268 margin-inline-start: $-xl;
269 margin-inline-end: $-xl;
270 grid-template-columns: 1fr 4fr 1fr;
271 grid-template-areas: "a b c";
272 grid-column-gap: $-xxl;
287 @include smaller-than($xxl) {
288 .tri-layout-container {
289 grid-template-areas: "c b b"
292 grid-template-columns: 1fr 3fr;
293 grid-template-rows: min-content min-content 1fr;
294 padding-inline-end: $-l;
297 @include between($l, $xxl) {
303 @include larger-than($xxl) {
304 .tri-layout-left-contents, .tri-layout-right-contents {
313 scrollbar-width: none;
314 -ms-overflow-style: none;
315 &::-webkit-scrollbar {
319 .tri-layout-middle-contents {
325 @include smaller-than($l) {
326 .tri-layout-container {
327 grid-template-areas: none;
328 grid-template-columns: 1fr;
330 padding-inline-end: $-xs;
331 padding-inline-start: $-xs;
332 .tri-layout-left-contents, .tri-layout-right-contents {
333 padding-inline-start: $-m;
334 padding-inline-end: $-m;
336 .tri-layout-left > *, .tri-layout-right > * {
338 pointer-events: none;
340 .tri-layout-left, .tri-layout-right {
344 padding-top: 0 !important;
352 transition: transform ease-in-out 240ms;
362 .tri-layout-right > *, .tri-layout-left > * {
364 pointer-events: auto;
369 @include larger-than($l) {
370 .tri-layout-mobile-tabs {
373 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
374 @include lightDark(opacity, 0.6, 0.7);
375 transition: opacity ease-in-out 120ms;
376 &:hover, &:focus-within {
377 opacity: 1 !important;
379 @media (prefers-contrast: more) {
380 opacity: 1 !important;
386 @include smaller-than($m) {
387 .tri-layout-container {
388 margin-inline-start: 0;
389 margin-inline-end: 0;