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;
99 * Flexbox layout system
103 flex-direction: column;
104 align-items: stretch;
118 align-items: stretch;
124 .flex-container-row {
129 .flex-container-column {
131 flex-direction: column;
140 justify-content: flex-end;
145 * Display and float utilities
157 display: inline-block;
161 display: none !important;
174 @each $sizeLetter, $size in $screen-sizes {
175 @include smaller-than($size) {
176 .hide-under-#{$sizeLetter} {
177 display: none !important;
180 @include larger-than($size) {
181 .hide-over-#{$sizeLetter} {
182 display: none !important;
188 * Inline content columns
190 .dual-column-content {
194 @include smaller-than($m) {
195 .dual-column-content {
216 .tri-layout-container {
218 margin-inline-start: $-xl;
219 margin-inline-end: $-xl;
220 grid-template-columns: 1fr 4fr 1fr;
221 grid-template-areas: "a b c";
222 grid-column-gap: $-xxl;
236 @include smaller-than($xxl) {
237 .tri-layout-container {
238 grid-template-areas: "c b b"
241 grid-template-columns: 1fr 3fr;
242 grid-template-rows: min-content min-content 1fr;
243 padding-inline-end: $-l;
246 @include between($l, $xxl) {
252 @include larger-than($xxl) {
253 .tri-layout-left-contents, .tri-layout-right-contents {
261 scrollbar-width: none;
262 -ms-overflow-style: none;
263 &::-webkit-scrollbar {
267 .tri-layout-middle-contents {
273 @include smaller-than($l) {
274 .tri-layout-container {
275 grid-template-areas: none;
276 grid-template-columns: 1fr;
278 padding-inline-end: $-xs;
279 padding-inline-start: $-xs;
280 .tri-layout-left-contents, .tri-layout-right-contents {
281 padding-inline-start: $-m;
282 padding-inline-end: $-m;
284 .tri-layout-left > *, .tri-layout-right > * {
286 pointer-events: none;
288 .tri-layout-left, .tri-layout-right {
292 padding-top: 0 !important;
300 transition: transform ease-in-out 240ms;
310 .tri-layout-right > *, .tri-layout-left > * {
312 pointer-events: auto;
317 @include larger-than($l) {
318 .tri-layout-mobile-tabs {
321 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
323 transition: opacity ease-in-out 120ms;
334 @include smaller-than($m) {
335 .tri-layout-container {
336 margin-inline-start: 0;
337 margin-inline-end: 0;