3 * Generic content container
7 margin-inline-start: auto;
8 margin-inline-end: auto;
9 padding-inline-start: $-m;
10 padding-inline-end: $-m;
20 * Core grid layout system
27 grid-template-columns: 1fr 1fr;
30 grid-template-columns: 1fr 1fr 1fr;
33 grid-template-columns: 2fr 1fr;
36 grid-template-columns: 1fr 3fr;
42 grid-column-gap: $-xl;
46 grid-column-gap: $-xxl;
64 @include smaller-than($m) {
65 .grid.third:not(.no-break) {
66 grid-template-columns: 1fr 1fr;
68 .grid.half:not(.no-break), .grid.left-focus:not(.no-break), .grid.right-focus:not(.no-break) {
69 grid-template-columns: 1fr;
71 .grid.half.collapse-xs {
72 grid-template-columns: 1fr 1fr;
78 .grid.right-focus.reverse-collapse > *:nth-child(2) {
81 .grid.right-focus.reverse-collapse > *:nth-child(1) {
86 @include smaller-than($s) {
87 .grid.third:not(.no-break) {
88 grid-template-columns: 1fr;
92 @include smaller-than($xs) {
93 .grid.half.collapse-xs {
94 grid-template-columns: 1fr;
103 * Flexbox layout system
107 flex-direction: column;
108 align-items: stretch;
122 align-items: stretch;
128 .flex-container-row {
136 .flex-container-column {
138 flex-direction: column;
141 .flex-container-column.wrap, .flex-container-row.wrap {
155 justify-content: flex-end;
158 justify-content: center;
160 .justify-space-between {
161 justify-content: space-between;
169 * Display and float utilities
172 display: block !important;
177 display: inline !important;
181 display: inline-block !important;
189 display: none !important;
206 @each $sizeLetter, $size in $screen-sizes {
207 @include smaller-than($size) {
208 .hide-under-#{$sizeLetter} {
209 display: none !important;
212 @include larger-than($size) {
213 .hide-over-#{$sizeLetter} {
214 display: none !important;
227 * Inline content columns
229 .dual-column-content {
233 @include smaller-than($m) {
234 .dual-column-content {
255 .tri-layout-container {
257 margin-inline-start: $-xl;
258 margin-inline-end: $-xl;
259 grid-template-columns: 1fr 4fr 1fr;
260 grid-template-areas: "a b c";
261 grid-column-gap: $-xxl;
276 @include smaller-than($xxl) {
277 .tri-layout-container {
278 grid-template-areas: "c b b"
281 grid-template-columns: 1fr 3fr;
282 grid-template-rows: min-content min-content 1fr;
283 padding-inline-end: $-l;
286 @include between($l, $xxl) {
292 @include larger-than($xxl) {
293 .tri-layout-left-contents, .tri-layout-right-contents {
302 scrollbar-width: none;
303 -ms-overflow-style: none;
304 &::-webkit-scrollbar {
308 .tri-layout-middle-contents {
314 @include smaller-than($l) {
315 .tri-layout-container {
316 grid-template-areas: none;
317 grid-template-columns: 1fr;
319 padding-inline-end: $-xs;
320 padding-inline-start: $-xs;
321 .tri-layout-left-contents, .tri-layout-right-contents {
322 padding-inline-start: $-m;
323 padding-inline-end: $-m;
325 .tri-layout-left > *, .tri-layout-right > * {
327 pointer-events: none;
329 .tri-layout-left, .tri-layout-right {
333 padding-top: 0 !important;
341 transition: transform ease-in-out 240ms;
351 .tri-layout-right > *, .tri-layout-left > * {
353 pointer-events: auto;
358 @include larger-than($l) {
359 .tri-layout-mobile-tabs {
362 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
364 transition: opacity ease-in-out 120ms;
375 @include smaller-than($m) {
376 .tri-layout-container {
377 margin-inline-start: 0;
378 margin-inline-end: 0;