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;
42 grid-column-gap: $-xl;
46 grid-column-gap: $-xxl;
54 @include smaller-than($m) {
56 grid-template-columns: 1fr 1fr;
58 .grid.half, .grid.left-focus, .grid.right-focus {
59 grid-template-columns: 1fr;
61 .grid.half.collapse-xs {
62 grid-template-columns: 1fr 1fr;
68 .grid.right-focus.reverse-collapse > *:nth-child(2) {
71 .grid.right-focus.reverse-collapse > *:nth-child(1) {
76 @include smaller-than($s) {
78 grid-template-columns: 1fr;
82 @include smaller-than($xs) {
83 .grid.half.collapse-xs {
84 grid-template-columns: 1fr;
89 * Flexbox layout system
93 flex-direction: column;
108 align-items: stretch;
121 * Display and float utilities
133 display: inline-block;
146 @each $sizeLetter, $size in $screen-sizes {
147 @include smaller-than($size) {
148 .hide-under-#{$sizeLetter} {
149 display: none !important;
152 @include larger-than($size) {
153 .hide-over-#{$sizeLetter} {
154 display: none !important;
160 * Inline content columns
162 .dual-column-content {
166 @include smaller-than($m) {
167 .dual-column-content {
188 .tri-layout-container {
192 grid-template-columns: 1fr 4fr 1fr;
193 grid-template-areas: "a b c";
194 grid-column-gap: $-xxl;
208 @include smaller-than($xxl) {
209 .tri-layout-container {
210 grid-template-areas: "c b b"
212 grid-template-columns: 1fr 3fr;
213 grid-template-rows: max-content min-content;
220 @include larger-than($xxl) {
221 .tri-layout-left-contents, .tri-layout-right-contents {
229 scrollbar-width: none;
230 -ms-overflow-style: none;
231 &::-webkit-scrollbar {
235 .tri-layout-middle-contents {
241 @include smaller-than($l) {
242 .tri-layout-container {
243 grid-template-areas: none;
244 grid-template-columns: 10% 90%;
246 .tri-layout-left-contents, .tri-layout-right-contents {
250 .tri-layout-right-contents > div, .tri-layout-left-contents > div {
254 .tri-layout-left > *, .tri-layout-right > * {
255 pointer-events: none;
257 .tri-layout-right, .tri-layout-left, .tri-layout-middle {
266 transition: transform ease-in-out 240ms;
274 transform: translateX(90%);
276 .tri-layout-right > *, .tri-layout-left > * {
277 pointer-events: auto;
283 .tri-layout-left-contents > div, .tri-layout-right-contents > div {
285 transition: opacity ease-in-out 120ms;