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;
61 @include smaller-than($m) {
62 .grid.third:not(.no-break) {
63 grid-template-columns: 1fr 1fr;
65 .grid.half:not(.no-break), .grid.left-focus:not(.no-break), .grid.right-focus:not(.no-break) {
66 grid-template-columns: 1fr;
68 .grid.half.collapse-xs {
69 grid-template-columns: 1fr 1fr;
75 .grid.right-focus.reverse-collapse > *:nth-child(2) {
78 .grid.right-focus.reverse-collapse > *:nth-child(1) {
83 @include smaller-than($s) {
84 .grid.third:not(.no-break) {
85 grid-template-columns: 1fr;
89 @include smaller-than($xs) {
90 .grid.half.collapse-xs {
91 grid-template-columns: 1fr;
96 * Flexbox layout system
100 flex-direction: column;
101 align-items: stretch;
115 align-items: stretch;
128 * Display and float utilities
140 display: inline-block;
157 @each $sizeLetter, $size in $screen-sizes {
158 @include smaller-than($size) {
159 .hide-under-#{$sizeLetter} {
160 display: none !important;
163 @include larger-than($size) {
164 .hide-over-#{$sizeLetter} {
165 display: none !important;
171 * Inline content columns
173 .dual-column-content {
177 @include smaller-than($m) {
178 .dual-column-content {
199 .tri-layout-container {
201 margin-inline-start: $-xl;
202 margin-inline-end: $-xl;
203 grid-template-columns: 1fr 4fr 1fr;
204 grid-template-areas: "a b c";
205 grid-column-gap: $-xxl;
219 @include smaller-than($xxl) {
220 .tri-layout-container {
221 grid-template-areas: "c b b"
224 grid-template-columns: 1fr 3fr;
225 grid-template-rows: min-content min-content 1fr;
226 padding-inline-end: $-l;
229 @include between($l, $xxl) {
235 @include larger-than($xxl) {
236 .tri-layout-left-contents, .tri-layout-right-contents {
244 scrollbar-width: none;
245 -ms-overflow-style: none;
246 &::-webkit-scrollbar {
250 .tri-layout-middle-contents {
256 @include smaller-than($l) {
257 .tri-layout-container {
258 grid-template-areas: none;
259 grid-template-columns: 1fr;
261 padding-inline-end: $-xs;
262 padding-inline-start: $-xs;
263 .tri-layout-left-contents, .tri-layout-right-contents {
264 padding-inline-start: $-m;
265 padding-inline-end: $-m;
267 .tri-layout-left > *, .tri-layout-right > * {
269 pointer-events: none;
271 .tri-layout-left, .tri-layout-right {
275 padding-top: 0 !important;
283 transition: transform ease-in-out 240ms;
293 .tri-layout-right > *, .tri-layout-left > * {
295 pointer-events: auto;
300 @include larger-than($l) {
301 .tri-layout-mobile-tabs {
304 .tri-layout-left-contents > *, .tri-layout-right-contents > * {
306 transition: opacity ease-in-out 120ms;
317 @include smaller-than($m) {
318 .tri-layout-container {
319 margin-inline-start: 0;
320 margin-inline-end: 0;