3 * Generic content container
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;
39 grid-column-gap: $-xl;
43 grid-column-gap: $-xxl;
51 @include smaller-than($m) {
53 grid-template-columns: 1fr 1fr;
55 .grid.half, .grid.left-focus, .grid.right-focus {
56 grid-template-columns: 1fr;
58 .grid.half.collapse-xs {
59 grid-template-columns: 1fr 1fr;
65 .grid.right-focus.reverse-collapse > *:nth-child(2) {
68 .grid.right-focus.reverse-collapse > *:nth-child(1) {
73 @include smaller-than($s) {
75 grid-template-columns: 1fr;
79 @include smaller-than($xs) {
80 .grid.half.collapse-xs {
81 grid-template-columns: 1fr;
86 * Flexbox layout system
90 flex-direction: column;
105 align-items: stretch;
118 * Display and float utilities
130 display: inline-block;
143 @each $sizeLetter, $size in $screen-sizes {
144 @include smaller-than($size) {
145 .hide-under-#{$sizeLetter} {
146 display: none !important;
149 @include larger-than($size) {
150 .hide-over-#{$sizeLetter} {
151 display: none !important;
157 * Inline content columns
159 .dual-column-content {
163 @include smaller-than($m) {
164 .dual-column-content {
185 .tri-layout-container {
189 grid-template-columns: 1fr 4fr 1fr;
190 grid-template-areas: "a b c";
191 grid-column-gap: $-xxl;
205 @include smaller-than($xxl) {
206 .tri-layout-container {
207 grid-template-areas: "c b b"
209 grid-template-columns: 1fr 3fr;
210 grid-template-rows: max-content min-content;
217 @include larger-than($xxl) {
218 .tri-layout-left-contents, .tri-layout-right-contents {
226 scrollbar-width: none;
227 -ms-overflow-style: none;
228 &::-webkit-scrollbar {
232 .tri-layout-middle-contents {
238 @include smaller-than($l) {
239 .tri-layout-container {
240 grid-template-areas: none;
241 grid-template-columns: 10% 90%;
243 .tri-layout-left-contents, .tri-layout-right-contents {
247 .tri-layout-right-contents > div, .tri-layout-left-contents > div {
251 .tri-layout-left > *, .tri-layout-right > * {
252 pointer-events: none;
254 .tri-layout-right, .tri-layout-left, .tri-layout-middle {
263 transition: transform ease-in-out 240ms;
271 transform: translateX(90%);
273 .tri-layout-right > *, .tri-layout-left > * {
274 pointer-events: auto;
280 .tri-layout-left-contents > div, .tri-layout-right-contents > div {
282 transition: opacity ease-in-out 120ms;