├── LICENSE
├── README.md
├── logo.svg
├── sass
├── buttons.scss
├── cards.scss
├── colors.scss
├── default.scss
├── fonts.scss
├── forms.scss
├── gradient.scss
├── grid.scss
├── main.scss
├── media.scss
├── mixins.scss
└── variables.scss
├── source
├── .babelrc
├── .bowerrc
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .yo-rc.json
├── LICENSE
├── README.md
├── app
│ ├── apple-touch-icon.png
│ ├── favicon.ico
│ ├── images
│ │ ├── drone2.jpg
│ │ └── logo.svg
│ ├── index.html
│ ├── robots.txt
│ ├── scripts
│ │ └── main.js
│ └── styles
│ │ ├── buttons.scss
│ │ ├── cards.scss
│ │ ├── colors.scss
│ │ ├── default.scss
│ │ ├── fonts.scss
│ │ ├── forms.scss
│ │ ├── gradient.scss
│ │ ├── grid.scss
│ │ ├── main.scss
│ │ ├── media.scss
│ │ ├── mixins.scss
│ │ └── variables.scss
├── bower.json
├── gulpfile.js
├── package.json
├── test
│ ├── index.html
│ └── spec
│ │ └── test.js
└── yarn.lock
├── unnamed.css
└── unnamed.min.css
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 ismail ghallou
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [Unnamed](https://unnamed.smakosh.com)
2 |
3 | 
4 |
5 | Unnamed is a simple colorful css framework that is recommended to be used while learning something and you're too lazy to style your components or for building prototypes, created by [Ismail Ghallou (Smakosh)](https://twitter.com/smakosh).
6 |
7 | [](https://www.npmjs.com/package/unnamed)
8 | [](https://www.npmjs.com/package/unnamed)
9 |
10 | [](https://www.patreon.com/smakosh)
11 |
12 | Npm
13 |
14 | npm install --save unnamed
15 |
16 | Yarn
17 |
18 | yarn add unnamed
19 |
20 | CDN
21 |
22 |
23 |
24 | ## Documentation
25 |
26 | https://unnamed.smakosh.com
27 |
28 | ## Development
29 |
30 | ### For web apps
31 |
32 | Npm
33 |
34 | $ npm install --save unnamed
35 |
36 | Yarn
37 |
38 | $ yarn add unnamed
39 |
40 | Usage with webpack:
41 |
42 | import 'unnamed'
43 |
44 | ### For landing pages
45 |
46 | #### Clone & start dev server
47 |
48 | $ git clone https://github.com/smakosh/Unnamed-getting-started.git
49 |
50 | $ cd Unnamed-getting-started && yarn install && bower install
51 |
52 | $ gulp serve
53 |
54 | #### To Build
55 |
56 | $ gulp build
57 |
58 | #### Or include CDN
59 |
60 | # License
61 |
62 | MIT © Unnamed
63 |
--------------------------------------------------------------------------------
/logo.svg:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/sass/buttons.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .btn {
4 | padding: 1rem 1.5rem;
5 | color: #fff;
6 | cursor: pointer;
7 | text-transform: uppercase;
8 | font-weight: bold;
9 | }
10 |
11 | .btn-primary {
12 | border-radius: 5px;
13 | }
14 |
15 | .btn-rounded {
16 | border-radius: 30px;
17 | }
18 |
19 | .btn-outlined {
20 | border-width: 3px;
21 | border-style: solid;
22 | transition: all 0.5s;
23 |
24 | &:hover {
25 | color: #fff;
26 | transition: all 0.5s;
27 | }
28 | }
29 |
30 | .gradient-black {
31 | background: $black !important;
32 | }
33 |
34 | .black-btn {
35 | border-color: $black;
36 | color: $black;
37 |
38 | &:hover {
39 | background-color: $black;
40 | }
41 | }
42 |
43 | .green-btn {
44 | border-color: $green;
45 | color: $green;
46 |
47 | &:hover {
48 | background-color: $green;
49 | }
50 | }
51 |
52 | .orange-btn {
53 | border-color: $orange-btn;
54 | color: $orange-btn;
55 |
56 | &:hover {
57 | background-color: $orange-btn;
58 | }
59 | }
60 |
61 | .purple-btn {
62 | border-color: $purple-btn;
63 | color: $purple-btn;
64 |
65 | &:hover {
66 | background-color: $purple-btn;
67 | }
68 | }
69 |
70 | button:disabled {
71 | box-shadow: unset;
72 | opacity: .8;
73 | background: $disabled;
74 | color: #fff;
75 | border: unset;
76 |
77 | &:hover {
78 | box-shadow: unset;
79 | background: $disabled;
80 | }
81 | }
--------------------------------------------------------------------------------
/sass/cards.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | border-radius: 5px;
3 | box-shadow: 0px 1px 10px 0px rgba(5, 5, 5, 0.13);
4 |
5 | .card-header {
6 | padding: 1.5rem;
7 |
8 | h4 {
9 | font-weight: bold;
10 | margin: 0;
11 | }
12 | }
13 |
14 | .card-img {
15 | overflow: hidden;
16 |
17 | img {
18 | position: relative;
19 | left: 0;
20 | right: 0;
21 | top: 0;
22 | bottom: 0;
23 | width: 100%;
24 | display: block;
25 | }
26 | }
27 |
28 | .card-footer {
29 | padding: 1.5rem 0 1.5rem 1.5rem;
30 |
31 | h4 {
32 | font-weight: bold;
33 | margin: 0;
34 | }
35 | }
36 | }
37 |
38 | .card-no-footer {
39 | .card-img {
40 |
41 | img {
42 | border-bottom-left-radius: 5px;
43 | border-bottom-right-radius: 5px;
44 | }
45 | }
46 | }
47 |
48 | .card-no-header {
49 | .card-img {
50 | img {
51 | border-top-left-radius: 5px;
52 | border-top-right-radius: 5px;
53 | }
54 | }
55 | }
56 |
57 | .card-hover {
58 | transition: all .3s;
59 | &:hover {
60 | box-shadow: 0px 11px 16px 0px rgba(5, 5, 5, 0.23);
61 | transition: all .3s;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/sass/colors.scss:
--------------------------------------------------------------------------------
1 | // colors
2 | $green: #1fdeb3;
3 | $blue: #12c3d2;
4 | $yellow: #FFE53B;
5 | $orange: #FF2525;
6 | $orange-btn: #ff9f33;
7 | $dark-blue: #21D4FD;
8 | $purple: #B721FF;
9 | $purple-btn: #7274ff;
10 | $red: #f44336;
11 | $black: #212121;
12 | $disabled: #c1c1c1;
13 |
--------------------------------------------------------------------------------
/sass/default.scss:
--------------------------------------------------------------------------------
1 | a {
2 | text-decoration: none;
3 | }
4 |
5 | select, input, textarea, button {
6 | -webkit-appearance: none;
7 |
8 | &:focus {
9 | outline: none;
10 | }
11 | }
12 |
13 | button {
14 | background-color: unset;
15 | border: none;
16 | -webkit-appearance: none;
17 | -webkit-touch-callout: none;
18 | -webkit-user-select: none;
19 | -khtml-user-select: none;
20 | -moz-user-select: none;
21 | -ms-user-select: none;
22 | user-select: none;
23 | }
24 |
--------------------------------------------------------------------------------
/sass/fonts.scss:
--------------------------------------------------------------------------------
1 | @import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
--------------------------------------------------------------------------------
/sass/forms.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | form {
4 | width: 100%;
5 | }
6 |
7 | input[type="text"],
8 | input[type="password"],
9 | input[type="email"],
10 | input[type="search"],
11 | input[type="number"],
12 | input[type="file"],
13 | input[type="tel"],
14 | input[type="url"],
15 | select,
16 | textarea,
17 | textarea[type=text] {
18 | width: 100%;
19 | margin-top: 1rem;
20 | margin-bottom: 1rem;
21 | box-sizing: border-box;
22 | transition: all .2s ease;
23 | border-width: 1px;
24 | border-color: $black;
25 | border-style: solid;
26 | border-radius: 2px;
27 |
28 | &:focus {
29 | border-color: $black;
30 | transition: all .2s ease;
31 | }
32 | }
33 |
34 | input, textarea {
35 | padding: .9rem 1rem .9rem 2rem;
36 | }
37 |
38 | select {
39 | background: #fff;
40 | padding: .9rem .5rem .9rem .5rem;
41 | margin: 1.2rem 0;
42 | }
43 |
44 | textarea {
45 | resize: vertical;
46 | min-height: 12rem;
47 | margin: 0;
48 | }
49 |
50 | .input-field {
51 | span:before {
52 | cursor: pointer;
53 | position: relative;
54 | font-family: 'fontawesome';
55 | top: 3rem;
56 | left: .6rem;
57 | color: $black;
58 | }
59 | }
60 |
61 | .text-area-field {
62 | span:before {
63 | top: 1.8rem;
64 | }
65 | }
66 |
67 | .user-icon:before {
68 | content: '';
69 | }
70 |
71 | .email-icon:before {
72 | content: '';
73 | }
74 |
75 | .edit-icon:before {
76 | content: '';
77 | }
78 |
79 | .caret-icon:before {
80 | content: '▼';
81 | }
82 |
83 | label {
84 | cursor: pointer;
85 |
86 | input[type="checkbox"] {
87 | display: none;
88 |
89 | + span:before {
90 | content: '';
91 | font-family: 'fontawesome';
92 | border: 1px solid $black;
93 | padding: .4rem .4rem;
94 | border-radius: 2px;
95 | transition: .2s;
96 | color: rgba(255, 255, 255, 0);
97 | font-size: 16px;
98 | }
99 | }
100 |
101 | input[type="checkbox"]:checked + span:before {
102 | content: '';
103 | font-family: 'fontawesome';
104 | border: 1px solid $black;
105 | padding: .4rem .4rem;
106 | border-radius: 2px;
107 | transition: .2s;
108 | color: $black;
109 | font-size: 16px;
110 | }
111 |
112 | input[type="radio"] {
113 | display: none;
114 |
115 | + span:before {
116 | content: '';
117 | font-family: 'fontawesome';
118 | border: 1px solid $black;
119 | padding: .3rem .4rem;
120 | border-radius: 100%;
121 | transition: .2s;
122 | color: rgba(255, 255, 255, 0);
123 | font-size: 14px;
124 | }
125 | }
126 |
127 | input[type="radio"]:checked + span:before {
128 | content: '';
129 | font-family: 'fontawesome';
130 | border: 1px solid $black;
131 | padding: .3rem .4rem;
132 | border-radius: 100%;
133 | transition: .2s;
134 | color: $black;
135 | font-size: 14px;
136 | }
137 | }
138 |
139 | .green-input {
140 | input[type="text"],
141 | input[type="password"],
142 | input[type="email"],
143 | input[type="search"],
144 | input[type="number"],
145 | input[type="file"],
146 | input[type="tel"],
147 | input[type="url"],
148 | select,
149 | textarea,
150 | textarea[type="text"] {
151 | border-color: $green;
152 |
153 | &:focus {
154 | border-color: $blue;
155 | }
156 | }
157 |
158 | span:before {
159 | color: $green;
160 | }
161 | }
162 |
163 | .black-input {
164 | input[type="text"],
165 | input[type="password"],
166 | input[type="email"],
167 | input[type="search"],
168 | input[type="number"],
169 | input[type="file"],
170 | input[type="tel"],
171 | input[type="url"],
172 | select,
173 | textarea,
174 | textarea[type="text"] {
175 | border-color: $black;
176 |
177 | &:focus {
178 | border-color: lighten($black, 10);
179 | }
180 | }
181 |
182 | span:before {
183 | color: $black;
184 | }
185 | }
186 |
187 | .orange-input {
188 | input[type="text"],
189 | input[type="password"],
190 | input[type="email"],
191 | input[type="search"],
192 | input[type="number"],
193 | input[type="file"],
194 | input[type="tel"],
195 | input[type="url"],
196 | select,
197 | textarea,
198 | textarea[type="text"] {
199 | border-color: $orange-btn;
200 |
201 | &:focus {
202 | border-color: $yellow;
203 | }
204 | }
205 |
206 | span:before {
207 | color: $orange-btn;
208 | }
209 | }
210 |
211 | .purple-input {
212 | input[type="text"],
213 | input[type="password"],
214 | input[type="email"],
215 | input[type="search"],
216 | input[type="number"],
217 | input[type="file"],
218 | input[type="tel"],
219 | input[type="url"],
220 | select,
221 | textarea,
222 | textarea[type="text"] {
223 | border-color: $purple-btn;
224 |
225 | &:focus {
226 | border-color: $dark-blue;
227 | }
228 | }
229 |
230 | span:before {
231 | color: $purple-btn;
232 | }
233 | }
234 |
235 | .green-checkbox {
236 | + span:before {
237 | border-color: $green !important;
238 | color: rgba(255, 255, 255, 0) !important;
239 | }
240 | }
241 |
242 | .green-checkbox:checked + span:before {
243 | color: $green !important;
244 | }
245 |
246 | .black-checkbox {
247 | + span:before {
248 | border-color: $black !important;
249 | color: rgba(255, 255, 255, 0) !important;
250 | }
251 | }
252 |
253 | .black-checkbox:checked + span:before {
254 | color: $black !important;
255 | }
256 |
257 | .orange-checkbox {
258 | + span:before {
259 | border-color: $orange-btn !important;
260 | color: rgba(255, 255, 255, 0) !important;
261 | }
262 | }
263 |
264 | .orange-checkbox:checked + span:before {
265 | color: $orange-btn !important;
266 | }
267 |
268 | .purple-checkbox {
269 | + span:before {
270 |
271 | border-color: $purple-btn !important;
272 | color: rgba(255, 255, 255, 0) !important;
273 | }
274 | }
275 |
276 | .purple-checkbox:checked + span:before {
277 | color: $purple-btn !important;
278 | }
--------------------------------------------------------------------------------
/sass/gradient.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 | @import "mixins";
3 |
4 | .gradient-green {
5 | @include linear-gradient($green, $blue);
6 | }
7 |
8 | .gradient-orange {
9 | @include linear-gradient($yellow, $orange);
10 | }
11 |
12 | .gradient-purple {
13 | @include linear-gradient($dark-blue, $purple);
14 | }
15 |
--------------------------------------------------------------------------------
/sass/grid.scss:
--------------------------------------------------------------------------------
1 | @import "variables";
2 |
3 | .full-container {
4 | margin: 0 auto;
5 | width: 100%;
6 | }
7 |
8 | .flex-container {
9 | display: flex;
10 | align-items: center;
11 | justify-content: space-between;
12 | }
13 |
14 | .small-container {
15 | margin: 0 auto;
16 | max-width: 960px;
17 | width: 90%;
18 |
19 | @media #{$medium-and-up} {
20 | width: 90%;
21 | }
22 | @media #{$large-and-up} {
23 | width: 100%;
24 | }
25 | }
26 |
27 | .container {
28 | margin: 0 auto;
29 | max-width: 1280px;
30 | width: 90%;
31 |
32 | @media #{$medium-and-up} {
33 | width: 85%;
34 | }
35 | @media #{$large-and-up} {
36 | width: 70%;
37 | }
38 | }
39 |
40 | .row {
41 | margin-left: (-1 * $gutter-width / 2);
42 | margin-right: (-1 * $gutter-width / 2);
43 | }
44 |
45 | @mixin reset-offset {
46 | margin-left: auto;
47 | left: auto;
48 | right: auto;
49 | }
50 |
51 | @mixin grid-classes($size, $i, $perc) {
52 | &.offset-#{$size}#{$i} {
53 | margin-left: $perc;
54 | }
55 | &.pull-#{$size}#{$i} {
56 | right: $perc;
57 | }
58 | &.push-#{$size}#{$i} {
59 | left: $perc;
60 | }
61 | }
62 |
63 | .center-text {
64 | text-align: center;
65 | }
66 |
67 | .left-text {
68 | text-align: left;
69 | }
70 |
71 | .right-text {
72 | text-align: right;
73 | }
74 |
75 | .row {
76 | margin-bottom: .5rem;
77 | margin-left: auto;
78 | margin-right: auto;
79 |
80 | &:after {
81 | content: "";
82 | display: table;
83 | clear: both;
84 | }
85 |
86 | .column {
87 | box-sizing: border-box;
88 | padding: 0 $gutter-width / 2;
89 | min-height: 1px;
90 | float: left;
91 |
92 | $i: 1;
93 | @while $i <= $number-columns {
94 | $perc: unquote((100 / ($number-columns / $i)) + "%");
95 |
96 | &.small-#{$i} {
97 | width: $perc;
98 | @include reset-offset;
99 | }
100 |
101 | $i: $i + 1;
102 | }
103 |
104 | @media #{$medium-and-up} {
105 | $i: 1;
106 |
107 | @while $i <= $number-columns {
108 | $perc: unquote((100 / ($number-columns / $i)) + "%");
109 |
110 | &.medium-#{$i} {
111 | width: $perc;
112 | @include reset-offset;
113 | }
114 |
115 | $i: $i + 1;
116 | }
117 | }
118 |
119 | @media #{$large-and-up} {
120 | $i: 1;
121 |
122 | @while $i <= $number-columns {
123 | $perc: unquote((100 / ($number-columns / $i)) + "%");
124 |
125 | &.large-#{$i} {
126 | width: $perc;
127 | @include reset-offset;
128 | }
129 |
130 | $i: $i + 1;
131 | }
132 | }
133 |
134 | @media #{$extra-large-and-up} {
135 | $i: 1;
136 |
137 | @while $i <= $number-columns {
138 | $perc: unquote((100 / ($number-columns / $i)) + "%");
139 |
140 | &.xlarge-#{$i} {
141 | width: $perc;
142 | @include reset-offset;
143 | }
144 |
145 | $i: $i + 1;
146 | }
147 | }
148 | }
149 | }
150 |
151 | .hide-tablet-down {
152 | @media #{$medium-and-down} {
153 | display: none;
154 | }
155 | }
156 |
157 | .hide-mobile {
158 | @media #{$small-and-down} {
159 | display: none;
160 | }
161 | }
162 |
163 | .hide {
164 | display: none;
165 | }
166 |
--------------------------------------------------------------------------------
/sass/main.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 | @import "fonts";
3 | @import "gradient";
4 | @import "default";
5 | @import "grid";
6 | @import "forms";
7 | @import "cards";
8 | @import "buttons";
9 | @import "media";
10 | @import url('https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i');
11 |
12 | body {
13 | font-family: 'Roboto', sans-serif;
14 | padding: 0;
15 | margin: 0;
16 | }
17 |
--------------------------------------------------------------------------------
/sass/media.scss:
--------------------------------------------------------------------------------
1 | .responsive-image {
2 | overflow: hidden;
3 |
4 | img {
5 | width: 100%;
6 | }
7 | }
8 |
9 | .responsive-video {
10 | position: relative;
11 | padding-bottom: 56.25%;
12 | height: 0;
13 | overflow: hidden;
14 |
15 | iframe,
16 | object,
17 | embed {
18 | position: absolute;
19 | top: 0;
20 | left: 0;
21 | width: 100%;
22 | height: 100%;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/sass/mixins.scss:
--------------------------------------------------------------------------------
1 | @function is-direction($value) {
2 | $is-keyword: index((to top, to top right, to right top, to right, to bottom right, to right bottom, to bottom, to bottom left, to left bottom, to left, to left top, to top left), $value);
3 | $is-angle: type-of($value) == 'number' and index('deg' 'grad' 'turn' 'rad', unit($value));
4 |
5 | @return $is-keyword or $is-angle;
6 | }
7 |
8 | @function legacy-direction($value) {
9 | @if is-direction($value) == false {
10 | @error "Cannot convert `#{$value}` to legacy syntax because it doesn't seem to be a direction.";
11 | }
12 |
13 | $conversion-map: (
14 | to top : bottom,
15 | to top right : bottom left,
16 | to right top : left bottom,
17 | to right : left,
18 | to bottom right : top left,
19 | to right bottom : left top,
20 | to bottom : top,
21 | to bottom left : top right,
22 | to left bottom : right top,
23 | to left : right,
24 | to left top : right bottom,
25 | to top left : bottom right
26 | );
27 |
28 | @if map-has-key($conversion-map, $value) {
29 | @return map-get($conversion-map, $value);
30 | }
31 |
32 | @return 90deg - $value;
33 | }
34 |
35 | @mixin linear-gradient($direction, $color-stops...) {
36 | // Direction has been omitted and happens to be a color-stop
37 | @if is-direction($direction) == false {
38 | $color-stops: $direction, $color-stops;
39 | $direction: 80deg;
40 | }
41 |
42 | background: nth(nth($color-stops, 1), 1);
43 | background: -webkit-linear-gradient(legacy-direction($direction), $color-stops);
44 | background: linear-gradient($direction, $color-stops);
45 | }
--------------------------------------------------------------------------------
/sass/variables.scss:
--------------------------------------------------------------------------------
1 | $mobile-up: 601px !default;
2 | $tablet-up: 993px !default;
3 | $desk-up: 1201px !default;
4 | $mobile: 600px !default;
5 | $tablet: 992px !default;
6 | $desk: 1200px !default;
7 |
8 | $medium-and-up: "only screen and (min-width : #{$mobile-up})" !default;
9 | $large-and-up: "only screen and (min-width : #{$tablet-up})" !default;
10 | $extra-large-and-up: "only screen and (min-width : #{$desk-up})" !default;
11 | $small-and-down: "only screen and (max-width : #{$mobile})" !default;
12 | $medium-and-down: "only screen and (max-width : #{$tablet})" !default;
13 | $medium-only: "only screen and (min-width : #{$mobile-up}) and (max-width : #{$tablet})" !default;
14 |
15 | $number-columns: 12 !default;
16 | $gutter-width: 1.5rem !default;
--------------------------------------------------------------------------------
/source/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "es2015"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/source/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "bower_components"
3 | }
4 |
--------------------------------------------------------------------------------
/source/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 |
8 | [*]
9 |
10 | # change these settings to your own preference
11 | indent_style = space
12 | indent_size = 2
13 |
14 | # we recommend you to keep these unchanged
15 | end_of_line = lf
16 | charset = utf-8
17 | trim_trailing_whitespace = true
18 | insert_final_newline = true
19 |
20 | [*.md]
21 | trim_trailing_whitespace = false
22 |
23 | [{package,bower}.json]
24 | indent_style = space
25 | indent_size = 2
26 |
--------------------------------------------------------------------------------
/source/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
--------------------------------------------------------------------------------
/source/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .tmp
4 | bower_components
5 | test/bower_components
6 |
--------------------------------------------------------------------------------
/source/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "generator-mocha": {
3 | "ui": "bdd",
4 | "rjs": false
5 | }
6 | }
--------------------------------------------------------------------------------
/source/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 ismail ghallou
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/source/README.md:
--------------------------------------------------------------------------------
1 | # unnamed-css-framework
2 | A simple css framework
3 |
--------------------------------------------------------------------------------
/source/app/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smakosh/unnamed-css-framework/6d4f694fafedfd8296ef0ce3da2a467d8f32dabc/source/app/apple-touch-icon.png
--------------------------------------------------------------------------------
/source/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smakosh/unnamed-css-framework/6d4f694fafedfd8296ef0ce3da2a467d8f32dabc/source/app/favicon.ico
--------------------------------------------------------------------------------
/source/app/images/drone2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smakosh/unnamed-css-framework/6d4f694fafedfd8296ef0ce3da2a467d8f32dabc/source/app/images/drone2.jpg
--------------------------------------------------------------------------------
/source/app/images/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
234 |
--------------------------------------------------------------------------------
/source/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Unnamed css framework
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
37 |
38 |
75 |
76 |
Forms
77 |
78 |
79 |
104 |
105 |
129 |
130 |
154 |
155 |
179 |
180 |
181 |
245 |
246 |
247 |
Cards
248 |
249 |
250 |
251 |
252 |
253 |
256 |
257 |

258 |
259 |
262 |
263 |
264 |
265 |
266 |
274 |
275 |
276 |
277 |
285 |
286 |
287 |
288 |
289 |
290 |
Responsive media
291 |
292 |
293 |

294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
Grid
303 |
304 |
305 |
306 |
311 |
316 |
321 |
326 |
331 |
336 |
337 |
342 |
347 |
352 |
357 |
362 |
367 |
368 |
369 |
370 |
371 |
372 |
377 |
378 |
383 |
384 |
389 |
390 |
395 |
396 |
401 |
402 |
407 |
408 |
409 |
410 |
411 |
412 |
417 |
418 |
423 |
424 |
429 |
430 |
435 |
436 |
437 |
438 |
439 |
440 |
445 |
446 |
451 |
452 |
457 |
458 |
459 |
460 |
475 |
476 |
491 |
492 |
507 |
508 |
523 |
524 |
539 |
540 |
555 |
556 |
571 |
572 |
581 |
582 |
583 |
Useful classes
584 |
585 |
586 |
To center, left or right align text use these classes:
587 |
To center it
.center-text
588 |
To left align it
.left-text
589 |
To right align it use
.right-text
590 |
591 |
To hide elements:
592 |
To hide on tablet and down
.hide-tablet-down
593 |
To hide on mobile
.hide-mobile
594 |
To hide on any screen size
.hide
595 |
596 |
597 |
598 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
--------------------------------------------------------------------------------
/source/app/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org/
2 |
3 | User-agent: *
4 | Disallow:
5 |
--------------------------------------------------------------------------------
/source/app/scripts/main.js:
--------------------------------------------------------------------------------
1 | const element = document.querySelector('#date')
2 |
3 | const currentYear = (new Date()).getFullYear()
4 |
5 | element.append(currentYear);
6 |
--------------------------------------------------------------------------------
/source/app/styles/buttons.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .btn {
4 | padding: 1rem 1.5rem;
5 | color: #fff;
6 | cursor: pointer;
7 | text-transform: uppercase;
8 | font-weight: bold;
9 | }
10 |
11 | .btn-primary {
12 | border-radius: 5px;
13 | }
14 |
15 | .btn-rounded {
16 | border-radius: 30px;
17 | }
18 |
19 | .btn-outlined {
20 | border-width: 3px;
21 | border-style: solid;
22 | transition: all 0.5s;
23 |
24 | &:hover {
25 | color: #fff;
26 | transition: all 0.5s;
27 | }
28 | }
29 |
30 | .gradient-black {
31 | background: $black !important;
32 | }
33 |
34 | .black-btn {
35 | border-color: $black;
36 | color: $black;
37 |
38 | &:hover {
39 | background-color: $black;
40 | }
41 | }
42 |
43 | .green-btn {
44 | border-color: $green;
45 | color: $green;
46 |
47 | &:hover {
48 | background-color: $green;
49 | }
50 | }
51 |
52 | .orange-btn {
53 | border-color: $orange-btn;
54 | color: $orange-btn;
55 |
56 | &:hover {
57 | background-color: $orange-btn;
58 | }
59 | }
60 |
61 | .purple-btn {
62 | border-color: $purple-btn;
63 | color: $purple-btn;
64 |
65 | &:hover {
66 | background-color: $purple-btn;
67 | }
68 | }
69 |
70 | button:disabled {
71 | box-shadow: unset;
72 | opacity: .8;
73 | background: $disabled;
74 | color: #fff;
75 | border: unset;
76 |
77 | &:hover {
78 | box-shadow: unset;
79 | background: $disabled;
80 | }
81 | }
--------------------------------------------------------------------------------
/source/app/styles/cards.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | border-radius: 5px;
3 | box-shadow: 0px 1px 10px 0px rgba(5, 5, 5, 0.13);
4 |
5 | .card-header {
6 | padding: 1.5rem;
7 |
8 | h4 {
9 | font-weight: bold;
10 | margin: 0;
11 | }
12 | }
13 |
14 | .card-img {
15 | overflow: hidden;
16 |
17 | img {
18 | position: relative;
19 | left: 0;
20 | right: 0;
21 | top: 0;
22 | bottom: 0;
23 | width: 100%;
24 | display: block;
25 | }
26 | }
27 |
28 | .card-footer {
29 | padding: 1.5rem 0 1.5rem 1.5rem;
30 |
31 | h4 {
32 | font-weight: bold;
33 | margin: 0;
34 | }
35 | }
36 | }
37 |
38 | .card-no-footer {
39 | .card-img {
40 |
41 | img {
42 | border-bottom-left-radius: 5px;
43 | border-bottom-right-radius: 5px;
44 | }
45 | }
46 | }
47 |
48 | .card-no-header {
49 | .card-img {
50 | img {
51 | border-top-left-radius: 5px;
52 | border-top-right-radius: 5px;
53 | }
54 | }
55 | }
56 |
57 | .card-hover {
58 | transition: all .3s;
59 | &:hover {
60 | box-shadow: 0px 11px 16px 0px rgba(5, 5, 5, 0.23);
61 | transition: all .3s;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/source/app/styles/colors.scss:
--------------------------------------------------------------------------------
1 | // colors
2 | $green: #1fdeb3;
3 | $blue: #12c3d2;
4 | $yellow: #FFE53B;
5 | $orange: #FF2525;
6 | $orange-btn: #ff9f33;
7 | $dark-blue: #21D4FD;
8 | $purple: #B721FF;
9 | $purple-btn: #7274ff;
10 | $red: #f44336;
11 | $black: #212121;
12 | $disabled: #c1c1c1;
13 |
--------------------------------------------------------------------------------
/source/app/styles/default.scss:
--------------------------------------------------------------------------------
1 | a {
2 | text-decoration: none;
3 | }
4 |
5 | select, input, textarea, button {
6 | -webkit-appearance: none;
7 |
8 | &:focus {
9 | outline: none;
10 | }
11 | }
12 |
13 | button {
14 | background-color: unset;
15 | border: none;
16 | -webkit-user-select: none;
17 | -khtml-user-select: none;
18 | -moz-user-select: none;
19 | -ms-user-select: none;
20 | user-select: none;
21 | }
22 |
--------------------------------------------------------------------------------
/source/app/styles/fonts.scss:
--------------------------------------------------------------------------------
1 | @import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
--------------------------------------------------------------------------------
/source/app/styles/forms.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | form {
4 | width: 100%;
5 | }
6 |
7 | input[type="text"],
8 | input[type="password"],
9 | input[type="email"],
10 | input[type="search"],
11 | input[type="number"],
12 | input[type="file"],
13 | input[type="tel"],
14 | input[type="url"],
15 | select,
16 | textarea,
17 | textarea[type=text] {
18 | width: 100%;
19 | margin-top: 1rem;
20 | margin-bottom: 1rem;
21 | box-sizing: border-box;
22 | transition: all .2s ease;
23 | border-width: 1px;
24 | border-color: $black;
25 | border-style: solid;
26 | border-radius: 2px;
27 |
28 | &:focus {
29 | border-color: $black;
30 | transition: all .2s ease;
31 | }
32 | }
33 |
34 | input, textarea {
35 | padding: .9rem 1rem .9rem 2rem;
36 | }
37 |
38 | select {
39 | background: #fff;
40 | padding: .9rem .5rem .9rem .5rem;
41 | margin: 1.2rem 0;
42 | }
43 |
44 | textarea {
45 | resize: vertical;
46 | min-height: 12rem;
47 | margin: 0;
48 | }
49 |
50 | .input-field {
51 | span:before {
52 | cursor: pointer;
53 | position: relative;
54 | font-family: 'fontawesome';
55 | top: 3rem;
56 | left: .6rem;
57 | color: $black;
58 | }
59 | }
60 |
61 | .text-area-field {
62 | span:before {
63 | top: 1.8rem;
64 | }
65 | }
66 |
67 | .user-icon:before {
68 | content: '';
69 | }
70 |
71 | .email-icon:before {
72 | content: '';
73 | }
74 |
75 | .edit-icon:before {
76 | content: '';
77 | }
78 |
79 | .caret-icon:before {
80 | content: '▼';
81 | }
82 |
83 | label {
84 | cursor: pointer;
85 |
86 | input[type="checkbox"] {
87 | display: none;
88 |
89 | + span:before {
90 | content: '';
91 | font-family: 'fontawesome';
92 | border: 1px solid $black;
93 | padding: .4rem .4rem;
94 | border-radius: 2px;
95 | transition: .2s;
96 | color: rgba(255, 255, 255, 0);
97 | font-size: 16px;
98 | }
99 | }
100 |
101 | input[type="checkbox"]:checked + span:before {
102 | content: '';
103 | font-family: 'fontawesome';
104 | border: 1px solid $black;
105 | padding: .4rem .4rem;
106 | border-radius: 2px;
107 | transition: .2s;
108 | color: $black;
109 | font-size: 16px;
110 | }
111 |
112 | input[type="radio"] {
113 | display: none;
114 |
115 | + span:before {
116 | content: '';
117 | font-family: 'fontawesome';
118 | border: 1px solid $black;
119 | padding: .3rem .4rem;
120 | border-radius: 100%;
121 | transition: .2s;
122 | color: rgba(255, 255, 255, 0);
123 | font-size: 14px;
124 | }
125 | }
126 |
127 | input[type="radio"]:checked + span:before {
128 | content: '';
129 | font-family: 'fontawesome';
130 | border: 1px solid $black;
131 | padding: .3rem .4rem;
132 | border-radius: 100%;
133 | transition: .2s;
134 | color: $black;
135 | font-size: 14px;
136 | }
137 | }
138 |
139 | .green-input {
140 | input[type="text"],
141 | input[type="password"],
142 | input[type="email"],
143 | input[type="search"],
144 | input[type="number"],
145 | input[type="file"],
146 | input[type="tel"],
147 | input[type="url"],
148 | select,
149 | textarea,
150 | textarea[type="text"] {
151 | border-color: $green;
152 |
153 | &:focus {
154 | border-color: $blue;
155 | }
156 | }
157 |
158 | span:before {
159 | color: $green;
160 | }
161 | }
162 |
163 | .black-input {
164 | input[type="text"],
165 | input[type="password"],
166 | input[type="email"],
167 | input[type="search"],
168 | input[type="number"],
169 | input[type="file"],
170 | input[type="tel"],
171 | input[type="url"],
172 | select,
173 | textarea,
174 | textarea[type="text"] {
175 | border-color: $black;
176 |
177 | &:focus {
178 | border-color: lighten($black, 10);
179 | }
180 | }
181 |
182 | span:before {
183 | color: $black;
184 | }
185 | }
186 |
187 | .orange-input {
188 | input[type="text"],
189 | input[type="password"],
190 | input[type="email"],
191 | input[type="search"],
192 | input[type="number"],
193 | input[type="file"],
194 | input[type="tel"],
195 | input[type="url"],
196 | select,
197 | textarea,
198 | textarea[type="text"] {
199 | border-color: $orange-btn;
200 |
201 | &:focus {
202 | border-color: $yellow;
203 | }
204 | }
205 |
206 | span:before {
207 | color: $orange-btn;
208 | }
209 | }
210 |
211 | .purple-input {
212 | input[type="text"],
213 | input[type="password"],
214 | input[type="email"],
215 | input[type="search"],
216 | input[type="number"],
217 | input[type="file"],
218 | input[type="tel"],
219 | input[type="url"],
220 | select,
221 | textarea,
222 | textarea[type="text"] {
223 | border-color: $purple-btn;
224 |
225 | &:focus {
226 | border-color: $dark-blue;
227 | }
228 | }
229 |
230 | span:before {
231 | color: $purple-btn;
232 | }
233 | }
234 |
235 | .green-checkbox {
236 | + span:before {
237 | border-color: $green !important;
238 | color: rgba(255, 255, 255, 0) !important;
239 | }
240 | }
241 |
242 | .green-checkbox:checked + span:before {
243 | color: $green !important;
244 | }
245 |
246 | .black-checkbox {
247 | + span:before {
248 | border-color: $black !important;
249 | color: rgba(255, 255, 255, 0) !important;
250 | }
251 | }
252 |
253 | .black-checkbox:checked + span:before {
254 | color: $black !important;
255 | }
256 |
257 | .orange-checkbox {
258 | + span:before {
259 | border-color: $orange-btn !important;
260 | color: rgba(255, 255, 255, 0) !important;
261 | }
262 | }
263 |
264 | .orange-checkbox:checked + span:before {
265 | color: $orange-btn !important;
266 | }
267 |
268 | .purple-checkbox {
269 | + span:before {
270 |
271 | border-color: $purple-btn !important;
272 | color: rgba(255, 255, 255, 0) !important;
273 | }
274 | }
275 |
276 | .purple-checkbox:checked + span:before {
277 | color: $purple-btn !important;
278 | }
--------------------------------------------------------------------------------
/source/app/styles/gradient.scss:
--------------------------------------------------------------------------------
1 | @import "colors";
2 | @import "mixins";
3 |
4 | .gradient-green {
5 | @include linear-gradient($green, $blue);
6 | }
7 |
8 | .gradient-orange {
9 | @include linear-gradient($yellow, $orange);
10 | }
11 |
12 | .gradient-purple {
13 | @include linear-gradient($dark-blue, $purple);
14 | }
15 |
--------------------------------------------------------------------------------
/source/app/styles/grid.scss:
--------------------------------------------------------------------------------
1 | @import "variables";
2 |
3 | .full-container {
4 | margin: 0 auto;
5 | width: 100%;
6 | }
7 |
8 | .flex-container {
9 | display: flex;
10 | align-items: center;
11 | justify-content: space-between;
12 | }
13 |
14 | .small-container {
15 | margin: 0 auto;
16 | max-width: 960px;
17 | width: 90%;
18 |
19 | @media #{$medium-and-up} {
20 | width: 90%;
21 | }
22 | @media #{$large-and-up} {
23 | width: 100%;
24 | }
25 | }
26 |
27 | .container {
28 | margin: 0 auto;
29 | max-width: 1280px;
30 | width: 90%;
31 |
32 | @media #{$medium-and-up} {
33 | width: 85%;
34 | }
35 | @media #{$large-and-up} {
36 | width: 70%;
37 | }
38 | }
39 |
40 | .row {
41 | margin-left: (-1 * $gutter-width / 2);
42 | margin-right: (-1 * $gutter-width / 2);
43 | }
44 |
45 | @mixin reset-offset {
46 | margin-left: auto;
47 | left: auto;
48 | right: auto;
49 | }
50 |
51 | @mixin grid-classes($size, $i, $perc) {
52 | &.offset-#{$size}#{$i} {
53 | margin-left: $perc;
54 | }
55 | &.pull-#{$size}#{$i} {
56 | right: $perc;
57 | }
58 | &.push-#{$size}#{$i} {
59 | left: $perc;
60 | }
61 | }
62 |
63 | .center-text {
64 | text-align: center;
65 | }
66 |
67 | .left-text {
68 | text-align: left;
69 | }
70 |
71 | .right-text {
72 | text-align: right;
73 | }
74 |
75 | .row {
76 | margin-bottom: .5rem;
77 | margin-left: auto;
78 | margin-right: auto;
79 |
80 | &:after {
81 | content: "";
82 | display: table;
83 | clear: both;
84 | }
85 |
86 | .column {
87 | box-sizing: border-box;
88 | padding: 0 $gutter-width / 2;
89 | min-height: 1px;
90 | float: left;
91 |
92 | $i: 1;
93 | @while $i <= $number-columns {
94 | $perc: unquote((100 / ($number-columns / $i)) + "%");
95 |
96 | &.small-#{$i} {
97 | width: $perc;
98 | @include reset-offset;
99 | }
100 |
101 | $i: $i + 1;
102 | }
103 |
104 | @media #{$medium-and-up} {
105 | $i: 1;
106 |
107 | @while $i <= $number-columns {
108 | $perc: unquote((100 / ($number-columns / $i)) + "%");
109 |
110 | &.medium-#{$i} {
111 | width: $perc;
112 | @include reset-offset;
113 | }
114 |
115 | $i: $i + 1;
116 | }
117 | }
118 |
119 | @media #{$large-and-up} {
120 | $i: 1;
121 |
122 | @while $i <= $number-columns {
123 | $perc: unquote((100 / ($number-columns / $i)) + "%");
124 |
125 | &.large-#{$i} {
126 | width: $perc;
127 | @include reset-offset;
128 | }
129 |
130 | $i: $i + 1;
131 | }
132 | }
133 |
134 | @media #{$extra-large-and-up} {
135 | $i: 1;
136 |
137 | @while $i <= $number-columns {
138 | $perc: unquote((100 / ($number-columns / $i)) + "%");
139 |
140 | &.xlarge-#{$i} {
141 | width: $perc;
142 | @include reset-offset;
143 | }
144 |
145 | $i: $i + 1;
146 | }
147 | }
148 | }
149 | }
150 |
151 | .hide-tablet-down {
152 | @media #{$medium-and-down} {
153 | display: none;
154 | }
155 | }
156 |
157 | .hide-mobile {
158 | @media #{$small-and-down} {
159 | display: none;
160 | }
161 | }
162 |
163 | .hide {
164 | display: none;
165 | }
166 |
--------------------------------------------------------------------------------
/source/app/styles/main.scss:
--------------------------------------------------------------------------------
1 | // bower:scss
2 | // endbower
3 | @import "colors";
4 | @import "fonts";
5 | @import "gradient";
6 | @import "default";
7 | @import "grid";
8 | @import "forms";
9 | @import "cards";
10 | @import "buttons";
11 | @import "media";
12 | @import url('https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i');
13 |
14 | body {
15 | font-family: 'Roboto', sans-serif;
16 | padding: 0;
17 | margin: 0;
18 | }
19 |
20 | .container {
21 | padding: 2rem 0;
22 | }
23 |
24 | .header {
25 | padding: 4rem 0;
26 | text-align: center;
27 | .brand {
28 | padding: 4rem 0;
29 | .logo {
30 | background-image: url('../images/logo.svg');
31 | background-repeat: no-repeat;
32 | background-position: center;
33 | background-size: cover;
34 | padding: 6rem 6.8rem;
35 | }
36 | h2 {
37 | margin-top: 8rem;
38 | }
39 | }
40 | }
41 |
42 | .nav .brand-logo .branding {
43 | background-color: #fff;
44 | padding: .5rem 1rem;
45 | border-radius: 5px;
46 | }
47 |
48 | .buttons {
49 | a {
50 | margin-right: 1rem;
51 | line-height: 4rem;
52 | }
53 | p {
54 | color: lighten($black, 20);
55 | }
56 | h5 {
57 | color: lighten($black, 15);
58 | margin: 15px 0;
59 | }
60 | .type-buttons {
61 | padding: 1rem 0;
62 | button {
63 | &:first-child {
64 | margin-right: 2rem;
65 | @media screen and (max-width: 900px) {
66 | margin-right: unset;
67 | }
68 | }
69 | &:last-child {
70 | margin-left: 2rem;
71 | @media screen and (max-width: 900px) {
72 | margin-left: unset;
73 | }
74 | }
75 | }
76 | }
77 | }
78 |
79 | .boxes {
80 | label {
81 | margin-right: 2rem;
82 | }
83 | .push-down {
84 | margin-bottom: 2rem;
85 | }
86 | }
87 |
88 |
89 | .columns {
90 | background-color: $green;
91 | padding: 1rem 1px;
92 | text-align: center;
93 | p {
94 | margin: 0;
95 | color: #fff;
96 | }
97 | }
98 |
99 | @media screen and (max-width: 1200px) {
100 | .card {
101 | margin-bottom: 2rem;
102 | }
103 | .columns {
104 | margin-bottom: 2rem;
105 | }
106 | button {
107 | margin-bottom: 14px;
108 | }
109 | }
110 |
111 | .divider {
112 | height: 10px;
113 | width: 30px;
114 | background: $black;
115 | border-radius: 2px;
116 | margin-bottom: 1rem;
117 | }
118 |
119 | .little {
120 | color: #a1ca8b;
121 | max-width: 15%;
122 | @media screen and (max-width: $tablet){
123 | max-width: 30%;
124 | }
125 | @media screen and (max-width: $mobile){
126 | max-width: 80%;
127 | }
128 | }
129 |
130 | .footer {
131 | display: flex;
132 | justify-content: space-between;
133 | text-align: center;
134 | @media screen and (max-width: 680px) {
135 | flex-wrap: wrap;
136 | flex-direction: column;
137 | }
138 | span {
139 | background-image: url('../images/logo.svg');
140 | background-repeat: no-repeat;
141 | background-position: center;
142 | background-size: cover;
143 | padding: .4rem 1rem;
144 | margin-right: 1rem;
145 | }
146 | a {
147 | color: $black;
148 | @media screen and (max-width: 680px) {
149 | margin-bottom: 20px;
150 | }
151 | }
152 | a:visited {
153 | color: $black;
154 | }
155 | }
156 |
157 | .flexed {
158 | display: flex;
159 | align-items: center;
160 | pre {
161 |
162 | margin: 0 10px 0 10px;
163 | }
164 | }
165 |
166 | pre {
167 | padding: 16px;
168 | overflow: auto;
169 | font-size: 85%;
170 | line-height: 1.45;
171 | background-color: #282c35;
172 | border-radius: 3px;
173 | word-break: normal;
174 | word-wrap: normal;
175 | color: white;
176 | }
177 |
178 | a:visited {
179 |
180 | color: $blue;
181 | }
182 |
183 | .mbottom {
184 | margin-bottom: 3rem;
185 | }
186 |
--------------------------------------------------------------------------------
/source/app/styles/media.scss:
--------------------------------------------------------------------------------
1 | .responsive-image {
2 | overflow: hidden;
3 |
4 | img {
5 | width: 100%;
6 | }
7 | }
8 |
9 | .responsive-video {
10 | position: relative;
11 | padding-bottom: 56.25%;
12 | height: 0;
13 | overflow: hidden;
14 |
15 | iframe,
16 | object,
17 | embed {
18 | position: absolute;
19 | top: 0;
20 | left: 0;
21 | width: 100%;
22 | height: 100%;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/source/app/styles/mixins.scss:
--------------------------------------------------------------------------------
1 | @function is-direction($value) {
2 | $is-keyword: index((to top, to top right, to right top, to right, to bottom right, to right bottom, to bottom, to bottom left, to left bottom, to left, to left top, to top left), $value);
3 | $is-angle: type-of($value) == 'number' and index('deg' 'grad' 'turn' 'rad', unit($value));
4 |
5 | @return $is-keyword or $is-angle;
6 | }
7 |
8 | @function legacy-direction($value) {
9 | @if is-direction($value) == false {
10 | @error "Cannot convert `#{$value}` to legacy syntax because it doesn't seem to be a direction.";
11 | }
12 |
13 | $conversion-map: (
14 | to top : bottom,
15 | to top right : bottom left,
16 | to right top : left bottom,
17 | to right : left,
18 | to bottom right : top left,
19 | to right bottom : left top,
20 | to bottom : top,
21 | to bottom left : top right,
22 | to left bottom : right top,
23 | to left : right,
24 | to left top : right bottom,
25 | to top left : bottom right
26 | );
27 |
28 | @if map-has-key($conversion-map, $value) {
29 | @return map-get($conversion-map, $value);
30 | }
31 |
32 | @return 90deg - $value;
33 | }
34 |
35 | @mixin linear-gradient($direction, $color-stops...) {
36 | // Direction has been omitted and happens to be a color-stop
37 | @if is-direction($direction) == false {
38 | $color-stops: $direction, $color-stops;
39 | $direction: 80deg;
40 | }
41 |
42 | background: nth(nth($color-stops, 1), 1);
43 | background: -webkit-linear-gradient(legacy-direction($direction), $color-stops);
44 | background: linear-gradient($direction, $color-stops);
45 | }
--------------------------------------------------------------------------------
/source/app/styles/variables.scss:
--------------------------------------------------------------------------------
1 | $mobile-up: 601px !default;
2 | $tablet-up: 993px !default;
3 | $desk-up: 1201px !default;
4 | $mobile: 600px !default;
5 | $tablet: 992px !default;
6 | $desk: 1200px !default;
7 |
8 | $medium-and-up: "only screen and (min-width : #{$mobile-up})" !default;
9 | $large-and-up: "only screen and (min-width : #{$tablet-up})" !default;
10 | $extra-large-and-up: "only screen and (min-width : #{$desk-up})" !default;
11 | $small-and-down: "only screen and (max-width : #{$mobile})" !default;
12 | $medium-and-down: "only screen and (max-width : #{$tablet})" !default;
13 | $medium-only: "only screen and (min-width : #{$mobile-up}) and (max-width : #{$tablet})" !default;
14 |
15 | $number-columns: 12 !default;
16 | $gutter-width: 1.5rem !default;
--------------------------------------------------------------------------------
/source/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "unnamed-css-framework",
3 | "private": true,
4 | "dependencies": {
5 | "modernizr": "~2.8.1"
6 | },
7 | "devDependencies": {
8 | "chai": "^4.1.2",
9 | "mocha": "^3.5.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/source/gulpfile.js:
--------------------------------------------------------------------------------
1 | // generated on 2017-09-05 using generator-webapp 3.0.1
2 | const gulp = require('gulp');
3 | const gulpLoadPlugins = require('gulp-load-plugins');
4 | const browserSync = require('browser-sync').create();
5 | const del = require('del');
6 | const wiredep = require('wiredep').stream;
7 | const runSequence = require('run-sequence');
8 |
9 | const $ = gulpLoadPlugins();
10 | const reload = browserSync.reload;
11 |
12 | let dev = true;
13 |
14 | gulp.task('styles', () => {
15 | return gulp.src('app/styles/*.scss')
16 | .pipe($.plumber())
17 | .pipe($.if(dev, $.sourcemaps.init()))
18 | .pipe($.sass.sync({
19 | outputStyle: 'expanded',
20 | precision: 10,
21 | includePaths: ['.']
22 | }).on('error', $.sass.logError))
23 | .pipe($.autoprefixer({browsers: ['> 1%', 'last 2 versions', 'Firefox ESR']}))
24 | .pipe($.if(dev, $.sourcemaps.write()))
25 | .pipe(gulp.dest('.tmp/styles'))
26 | .pipe(reload({stream: true}));
27 | });
28 |
29 | gulp.task('scripts', () => {
30 | return gulp.src('app/scripts/**/*.js')
31 | .pipe($.plumber())
32 | .pipe($.if(dev, $.sourcemaps.init()))
33 | .pipe($.babel())
34 | .pipe($.if(dev, $.sourcemaps.write('.')))
35 | .pipe(gulp.dest('.tmp/scripts'))
36 | .pipe(reload({stream: true}));
37 | });
38 |
39 | function lint(files) {
40 | return gulp.src(files)
41 | .pipe($.eslint({ fix: true }))
42 | .pipe(reload({stream: true, once: true}))
43 | .pipe($.eslint.format())
44 | .pipe($.if(!browserSync.active, $.eslint.failAfterError()));
45 | }
46 |
47 | gulp.task('lint', () => {
48 | return lint('app/scripts/**/*.js')
49 | .pipe(gulp.dest('app/scripts'));
50 | });
51 | gulp.task('lint:test', () => {
52 | return lint('test/spec/**/*.js')
53 | .pipe(gulp.dest('test/spec'));
54 | });
55 |
56 | gulp.task('html', ['styles', 'scripts'], () => {
57 | return gulp.src('app/*.html')
58 | .pipe($.useref({searchPath: ['.tmp', 'app', '.']}))
59 | .pipe($.if(/\.js$/, $.uglify({compress: {drop_console: true}})))
60 | .pipe($.if(/\.css$/, $.cssnano({safe: true, autoprefixer: false})))
61 | .pipe($.if(/\.html$/, $.htmlmin({
62 | collapseWhitespace: true,
63 | minifyCSS: true,
64 | minifyJS: {compress: {drop_console: true}},
65 | processConditionalComments: true,
66 | removeComments: true,
67 | removeEmptyAttributes: true,
68 | removeScriptTypeAttributes: true,
69 | removeStyleLinkTypeAttributes: true
70 | })))
71 | .pipe(gulp.dest('dist'));
72 | });
73 |
74 | gulp.task('images', () => {
75 | return gulp.src('app/images/**/*')
76 | .pipe($.cache($.imagemin()))
77 | .pipe(gulp.dest('dist/images'));
78 | });
79 |
80 | gulp.task('fonts', () => {
81 | return gulp.src(require('main-bower-files')('**/*.{eot,svg,ttf,woff,woff2}', function (err) {})
82 | .concat('app/fonts/**/*'))
83 | .pipe($.if(dev, gulp.dest('.tmp/fonts'), gulp.dest('dist/fonts')));
84 | });
85 |
86 | gulp.task('extras', () => {
87 | return gulp.src([
88 | 'app/*',
89 | '!app/*.html'
90 | ], {
91 | dot: true
92 | }).pipe(gulp.dest('dist'));
93 | });
94 |
95 | gulp.task('clean', del.bind(null, ['.tmp', 'dist']));
96 |
97 | gulp.task('serve', () => {
98 | runSequence(['clean', 'wiredep'], ['styles', 'scripts', 'fonts'], () => {
99 | browserSync.init({
100 | notify: false,
101 | port: 9000,
102 | server: {
103 | baseDir: ['.tmp', 'app'],
104 | routes: {
105 | '/bower_components': 'bower_components'
106 | }
107 | }
108 | });
109 |
110 | gulp.watch([
111 | 'app/*.html',
112 | 'app/images/**/*',
113 | '.tmp/fonts/**/*'
114 | ]).on('change', reload);
115 |
116 | gulp.watch('app/styles/**/*.scss', ['styles']);
117 | gulp.watch('app/scripts/**/*.js', ['scripts']);
118 | gulp.watch('app/fonts/**/*', ['fonts']);
119 | gulp.watch('bower.json', ['wiredep', 'fonts']);
120 | });
121 | });
122 |
123 | gulp.task('serve:dist', ['default'], () => {
124 | browserSync.init({
125 | notify: false,
126 | port: 9000,
127 | server: {
128 | baseDir: ['dist']
129 | }
130 | });
131 | });
132 |
133 | gulp.task('serve:test', ['scripts'], () => {
134 | browserSync.init({
135 | notify: false,
136 | port: 9000,
137 | ui: false,
138 | server: {
139 | baseDir: 'test',
140 | routes: {
141 | '/scripts': '.tmp/scripts',
142 | '/bower_components': 'bower_components'
143 | }
144 | }
145 | });
146 |
147 | gulp.watch('app/scripts/**/*.js', ['scripts']);
148 | gulp.watch(['test/spec/**/*.js', 'test/index.html']).on('change', reload);
149 | gulp.watch('test/spec/**/*.js', ['lint:test']);
150 | });
151 |
152 | // inject bower components
153 | gulp.task('wiredep', () => {
154 | gulp.src('app/styles/*.scss')
155 | .pipe($.filter(file => file.stat && file.stat.size))
156 | .pipe(wiredep({
157 | ignorePath: /^(\.\.\/)+/
158 | }))
159 | .pipe(gulp.dest('app/styles'));
160 |
161 | gulp.src('app/*.html')
162 | .pipe(wiredep({
163 | ignorePath: /^(\.\.\/)*\.\./
164 | }))
165 | .pipe(gulp.dest('app'));
166 | });
167 |
168 | gulp.task('build', ['lint', 'html', 'images', 'fonts', 'extras'], () => {
169 | return gulp.src('dist/**/*').pipe($.size({title: 'build', gzip: true}));
170 | });
171 |
172 | gulp.task('default', () => {
173 | return new Promise(resolve => {
174 | dev = false;
175 | runSequence(['clean', 'wiredep'], 'build', resolve);
176 | });
177 | });
178 |
--------------------------------------------------------------------------------
/source/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "engines": {
4 | "node": ">=4"
5 | },
6 | "devDependencies": {
7 | "babel-core": "^6.4.0",
8 | "babel-preset-es2015": "^6.3.13",
9 | "babel-register": "^6.5.2",
10 | "browser-sync": "^2.2.1",
11 | "del": "^2.2.0",
12 | "gulp": "^3.9.0",
13 | "gulp-autoprefixer": "^3.0.1",
14 | "gulp-babel": "^6.1.1",
15 | "gulp-cache": "^0.4.2",
16 | "gulp-cssnano": "^2.0.0",
17 | "gulp-eslint": "^3.0.0",
18 | "gulp-filter": "^4.0.0",
19 | "gulp-htmlmin": "^3.0.0",
20 | "gulp-if": "^2.0.2",
21 | "gulp-imagemin": "^3.0.1",
22 | "gulp-load-plugins": "^1.2.4",
23 | "gulp-plumber": "^1.0.1",
24 | "gulp-sass": "^3.1.0",
25 | "gulp-size": "^2.1.0",
26 | "gulp-sourcemaps": "^2.2.0",
27 | "gulp-uglify": "^2.0.0",
28 | "gulp-useref": "^3.0.0",
29 | "main-bower-files": "^2.5.0",
30 | "run-sequence": "^1.2.2",
31 | "wiredep": "^4.0.0"
32 | },
33 | "eslintConfig": {
34 | "env": {
35 | "es6": true,
36 | "node": true,
37 | "browser": true
38 | },
39 | "rules": {
40 | "quotes": [
41 | 2,
42 | "single"
43 | ]
44 | }
45 | },
46 | "dependencies": {
47 | "node-sass": "^4.7.2"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/source/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Mocha Spec Runner
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/source/test/spec/test.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | 'use strict';
3 |
4 | describe('Give it some context', function () {
5 | describe('maybe a bit more context here', function () {
6 | it('should run here few assertions', function () {
7 |
8 | });
9 | });
10 | });
11 | })();
12 |
--------------------------------------------------------------------------------
/unnamed.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");
3 | @import url("https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i");
4 | .gradient-green {
5 | background: #1fdeb3;
6 | background: linear-gradient(80deg, #1fdeb3, #12c3d2)
7 | }
8 |
9 | .gradient-orange {
10 | background: #ffe53b;
11 | background: linear-gradient(80deg, #ffe53b, #ff2525)
12 | }
13 |
14 | .gradient-purple {
15 | background: #21d4fd;
16 | background: linear-gradient(80deg, #21d4fd, #b721ff)
17 | }
18 |
19 | a {
20 | text-decoration: none
21 | }
22 |
23 | button,
24 | input,
25 | select,
26 | textarea {
27 | -webkit-appearance: none
28 | }
29 |
30 | button:focus,
31 | input:focus,
32 | select:focus,
33 | textarea:focus {
34 | outline: none
35 | }
36 |
37 | button {
38 | background-color: unset;
39 | border: none;
40 | -webkit-user-select: none;
41 | -moz-user-select: none;
42 | -ms-user-select: none;
43 | user-select: none
44 | }
45 |
46 | .full-container {
47 | margin: 0 auto;
48 | width: 100%
49 | }
50 |
51 | .flex-container {
52 | display: -webkit-box;
53 | display: -ms-flexbox;
54 | display: flex;
55 | -webkit-box-align: center;
56 | -ms-flex-align: center;
57 | align-items: center;
58 | -webkit-box-pack: justify;
59 | -ms-flex-pack: justify;
60 | justify-content: space-between
61 | }
62 |
63 | .small-container {
64 | margin: 0 auto;
65 | max-width: 960px;
66 | width: 90%
67 | }
68 |
69 | @media only screen and (min-width:601px) {
70 | .small-container {
71 | width: 90%
72 | }
73 | }
74 |
75 | @media only screen and (min-width:993px) {
76 | .small-container {
77 | width: 100%
78 | }
79 | }
80 |
81 | .container {
82 | margin: 0 auto;
83 | max-width: 1280px;
84 | width: 90%
85 | }
86 |
87 | @media only screen and (min-width:601px) {
88 | .container {
89 | width: 85%
90 | }
91 | }
92 |
93 | @media only screen and (min-width:993px) {
94 | .container {
95 | width: 70%
96 | }
97 | }
98 |
99 | .container .row,
100 | .small-container .row,
101 | .full-container .row {
102 | margin-left: -.75rem;
103 | margin-right: -.75rem
104 | }
105 |
106 | .center-text {
107 | text-align: center
108 | }
109 |
110 | .left-text {
111 | text-align: left
112 | }
113 |
114 | .right-text {
115 | text-align: right
116 | }
117 |
118 | .row {
119 | margin-bottom: .5rem;
120 | margin-left: auto;
121 | margin-right: auto
122 | }
123 |
124 | .row:after {
125 | content: "";
126 | display: table;
127 | clear: both
128 | }
129 |
130 | .row .column {
131 | box-sizing: border-box;
132 | padding: 0 .75rem;
133 | min-height: 1px;
134 | float: left
135 | }
136 |
137 | .row .column.small-1 {
138 | width: 8.3333333333%;
139 | margin-left: auto;
140 | left: auto;
141 | right: auto
142 | }
143 |
144 | .row .column.small-2 {
145 | width: 16.6666666667%;
146 | margin-left: auto;
147 | left: auto;
148 | right: auto
149 | }
150 |
151 | .row .column.small-3 {
152 | width: 25%;
153 | margin-left: auto;
154 | left: auto;
155 | right: auto
156 | }
157 |
158 | .row .column.small-4 {
159 | width: 33.3333333333%;
160 | margin-left: auto;
161 | left: auto;
162 | right: auto
163 | }
164 |
165 | .row .column.small-5 {
166 | width: 41.6666666667%;
167 | margin-left: auto;
168 | left: auto;
169 | right: auto
170 | }
171 |
172 | .row .column.small-6 {
173 | width: 50%;
174 | margin-left: auto;
175 | left: auto;
176 | right: auto
177 | }
178 |
179 | .row .column.small-7 {
180 | width: 58.3333333333%;
181 | margin-left: auto;
182 | left: auto;
183 | right: auto
184 | }
185 |
186 | .row .column.small-8 {
187 | width: 66.6666666667%;
188 | margin-left: auto;
189 | left: auto;
190 | right: auto
191 | }
192 |
193 | .row .column.small-9 {
194 | width: 75%;
195 | margin-left: auto;
196 | left: auto;
197 | right: auto
198 | }
199 |
200 | .row .column.small-10 {
201 | width: 83.3333333333%;
202 | margin-left: auto;
203 | left: auto;
204 | right: auto
205 | }
206 |
207 | .row .column.small-11 {
208 | width: 91.6666666667%;
209 | margin-left: auto;
210 | left: auto;
211 | right: auto
212 | }
213 |
214 | .row .column.small-12 {
215 | width: 100%;
216 | margin-left: auto;
217 | left: auto;
218 | right: auto
219 | }
220 |
221 | @media only screen and (min-width:601px) {
222 | .row .column.medium-1 {
223 | width: 8.3333333333%;
224 | margin-left: auto;
225 | left: auto;
226 | right: auto
227 | }
228 | .row .column.medium-2 {
229 | width: 16.6666666667%;
230 | margin-left: auto;
231 | left: auto;
232 | right: auto
233 | }
234 | .row .column.medium-3 {
235 | width: 25%;
236 | margin-left: auto;
237 | left: auto;
238 | right: auto
239 | }
240 | .row .column.medium-4 {
241 | width: 33.3333333333%;
242 | margin-left: auto;
243 | left: auto;
244 | right: auto
245 | }
246 | .row .column.medium-5 {
247 | width: 41.6666666667%;
248 | margin-left: auto;
249 | left: auto;
250 | right: auto
251 | }
252 | .row .column.medium-6 {
253 | width: 50%;
254 | margin-left: auto;
255 | left: auto;
256 | right: auto
257 | }
258 | .row .column.medium-7 {
259 | width: 58.3333333333%;
260 | margin-left: auto;
261 | left: auto;
262 | right: auto
263 | }
264 | .row .column.medium-8 {
265 | width: 66.6666666667%;
266 | margin-left: auto;
267 | left: auto;
268 | right: auto
269 | }
270 | .row .column.medium-9 {
271 | width: 75%;
272 | margin-left: auto;
273 | left: auto;
274 | right: auto
275 | }
276 | .row .column.medium-10 {
277 | width: 83.3333333333%;
278 | margin-left: auto;
279 | left: auto;
280 | right: auto
281 | }
282 | .row .column.medium-11 {
283 | width: 91.6666666667%;
284 | margin-left: auto;
285 | left: auto;
286 | right: auto
287 | }
288 | .row .column.medium-12 {
289 | width: 100%;
290 | margin-left: auto;
291 | left: auto;
292 | right: auto
293 | }
294 | }
295 |
296 | @media only screen and (min-width:993px) {
297 | .row .column.large-1 {
298 | width: 8.3333333333%;
299 | margin-left: auto;
300 | left: auto;
301 | right: auto
302 | }
303 | .row .column.large-2 {
304 | width: 16.6666666667%;
305 | margin-left: auto;
306 | left: auto;
307 | right: auto
308 | }
309 | .row .column.large-3 {
310 | width: 25%;
311 | margin-left: auto;
312 | left: auto;
313 | right: auto
314 | }
315 | .row .column.large-4 {
316 | width: 33.3333333333%;
317 | margin-left: auto;
318 | left: auto;
319 | right: auto
320 | }
321 | .row .column.large-5 {
322 | width: 41.6666666667%;
323 | margin-left: auto;
324 | left: auto;
325 | right: auto
326 | }
327 | .row .column.large-6 {
328 | width: 50%;
329 | margin-left: auto;
330 | left: auto;
331 | right: auto
332 | }
333 | .row .column.large-7 {
334 | width: 58.3333333333%;
335 | margin-left: auto;
336 | left: auto;
337 | right: auto
338 | }
339 | .row .column.large-8 {
340 | width: 66.6666666667%;
341 | margin-left: auto;
342 | left: auto;
343 | right: auto
344 | }
345 | .row .column.large-9 {
346 | width: 75%;
347 | margin-left: auto;
348 | left: auto;
349 | right: auto
350 | }
351 | .row .column.large-10 {
352 | width: 83.3333333333%;
353 | margin-left: auto;
354 | left: auto;
355 | right: auto
356 | }
357 | .row .column.large-11 {
358 | width: 91.6666666667%;
359 | margin-left: auto;
360 | left: auto;
361 | right: auto
362 | }
363 | .row .column.large-12 {
364 | width: 100%;
365 | margin-left: auto;
366 | left: auto;
367 | right: auto
368 | }
369 | }
370 |
371 | @media only screen and (min-width:1201px) {
372 | .row .column.xlarge-1 {
373 | width: 8.3333333333%;
374 | margin-left: auto;
375 | left: auto;
376 | right: auto
377 | }
378 | .row .column.xlarge-2 {
379 | width: 16.6666666667%;
380 | margin-left: auto;
381 | left: auto;
382 | right: auto
383 | }
384 | .row .column.xlarge-3 {
385 | width: 25%;
386 | margin-left: auto;
387 | left: auto;
388 | right: auto
389 | }
390 | .row .column.xlarge-4 {
391 | width: 33.3333333333%;
392 | margin-left: auto;
393 | left: auto;
394 | right: auto
395 | }
396 | .row .column.xlarge-5 {
397 | width: 41.6666666667%;
398 | margin-left: auto;
399 | left: auto;
400 | right: auto
401 | }
402 | .row .column.xlarge-6 {
403 | width: 50%;
404 | margin-left: auto;
405 | left: auto;
406 | right: auto
407 | }
408 | .row .column.xlarge-7 {
409 | width: 58.3333333333%;
410 | margin-left: auto;
411 | left: auto;
412 | right: auto
413 | }
414 | .row .column.xlarge-8 {
415 | width: 66.6666666667%;
416 | margin-left: auto;
417 | left: auto;
418 | right: auto
419 | }
420 | .row .column.xlarge-9 {
421 | width: 75%;
422 | margin-left: auto;
423 | left: auto;
424 | right: auto
425 | }
426 | .row .column.xlarge-10 {
427 | width: 83.3333333333%;
428 | margin-left: auto;
429 | left: auto;
430 | right: auto
431 | }
432 | .row .column.xlarge-11 {
433 | width: 91.6666666667%;
434 | margin-left: auto;
435 | left: auto;
436 | right: auto
437 | }
438 | .row .column.xlarge-12 {
439 | width: 100%;
440 | margin-left: auto;
441 | left: auto;
442 | right: auto
443 | }
444 | }
445 |
446 | @media only screen and (max-width:992px) {
447 | .hide-tablet-down {
448 | display: none
449 | }
450 | }
451 |
452 | @media only screen and (max-width:600px) {
453 | .hide-mobile {
454 | display: none
455 | }
456 | }
457 |
458 | .hide {
459 | display: none
460 | }
461 |
462 | form {
463 | width: 100%
464 | }
465 |
466 | input[type=email],
467 | input[type=file],
468 | input[type=number],
469 | input[type=password],
470 | input[type=search],
471 | input[type=tel],
472 | input[type=text],
473 | input[type=url],
474 | select,
475 | textarea,
476 | textarea[type=text] {
477 | width: 100%;
478 | margin-top: 1rem;
479 | margin-bottom: 1rem;
480 | box-sizing: border-box;
481 | transition: all .2s ease;
482 | border: 1px solid #212121;
483 | border-radius: 2px
484 | }
485 |
486 | input[type=email]:focus,
487 | input[type=file]:focus,
488 | input[type=number]:focus,
489 | input[type=password]:focus,
490 | input[type=search]:focus,
491 | input[type=tel]:focus,
492 | input[type=text]:focus,
493 | input[type=url]:focus,
494 | select:focus,
495 | textarea:focus,
496 | textarea[type=text]:focus {
497 | border-color: #212121;
498 | transition: all .2s ease
499 | }
500 |
501 | input,
502 | textarea {
503 | padding: .9rem 1rem .9rem 2rem
504 | }
505 |
506 | select {
507 | background: #fff;
508 | padding: .9rem .5rem;
509 | margin: 1.2rem 0
510 | }
511 |
512 | textarea {
513 | resize: vertical;
514 | min-height: 12rem;
515 | margin: 0
516 | }
517 |
518 | .input-field span:before {
519 | cursor: pointer;
520 | position: relative;
521 | font-family: fontawesome;
522 | top: 3rem;
523 | left: .6rem;
524 | color: #212121
525 | }
526 |
527 | .text-area-field span:before {
528 | top: 1.8rem
529 | }
530 |
531 | .user-icon:before {
532 | content: ""
533 | }
534 |
535 | .email-icon:before {
536 | content: ""
537 | }
538 |
539 | .edit-icon:before {
540 | content: ""
541 | }
542 |
543 | .caret-icon:before {
544 | content: "▼"
545 | }
546 |
547 | label {
548 | cursor: pointer
549 | }
550 |
551 | label input[type=checkbox] {
552 | display: none
553 | }
554 |
555 | label input[type=checkbox]+span:before {
556 | color: hsla(0, 0%, 100%, 0)
557 | }
558 |
559 | label input[type=checkbox]+span:before,
560 | label input[type=checkbox]:checked+span:before {
561 | content: "";
562 | font-family: fontawesome;
563 | border: 1px solid #212121;
564 | padding: .4rem;
565 | border-radius: 2px;
566 | transition: .2s;
567 | font-size: 16px
568 | }
569 |
570 | label input[type=checkbox]:checked+span:before {
571 | color: #212121
572 | }
573 |
574 | label input[type=radio] {
575 | display: none
576 | }
577 |
578 | label input[type=radio]+span:before {
579 | color: hsla(0, 0%, 100%, 0)
580 | }
581 |
582 | label input[type=radio]+span:before,
583 | label input[type=radio]:checked+span:before {
584 | content: "";
585 | font-family: fontawesome;
586 | border: 1px solid #212121;
587 | padding: .3rem .4rem;
588 | border-radius: 100%;
589 | transition: .2s;
590 | font-size: 14px
591 | }
592 |
593 | label input[type=radio]:checked+span:before {
594 | color: #212121
595 | }
596 |
597 | .green-input input[type=email],
598 | .green-input input[type=file],
599 | .green-input input[type=number],
600 | .green-input input[type=password],
601 | .green-input input[type=search],
602 | .green-input input[type=tel],
603 | .green-input input[type=text],
604 | .green-input input[type=url],
605 | .green-input select,
606 | .green-input textarea,
607 | .green-input textarea[type=text] {
608 | border-color: #1fdeb3
609 | }
610 |
611 | .green-input input[type=email]:focus,
612 | .green-input input[type=file]:focus,
613 | .green-input input[type=number]:focus,
614 | .green-input input[type=password]:focus,
615 | .green-input input[type=search]:focus,
616 | .green-input input[type=tel]:focus,
617 | .green-input input[type=text]:focus,
618 | .green-input input[type=url]:focus,
619 | .green-input select:focus,
620 | .green-input textarea:focus,
621 | .green-input textarea[type=text]:focus {
622 | border-color: #12c3d2
623 | }
624 |
625 | .green-input span:before {
626 | color: #1fdeb3
627 | }
628 |
629 | .black-input input[type=email],
630 | .black-input input[type=file],
631 | .black-input input[type=number],
632 | .black-input input[type=password],
633 | .black-input input[type=search],
634 | .black-input input[type=tel],
635 | .black-input input[type=text],
636 | .black-input input[type=url],
637 | .black-input select,
638 | .black-input textarea,
639 | .black-input textarea[type=text] {
640 | border-color: #212121
641 | }
642 |
643 | .black-input input[type=email]:focus,
644 | .black-input input[type=file]:focus,
645 | .black-input input[type=number]:focus,
646 | .black-input input[type=password]:focus,
647 | .black-input input[type=search]:focus,
648 | .black-input input[type=tel]:focus,
649 | .black-input input[type=text]:focus,
650 | .black-input input[type=url]:focus,
651 | .black-input select:focus,
652 | .black-input textarea:focus,
653 | .black-input textarea[type=text]:focus {
654 | border-color: #3b3a3a
655 | }
656 |
657 | .black-input span:before {
658 | color: #212121
659 | }
660 |
661 | .orange-input input[type=email],
662 | .orange-input input[type=file],
663 | .orange-input input[type=number],
664 | .orange-input input[type=password],
665 | .orange-input input[type=search],
666 | .orange-input input[type=tel],
667 | .orange-input input[type=text],
668 | .orange-input input[type=url],
669 | .orange-input select,
670 | .orange-input textarea,
671 | .orange-input textarea[type=text] {
672 | border-color: #ff9f33
673 | }
674 |
675 | .orange-input input[type=email]:focus,
676 | .orange-input input[type=file]:focus,
677 | .orange-input input[type=number]:focus,
678 | .orange-input input[type=password]:focus,
679 | .orange-input input[type=search]:focus,
680 | .orange-input input[type=tel]:focus,
681 | .orange-input input[type=text]:focus,
682 | .orange-input input[type=url]:focus,
683 | .orange-input select:focus,
684 | .orange-input textarea:focus,
685 | .orange-input textarea[type=text]:focus {
686 | border-color: #ffe53b
687 | }
688 |
689 | .orange-input span:before {
690 | color: #ff9f33
691 | }
692 |
693 | .purple-input input[type=email],
694 | .purple-input input[type=file],
695 | .purple-input input[type=number],
696 | .purple-input input[type=password],
697 | .purple-input input[type=search],
698 | .purple-input input[type=tel],
699 | .purple-input input[type=text],
700 | .purple-input input[type=url],
701 | .purple-input select,
702 | .purple-input textarea,
703 | .purple-input textarea[type=text] {
704 | border-color: #7274ff
705 | }
706 |
707 | .purple-input input[type=email]:focus,
708 | .purple-input input[type=file]:focus,
709 | .purple-input input[type=number]:focus,
710 | .purple-input input[type=password]:focus,
711 | .purple-input input[type=search]:focus,
712 | .purple-input input[type=tel]:focus,
713 | .purple-input input[type=text]:focus,
714 | .purple-input input[type=url]:focus,
715 | .purple-input select:focus,
716 | .purple-input textarea:focus,
717 | .purple-input textarea[type=text]:focus {
718 | border-color: #21d4fd
719 | }
720 |
721 | .purple-input span:before {
722 | color: #7274ff
723 | }
724 |
725 | .green-checkbox+span:before {
726 | border-color: #1fdeb3!important;
727 | color: hsla(0, 0%, 100%, 0)!important
728 | }
729 |
730 | .green-checkbox:checked+span:before {
731 | color: #1fdeb3!important
732 | }
733 |
734 | .black-checkbox+span:before {
735 | border-color: #212121!important;
736 | color: hsla(0, 0%, 100%, 0)!important
737 | }
738 |
739 | .black-checkbox:checked+span:before {
740 | color: #212121!important
741 | }
742 |
743 | .orange-checkbox+span:before {
744 | border-color: #ff9f33!important;
745 | color: hsla(0, 0%, 100%, 0)!important
746 | }
747 |
748 | .orange-checkbox:checked+span:before {
749 | color: #ff9f33!important
750 | }
751 |
752 | .purple-checkbox+span:before {
753 | border-color: #7274ff!important;
754 | color: hsla(0, 0%, 100%, 0)!important
755 | }
756 |
757 | .purple-checkbox:checked+span:before {
758 | color: #7274ff!important
759 | }
760 |
761 | .card {
762 | border-radius: 5px;
763 | box-shadow: 0 1px 10px 0 rgba(5, 5, 5, .13)
764 | }
765 |
766 | .card .card-header {
767 | padding: 1.5rem
768 | }
769 |
770 | .card .card-header h4 {
771 | font-weight: 700;
772 | margin: 0
773 | }
774 |
775 | .card .card-img {
776 | overflow: hidden
777 | }
778 |
779 | .card .card-img img {
780 | position: relative;
781 | left: 0;
782 | right: 0;
783 | top: 0;
784 | bottom: 0;
785 | width: 100%;
786 | display: block
787 | }
788 |
789 | .card .card-footer {
790 | padding: 1.5rem 0 1.5rem 1.5rem
791 | }
792 |
793 | .card .card-footer h4 {
794 | font-weight: 700;
795 | margin: 0
796 | }
797 |
798 | .card-no-footer .card-img img {
799 | border-bottom-left-radius: 5px;
800 | border-bottom-right-radius: 5px
801 | }
802 |
803 | .card-no-header .card-img img {
804 | border-top-left-radius: 5px;
805 | border-top-right-radius: 5px
806 | }
807 |
808 | .card-hover,
809 | .card-hover:hover {
810 | transition: all .3s
811 | }
812 |
813 | .card-hover:hover {
814 | box-shadow: 0 11px 16px 0 rgba(5, 5, 5, .23)
815 | }
816 |
817 | .btn {
818 | padding: 1rem 1.5rem;
819 | color: #fff;
820 | cursor: pointer;
821 | text-transform: uppercase;
822 | font-weight: 700
823 | }
824 |
825 | .btn-primary {
826 | border-radius: 5px
827 | }
828 |
829 | .btn-rounded {
830 | border-radius: 30px
831 | }
832 |
833 | .btn-outlined {
834 | border-width: 3px;
835 | border-style: solid;
836 | transition: all .5s
837 | }
838 |
839 | .btn-outlined:hover {
840 | color: #fff;
841 | transition: all .5s
842 | }
843 |
844 | .gradient-black {
845 | background: #212121!important
846 | }
847 |
848 | .black-btn {
849 | border-color: #212121;
850 | color: #212121
851 | }
852 |
853 | .black-btn:hover {
854 | background-color: #212121
855 | }
856 |
857 | .green-btn {
858 | border-color: #1fdeb3;
859 | color: #1fdeb3
860 | }
861 |
862 | .green-btn:hover {
863 | background-color: #1fdeb3
864 | }
865 |
866 | .orange-btn {
867 | border-color: #ff9f33;
868 | color: #ff9f33
869 | }
870 |
871 | .orange-btn:hover {
872 | background-color: #ff9f33
873 | }
874 |
875 | .purple-btn {
876 | border-color: #7274ff;
877 | color: #7274ff
878 | }
879 |
880 | .purple-btn:hover {
881 | background-color: #7274ff
882 | }
883 |
884 | button:disabled {
885 | opacity: .8;
886 | color: #fff;
887 | border: unset
888 | }
889 |
890 | button:disabled,
891 | button:disabled:hover {
892 | box-shadow: unset;
893 | background: #c1c1c1
894 | }
895 |
896 | .responsive-image {
897 | overflow: hidden
898 | }
899 |
900 | .responsive-image img {
901 | width: 100%
902 | }
903 |
904 | .responsive-video {
905 | position: relative;
906 | padding-bottom: 56.25%;
907 | height: 0;
908 | overflow: hidden
909 | }
910 |
911 | .responsive-video embed,
912 | .responsive-video iframe,
913 | .responsive-video object {
914 | position: absolute;
915 | top: 0;
916 | left: 0;
917 | width: 100%;
918 | height: 100%
919 | }
920 |
921 | body {
922 | font-family: Roboto, sans-serif;
923 | padding: 0;
924 | margin: 0
925 | }
--------------------------------------------------------------------------------
/unnamed.min.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");@import url("https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i");.gradient-green{background:#1fdeb3;background:linear-gradient(80deg,#1fdeb3,#12c3d2)}.gradient-orange{background:#ffe53b;background:linear-gradient(80deg,#ffe53b,#ff2525)}.gradient-purple{background:#21d4fd;background:linear-gradient(80deg,#21d4fd,#b721ff)}a{text-decoration:none}button,input,select,textarea{-webkit-appearance:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}button{background-color:unset;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.full-container{margin:0 auto;width:100%}.flex-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.small-container{margin:0 auto;max-width:960px;width:90%}@media only screen and (min-width:601px){.small-container{width:90%}}@media only screen and (min-width:993px){.small-container{width:100%}}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width:601px){.container{width:85%}}@media only screen and (min-width:993px){.container{width:70%}}.container .row, .full-container .row, .small-container .row{margin-left:-.75rem;margin-right:-.75rem}.center-text{text-align:center}.left-text{text-align:left}.right-text{text-align:right}.row{margin-bottom:.5rem;margin-left:auto;margin-right:auto}.row:after{content:"";display:table;clear:both}.row .column{box-sizing:border-box;padding:0 .75rem;min-height:1px;float:left}.row .column.small-1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.small-2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.small-3{width:25%;margin-left:auto;left:auto;right:auto}.row .column.small-4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.small-5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.small-6{width:50%;margin-left:auto;left:auto;right:auto}.row .column.small-7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.small-8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.small-9{width:75%;margin-left:auto;left:auto;right:auto}.row .column.small-10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.small-11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.small-12{width:100%;margin-left:auto;left:auto;right:auto}@media only screen and (min-width:601px){.row .column.medium-1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.medium-2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.medium-3{width:25%;margin-left:auto;left:auto;right:auto}.row .column.medium-4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.medium-5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.medium-6{width:50%;margin-left:auto;left:auto;right:auto}.row .column.medium-7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.medium-8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.medium-9{width:75%;margin-left:auto;left:auto;right:auto}.row .column.medium-10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.medium-11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.medium-12{width:100%;margin-left:auto;left:auto;right:auto}}@media only screen and (min-width:993px){.row .column.large-1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.large-2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.large-3{width:25%;margin-left:auto;left:auto;right:auto}.row .column.large-4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.large-5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.large-6{width:50%;margin-left:auto;left:auto;right:auto}.row .column.large-7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.large-8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.large-9{width:75%;margin-left:auto;left:auto;right:auto}.row .column.large-10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.large-11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.large-12{width:100%;margin-left:auto;left:auto;right:auto}}@media only screen and (min-width:1201px){.row .column.xlarge-1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-3{width:25%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-6{width:50%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-9{width:75%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .column.xlarge-12{width:100%;margin-left:auto;left:auto;right:auto}}@media only screen and (max-width:992px){.hide-tablet-down{display:none}}@media only screen and (max-width:600px){.hide-mobile{display:none}}.hide{display:none}form{width:100%}input[type=email],input[type=file],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea,textarea[type=text]{width:100%;margin-top:1rem;margin-bottom:1rem;box-sizing:border-box;transition:all .2s ease;border:1px solid #212121;border-radius:2px}input[type=email]:focus,input[type=file]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus,textarea[type=text]:focus{border-color:#212121;transition:all .2s ease}input,textarea{padding:.9rem 1rem .9rem 2rem}select{background:#fff;padding:.9rem .5rem;margin:1.2rem 0}textarea{resize:vertical;min-height:12rem;margin:0}.input-field span:before{cursor:pointer;position:relative;font-family:fontawesome;top:3rem;left:.6rem;color:#212121}.text-area-field span:before{top:1.8rem}.user-icon:before{content:""}.email-icon:before{content:""}.edit-icon:before{content:""}.caret-icon:before{content:"▼"}label{cursor:pointer}label input[type=checkbox]{display:none}label input[type=checkbox]+span:before{color:hsla(0,0%,100%,0)}label input[type=checkbox]+span:before,label input[type=checkbox]:checked+span:before{content:"";font-family:fontawesome;border:1px solid #212121;padding:.4rem;border-radius:2px;transition:.2s;font-size:16px}label input[type=checkbox]:checked+span:before{color:#212121}label input[type=radio]{display:none}label input[type=radio]+span:before{color:hsla(0,0%,100%,0)}label input[type=radio]+span:before,label input[type=radio]:checked+span:before{content:"";font-family:fontawesome;border:1px solid #212121;padding:.3rem .4rem;border-radius:100%;transition:.2s;font-size:14px}label input[type=radio]:checked+span:before{color:#212121}.green-input input[type=email],.green-input input[type=file],.green-input input[type=number],.green-input input[type=password],.green-input input[type=search],.green-input input[type=tel],.green-input input[type=text],.green-input input[type=url],.green-input select,.green-input textarea,.green-input textarea[type=text]{border-color:#1fdeb3}.green-input input[type=email]:focus,.green-input input[type=file]:focus,.green-input input[type=number]:focus,.green-input input[type=password]:focus,.green-input input[type=search]:focus,.green-input input[type=tel]:focus,.green-input input[type=text]:focus,.green-input input[type=url]:focus,.green-input select:focus,.green-input textarea:focus,.green-input textarea[type=text]:focus{border-color:#12c3d2}.green-input span:before{color:#1fdeb3}.black-input input[type=email],.black-input input[type=file],.black-input input[type=number],.black-input input[type=password],.black-input input[type=search],.black-input input[type=tel],.black-input input[type=text],.black-input input[type=url],.black-input select,.black-input textarea,.black-input textarea[type=text]{border-color:#212121}.black-input input[type=email]:focus,.black-input input[type=file]:focus,.black-input input[type=number]:focus,.black-input input[type=password]:focus,.black-input input[type=search]:focus,.black-input input[type=tel]:focus,.black-input input[type=text]:focus,.black-input input[type=url]:focus,.black-input select:focus,.black-input textarea:focus,.black-input textarea[type=text]:focus{border-color:#3b3a3a}.black-input span:before{color:#212121}.orange-input input[type=email],.orange-input input[type=file],.orange-input input[type=number],.orange-input input[type=password],.orange-input input[type=search],.orange-input input[type=tel],.orange-input input[type=text],.orange-input input[type=url],.orange-input select,.orange-input textarea,.orange-input textarea[type=text]{border-color:#ff9f33}.orange-input input[type=email]:focus,.orange-input input[type=file]:focus,.orange-input input[type=number]:focus,.orange-input input[type=password]:focus,.orange-input input[type=search]:focus,.orange-input input[type=tel]:focus,.orange-input input[type=text]:focus,.orange-input input[type=url]:focus,.orange-input select:focus,.orange-input textarea:focus,.orange-input textarea[type=text]:focus{border-color:#ffe53b}.orange-input span:before{color:#ff9f33}.purple-input input[type=email],.purple-input input[type=file],.purple-input input[type=number],.purple-input input[type=password],.purple-input input[type=search],.purple-input input[type=tel],.purple-input input[type=text],.purple-input input[type=url],.purple-input select,.purple-input textarea,.purple-input textarea[type=text]{border-color:#7274ff}.purple-input input[type=email]:focus,.purple-input input[type=file]:focus,.purple-input input[type=number]:focus,.purple-input input[type=password]:focus,.purple-input input[type=search]:focus,.purple-input input[type=tel]:focus,.purple-input input[type=text]:focus,.purple-input input[type=url]:focus,.purple-input select:focus,.purple-input textarea:focus,.purple-input textarea[type=text]:focus{border-color:#21d4fd}.purple-input span:before{color:#7274ff}.green-checkbox+span:before{border-color:#1fdeb3!important;color:hsla(0,0%,100%,0)!important}.green-checkbox:checked+span:before{color:#1fdeb3!important}.black-checkbox+span:before{border-color:#212121!important;color:hsla(0,0%,100%,0)!important}.black-checkbox:checked+span:before{color:#212121!important}.orange-checkbox+span:before{border-color:#ff9f33!important;color:hsla(0,0%,100%,0)!important}.orange-checkbox:checked+span:before{color:#ff9f33!important}.purple-checkbox+span:before{border-color:#7274ff!important;color:hsla(0,0%,100%,0)!important}.purple-checkbox:checked+span:before{color:#7274ff!important}.card{border-radius:5px;box-shadow:0 1px 10px 0 rgba(5,5,5,.13)}.card .card-header{padding:1.5rem}.card .card-header h4{font-weight:700;margin:0}.card .card-img{overflow:hidden}.card .card-img img{position:relative;left:0;right:0;top:0;bottom:0;width:100%;display:block}.card .card-footer{padding:1.5rem 0 1.5rem 1.5rem}.card .card-footer h4{font-weight:700;margin:0}.card-no-footer .card-img img{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.card-no-header .card-img img{border-top-left-radius:5px;border-top-right-radius:5px}.card-hover,.card-hover:hover{transition:all .3s}.card-hover:hover{box-shadow:0 11px 16px 0 rgba(5,5,5,.23)}.btn{padding: 1rem 1.5rem;color:#fff;cursor:pointer;text-transform:uppercase;font-weight:700}.btn-primary{border-radius:5px}.btn-rounded{border-radius:30px}.btn-outlined{border-width:3px;border-style:solid;transition:all .5s}.btn-outlined:hover{color:#fff;transition:all .5s}.gradient-black{background:#212121!important}.black-btn{border-color:#212121;color:#212121}.black-btn:hover{background-color:#212121}.green-btn{border-color:#1fdeb3;color:#1fdeb3}.green-btn:hover{background-color:#1fdeb3}.orange-btn{border-color:#ff9f33;color:#ff9f33}.orange-btn:hover{background-color:#ff9f33}.purple-btn{border-color:#7274ff;color:#7274ff}.purple-btn:hover{background-color:#7274ff}button:disabled{opacity:.8;color:#fff;border:unset}button:disabled,button:disabled:hover{box-shadow:unset;background:#c1c1c1}.responsive-image{overflow:hidden}.responsive-image img{width:100%}.responsive-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.responsive-video embed,.responsive-video iframe,.responsive-video object{position:absolute;top:0;left:0;width:100%;height:100%}body{font-family:Roboto,sans-serif;padding:0;margin:0}
--------------------------------------------------------------------------------