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.prev-next:not(.no-break) {
66 grid-template-columns: 1fr 1fr 1fr;
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) {
87 .grid.third:not(.no-break) .text-m-left {
90 .grid.third:not(.no-break) .text-m-right {
95 @include smaller-than($s) {
96 .grid.third:not(.no-break) {
97 grid-template-columns: 1fr;
99 .grid.third:not(.no-break) .text-m-left {
102 .grid.third:not(.no-break) .text-m-right {
107 @include smaller-than($xs) {
108 .grid.half.collapse-xs {
109 grid-template-columns: 1fr;
114 * Flexbox layout system
118 flex-direction: column;
119 align-items: stretch;
133 align-items: stretch;
139 .flex-container-row {
147 .flex-container-column {
149 flex-direction: column;
152 .flex-container-column.wrap, .flex-container-row.wrap {
166 justify-content: flex-end;
169 justify-content: center;
177 * Display and float utilities
180 display: block !important;
185 display: inline !important;
189 display: inline-block !important;
193 display: none !important;
210 @each $sizeLetter, $size in $screen-sizes {
211 @include smaller-than($size) {
212 .hide-under-#{$sizeLetter} {
213 display: none !important;
216 @include larger-than($size) {
217 .hide-over-#{$sizeLetter} {
218 display: none !important;
224 * Inline content columns
226 .dual-column-content {
230 @include smaller-than($m) {
231 .dual-column-content {
252 .tri-layout-container {
254 margin-inline-start: $-xl;
255 margin-inline-end: $-xl;
256 grid-template-columns: 1fr 4fr 1fr;
257 grid-template-areas: "a b c";
258 grid-column-gap: $-xxl;
272 @include smaller-than($xxl) {
273 .tri-layout-container {
274 grid-template-areas: "c b b"
277 grid-template-columns: 1fr 3fr;
278 grid-template-rows: min-content min-content 1fr;
279 padding-inline-end: $-l;
282 @include between($l, $xxl) {
288 @include larger-than($xxl) {
289 .tri-layout-left-contents, .tri-layout-right-contents {
298 scrollbar-width: none;
299 -ms-overflow-style: none;
300 &::-webkit-scrollbar {
304 .tri-layout-middle-contents {
310 @include smaller-than($l) {
311 .tri-layout-container {
312 grid-template-areas: none;
313 grid-template-columns: 1fr;
315 padding-inline-end: $-xs;
316 padding-inline-start: $-xs;
317 .tri-layout-left-contents, .tri-layout-right-contents {
318 padding-inline-start: $-m;
319 padding-inline-end: $-m;
321 .tri-layout-left > *, .tri-layout-right > * {
323 pointer-events: none;
325 .tri-layout-left, .tri-layout-right {
329 padding-top: 0 !important;
337 transition: transform ease-in-out 240ms;
347 .tri-layout-right > *, .tri-layout-left > * {
349 pointer-events: auto;
354 @include larger-than($l) {
355 .tri-layout-mobile-tabs {
358 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
360 transition: opacity ease-in-out 120ms;
371 @include smaller-than($m) {
372 .tri-layout-container {
373 margin-inline-start: 0;
374 margin-inline-end: 0;