Browse code

Initial commit

Benjamin Roth authored on07/11/2022 09:19:06
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,107 @@
1
+@mixin column-classes($gutter-width, $max-columns, $class-name) {
2
+  @for $cols from 1 through $max-columns {
3
+    @for $span from 1 through $cols {
4
+      &.-#{unquote($class-name)}-col-#{$cols}-#{$span} {
5
+        flex-basis: 100% / $cols * $span - ($gutter-width * 100%);
6
+        max-width: 100% / $cols * $span - ($gutter-width * 100%);
7
+        order: 6;
8
+      }
9
+    }
10
+  }
11
+
12
+  @for $cols from 1 through $max-columns {
13
+    &.-#{unquote($class-name)}-order-#{$cols} {
14
+      order: $cols;
15
+    }
16
+  }
17
+}
18
+
19
+$gutter-width: floor((1 / 1200) * 1000000) / 1000000 * 60;
20
+
21
+.rs-columns {
22
+  display: flex;
23
+  align-items: flex-start;
24
+  flex-wrap: wrap;
25
+  margin-left: -#{$gutter-width * 100%};
26
+  margin-top: -#{$gutter-width * 100%};
27
+
28
+  &.-valign-center {
29
+    align-items: center;
30
+  }
31
+  &.-valign-bottom {
32
+    align-items: flex-end;
33
+  }
34
+  &.-valign-stretch {
35
+    align-items: stretch;
36
+  }
37
+
38
+  &.-inline {
39
+    display: inline-flex;
40
+    margin-top: 0;
41
+    margin-left: 0;
42
+    .rs-column {
43
+      margin: #{$gutter-width * 100%} #{$gutter-width/2 * 100%} 0;
44
+    }
45
+  }
46
+}
47
+
48
+.rs-column {
49
+  flex: 0;
50
+  max-width: 100%;
51
+  min-width: 0;
52
+  margin-top: $gutter-width * 100%;
53
+  margin-left: $gutter-width * 100%;
54
+  order: 6;
55
+
56
+  /*> * + * {
57
+    margin-top: 30px;
58
+  }*/
59
+
60
+  @include column-classes($gutter-width, 6, large);
61
+
62
+  &.-valign-center {
63
+    align-self: center;
64
+  }
65
+  &.-valign-bottom {
66
+    align-self: flex-end;
67
+  }
68
+  &.-valign-stretch {
69
+    align-self: stretch;
70
+  }
71
+}
72
+
73
+// Tablet portrait format (viewport width 900px and below)
74
+@media screen and (max-width: 900px) {
75
+  $gutter-width: floor((1 / 900) * 1000000) / 1000000 * 60;
76
+
77
+  .rs-columns {
78
+    margin-left: -#{$gutter-width * 100%};
79
+    margin-top: -#{$gutter-width * 100%};
80
+  }
81
+
82
+  .rs-column {
83
+    margin-top: $gutter-width * 100%;
84
+    margin-left: $gutter-width * 100%;
85
+    order: 6;
86
+
87
+    @include column-classes($gutter-width, 6, medium);
88
+  }
89
+}
90
+
91
+// Mobile (viewport width 599px and below)
92
+@media screen and (max-width: 599px) {
93
+  $gutter-width: floor((1 / 599) * 1000000) / 1000000 * 60;
94
+
95
+  .rs-columns {
96
+    margin-left: -#{$gutter-width * 100%};
97
+    margin-top: -#{$gutter-width * 100%};
98
+  }
99
+
100
+  .rs-column {
101
+    margin-top: $gutter-width * 100%;
102
+    margin-left: $gutter-width * 100%;
103
+    order: 6;
104
+
105
+    @include column-classes($gutter-width, 6, small);
106
+  }
107
+}