748286b5 |
1 | ///\r |
2 | /// Forty by HTML5 UP\r |
3 | /// html5up.net | @ajlkn\r |
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)\r |
5 | ///\r |
6 | \r |
7 | /* Form */\r |
8 | \r |
9 | form {\r |
10 | margin: 0 0 _size(element-margin) 0;\r |
11 | \r |
12 | > :last-child {\r |
13 | margin-bottom: 0;\r |
14 | }\r |
15 | \r |
16 | > .fields {\r |
17 | $gutter: (_size(element-margin) * 0.75);\r |
18 | \r |
19 | @include vendor('display', 'flex');\r |
20 | @include vendor('flex-wrap', 'wrap');\r |
21 | width: calc(100% + #{$gutter * 2});\r |
22 | margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);\r |
23 | \r |
24 | > .field {\r |
25 | @include vendor('flex-grow', '0');\r |
26 | @include vendor('flex-shrink', '0');\r |
27 | padding: $gutter 0 0 $gutter;\r |
28 | width: calc(100% - #{$gutter * 1});\r |
29 | \r |
30 | &.half {\r |
31 | width: calc(50% - #{$gutter * 0.5});\r |
32 | }\r |
33 | \r |
34 | &.third {\r |
35 | width: calc(#{100% / 3} - #{$gutter * (1 / 3)});\r |
36 | }\r |
37 | \r |
38 | &.quarter {\r |
39 | width: calc(25% - #{$gutter * 0.25});\r |
40 | }\r |
41 | }\r |
42 | }\r |
43 | \r |
44 | @include breakpoint('<=xsmall') {\r |
45 | > .fields {\r |
46 | $gutter: (_size(element-margin) * 0.75);\r |
47 | \r |
48 | width: calc(100% + #{$gutter * 2});\r |
49 | margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);\r |
50 | \r |
51 | > .field {\r |
52 | padding: $gutter 0 0 $gutter;\r |
53 | width: calc(100% - #{$gutter * 1});\r |
54 | \r |
55 | &.half {\r |
56 | width: calc(100% - #{$gutter * 1});\r |
57 | }\r |
58 | \r |
59 | &.third {\r |
60 | width: calc(100% - #{$gutter * 1});\r |
61 | }\r |
62 | \r |
63 | &.quarter {\r |
64 | width: calc(100% - #{$gutter * 1});\r |
65 | }\r |
66 | }\r |
67 | }\r |
68 | }\r |
69 | }\r |
70 | \r |
71 | label {\r |
72 | color: _palette(fg-bold);\r |
73 | display: block;\r |
74 | font-size: 0.8em;\r |
75 | font-weight: _font(weight-bold);\r |
76 | letter-spacing: _font(letter-spacing-alt);\r |
77 | margin: 0 0 (_size(element-margin) * 0.5) 0;\r |
78 | text-transform: uppercase;\r |
79 | }\r |
80 | \r |
81 | input[type="text"],\r |
82 | input[type="password"],\r |
83 | input[type="email"],\r |
84 | input[type="tel"],\r |
85 | input[type="search"],\r |
86 | input[type="url"],\r |
87 | select,\r |
88 | textarea {\r |
89 | @include vendor('appearance', 'none');\r |
90 | background: _palette(border-bg);\r |
91 | border: none;\r |
92 | border-radius: 0;\r |
93 | color: inherit;\r |
94 | display: block;\r |
95 | outline: 0;\r |
96 | padding: 0 1em;\r |
97 | text-decoration: none;\r |
98 | width: 100%;\r |
99 | \r |
100 | &:invalid {\r |
101 | box-shadow: none;\r |
102 | }\r |
103 | \r |
104 | &:focus {\r |
105 | border-color: _palette(highlight);\r |
106 | box-shadow: 0 0 0 2px _palette(highlight);\r |
107 | }\r |
108 | }\r |
109 | \r |
110 | select {\r |
111 | background-image: svg-url("<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'><path d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='#{_palette(border)}' /></svg>");\r |
112 | background-size: 1.25rem;\r |
113 | background-repeat: no-repeat;\r |
114 | background-position: calc(100% - 1rem) center;\r |
115 | height: _size(element-height);\r |
116 | padding-right: _size(element-height);\r |
117 | text-overflow: ellipsis;\r |
118 | \r |
119 | option {\r |
120 | color: _palette(fg-bold);\r |
121 | background: _palette(bg);\r |
122 | }\r |
123 | \r |
124 | &:focus {\r |
125 | &::-ms-value {\r |
126 | background-color: transparent;\r |
127 | }\r |
128 | }\r |
129 | \r |
130 | &::-ms-expand {\r |
131 | display: none;\r |
132 | }\r |
133 | }\r |
134 | \r |
135 | input[type="text"],\r |
136 | input[type="password"],\r |
137 | input[type="email"],\r |
138 | input[type="tel"],\r |
139 | input[type="search"],\r |
140 | input[type="url"],\r |
141 | select {\r |
142 | height: _size(element-height);\r |
143 | }\r |
144 | \r |
145 | textarea {\r |
146 | padding: 0.75em 1em;\r |
147 | }\r |
148 | \r |
149 | input[type="checkbox"],\r |
150 | input[type="radio"], {\r |
151 | @include vendor('appearance', 'none');\r |
152 | display: block;\r |
153 | float: left;\r |
154 | margin-right: -2em;\r |
155 | opacity: 0;\r |
156 | width: 1em;\r |
157 | z-index: -1;\r |
158 | \r |
159 | & + label {\r |
160 | @include icon(false, solid);\r |
161 | color: _palette(fg);\r |
162 | cursor: pointer;\r |
163 | display: inline-block;\r |
164 | font-weight: _font(weight);\r |
165 | padding-left: (_size(element-height) * 0.6) + 1em;\r |
166 | padding-right: 0.75em;\r |
167 | position: relative;\r |
168 | \r |
169 | &:before {\r |
170 | background: _palette(border-bg);\r |
171 | content: '';\r |
172 | display: inline-block;\r |
173 | font-size: 0.8em;\r |
174 | height: (_size(element-height) * 0.75);\r |
175 | left: 0;\r |
176 | letter-spacing: 0;\r |
177 | line-height: (_size(element-height) * 0.75);\r |
178 | position: absolute;\r |
179 | text-align: center;\r |
180 | top: 0;\r |
181 | width: (_size(element-height) * 0.75);\r |
182 | }\r |
183 | }\r |
184 | \r |
185 | &:checked + label {\r |
186 | &:before {\r |
187 | background: _palette(fg-bold);\r |
188 | border-color: _palette(highlight);\r |
189 | content: '\f00c';\r |
190 | color: _palette(bg);\r |
191 | }\r |
192 | }\r |
193 | \r |
194 | &:focus + label {\r |
195 | &:before {\r |
196 | box-shadow: 0 0 0 2px _palette(highlight);\r |
197 | }\r |
198 | }\r |
199 | }\r |
200 | \r |
201 | input[type="checkbox"] {\r |
202 | & + label {\r |
203 | &:before {\r |
204 | }\r |
205 | }\r |
206 | }\r |
207 | \r |
208 | input[type="radio"] {\r |
209 | & + label {\r |
210 | &:before {\r |
211 | border-radius: 100%;\r |
212 | }\r |
213 | }\r |
214 | }\r |
215 | \r |
216 | ::-webkit-input-placeholder {\r |
217 | color: _palette(fg-light) !important;\r |
218 | opacity: 1.0;\r |
219 | }\r |
220 | \r |
221 | :-moz-placeholder {\r |
222 | color: _palette(fg-light) !important;\r |
223 | opacity: 1.0;\r |
224 | }\r |
225 | \r |
226 | ::-moz-placeholder {\r |
227 | color: _palette(fg-light) !important;\r |
228 | opacity: 1.0;\r |
229 | }\r |
230 | \r |
231 | :-ms-input-placeholder {\r |
232 | color: _palette(fg-light) !important;\r |
233 | opacity: 1.0;\r |
234 | } |