font-size: calculateRem($size);
}
-/* Photoshop letter spacing */
-@function tracking($target) {
- @return ($target / 1000) * 1rem;
-}
-@mixin tracking($target) {
- letter-spacing: tracking($target);
-}
-/* Float fix */
-@mixin clearfix {
- &:after {
- content: "";
- display: table;
- clear: both;
- }
-}
+/* Breakpoints */
+$tablet: 1024px;
-/* Input placeholder selector */
-@mixin placeholder {
- $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
- @each $placeholder in $placeholders {
- &:#{$placeholder}-placeholder {
- @content;
- }
- }
-}
-@mixin keyframes($animation-name) {
- @keyframes #{$animation-name} {
- @content;
- }
-}
-
-@keyframes slide-up {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- transform: translate(0,0);
- }
-}
+// under...
-@mixin cascading {
- @for $i from 1 through 14 {
- &:nth-child(#{$i}) {
- animation: slide-up 250ms cubic-bezier(0.645, 0.045, 0.355, 1) forwards #{$i * 0.1}s;
- }
- }
-}
+$break2: 360px;
+$break3: 520px;
+$break4: 680px;
+$break5: 840px;
+// somewhere here -- widen?
+$break-wide: 1172px;
-$scrimStops: 0% 0%, 26.2% 19%, 45.9% 34%, 61.8% 47%, 72.2% 56.5%, 80.6% 65%, 87.4% 73%, 92.5% 80.2%, 95.8% 86.1%, 97.9% 91%, 99.2% 95.2%, 99.8% 98.2%, 100% 100%;
+$screen-md: 1418px;
-@function getColorStop($colorTo, $colorFrom, $weight, $stop) {
- @return mix($colorFrom, $colorTo, $weight) $stop;
-}
+$B2: $break2;
+$B3: $break3;
+$B4: $break4;
+$B5: $break5;
-@function getColorStops($colorTo, $colorFrom) {
- $stops: ();
- @each $scrimStop in $scrimStops {
- $stops: append($stops, getColorStop($colorTo, $colorFrom, nth($scrimStop, 1), nth($scrimStop, 2)), comma)
- }
- @return $stops;
-}
+$break-menu: $break5;
+$break-footer: $break5;
+$break-flow: $break5;
-@function scrim-linear-gradient($args...) {
- @if (length($args) == 2) {
- @return linear-gradient(#{getColorStops(nth($args, 1), nth($args, 2))});
- }
- @return linear-gradient(#{nth($args, 1)}, #{getColorStops(nth($args, 2), nth($args, 3))});
-}
-@function unicode($str) {
- @return unquote("\"") + $str + unquote("\"");
+@mixin rwd($canvas) {
+ //@if $canvas == 'phone' {
+ //} @else if $...
+ @media only screen and (min-width: $canvas) {
+ @content;
+ }
}
-/* Breakpoints */
-$phone: 450px;
-$smartphone: 767px;
-$tablet: 1024px;
-$only-desktop: 1025px;
-$screen-xs: 1280px;
-$screen-sm: 1368px;
-$screen-md: 1418px;
-$screen-xl: 1680px;
-
-
-@mixin mq($breakpoint) {
- @media only screen and (max-width: $breakpoint) {
+/*
+ // Print styles
+ @else if $canvas == 'print' {
+ @media print {
@content;
}
+ }
}
-@mixin rwd($canvas) {
+*/
- // Really Small devices
- @if $canvas == 'phone' {
- @media only screen and (max-width: $phone) {
- @content;
- }
- }
- // Smartphones
- @else if $canvas == 'smartphone' {
- @media only screen and (max-width: $smartphone) {
- @content;
- }
- }
- @else if $canvas == 'smartphone-portrait' {
- @media only screen and (max-width: $smartphone) and (orientation: portrait) {
- @content;
+.only-l {
+ display: none;
+ @include rwd($break5) {
+ display: block;
}
- }
- @else if $canvas == 'smartphone-landscape' {
- @media only screen and (max-width: $smartphone) and (orientation: landscape) {
- @content;
+}
+.only-s {
+ display: block;
+ @include rwd($break5) {
+ display: none;
}
- }
+}
- // Tablets
- @else if $canvas == 'tablet' {
- @media only screen and (max-width: $tablet) {
- @content;
+.lay-row {
+ display: flex;
+ flex-direction: row;
+ column-gap: 16px;
+}
+.lay-col {
+ display: flex;
+ flex-direction: column;
+}
+.lay-spread {
+ justify-content: space-between;
+}
+.lay-l-row {
+ @include rwd($break5) {
+ display: flex;
+ flex-direction: row;
}
- }
- @else if $canvas == 'tablet-portrait' {
- @media only screen and (max-width: $tablet) and (orientation: portrait) {
- @content;
+}
+.lay-l-block {
+ @include rwd($break5) {
+ display: block;
}
- }
- @else if $canvas == 'tablet-landscape' {
- @media only screen and (max-width: $tablet) and (orientation: landscape) {
- @content;
+}
+.lay-s-col-rev {
+ flex-direction: column-reverse;
+ @include rwd($break5) {
+ flex-direction: row;
}
- }
+}
+.lay-grow {
+ flex-grow: 1;
+}
- // Screens
- @else if $canvas == 'screen-xs' {
- @media only screen and (max-width: $screen-xs) {
- @content;
- }
- }
- @else if $canvas == 'screen-sm' {
- @media only screen and (max-width: $screen-sm) {
- @content;
- }
- }
- @else if $canvas == 'screen-md' {
- @media only screen and (max-width: $screen-md) {
- @content;
- }
- }
- @else if $canvas == 'screen-xl' {
- @media only screen and (max-width: $screen-xl) {
- @content;
- }
- }
- // More than tablets
- @else if $canvas == 'only-desktop' {
- @media only screen and (min-width: 1025px) {
- @content;
- }
- }
- // Print styles
- @else if $canvas == 'print' {
- @media print {
- @content;
- }
- }
+$max-logical-viewport-width: 1140px + 32px;
+@mixin lvw($property, $size) {
+ #{$property}: $size * $max-logical-viewport-width / 100;
+
+ @include rwd($break-wide) {
+ #{$property}: $size * 1vw;
+ }
}