added dark theme option. It ìs selected automagically based on system choiche of...
[theme-danix.xyz.git] / assets / sass / components / _form.scss
CommitLineData
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
cb4379e1 72 color: _palette_light(fg-bold);\r
748286b5 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
cb4379e1 90 background: _palette_light(border-bg);\r
748286b5 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
cb4379e1 105 border-color: _palette_light(highlight);\r
106 box-shadow: 0 0 0 2px _palette_light(highlight);\r
748286b5 107 }\r
108 }\r
109\r
110 select {\r
cb4379e1 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_light(border)}' /></svg>");\r
748286b5 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
cb4379e1 120 color: _palette_light(fg-bold);\r
121 background: _palette_light(bg);\r
748286b5 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
cb4379e1 161 color: _palette_light(fg);\r
748286b5 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
cb4379e1 170 background: _palette_light(border-bg);\r
748286b5 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
cb4379e1 187 background: _palette_light(fg-bold);\r
188 border-color: _palette_light(highlight);\r
748286b5 189 content: '\f00c';\r
cb4379e1 190 color: _palette_light(bg);\r
748286b5 191 }\r
192 }\r
193\r
194 &:focus + label {\r
195 &:before {\r
cb4379e1 196 box-shadow: 0 0 0 2px _palette_light(highlight);\r
748286b5 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
cb4379e1 217 color: _palette_light(fg-light) !important;\r
748286b5 218 opacity: 1.0;\r
219 }\r
220\r
221 :-moz-placeholder {\r
cb4379e1 222 color: _palette_light(fg-light) !important;\r
748286b5 223 opacity: 1.0;\r
224 }\r
225\r
226 ::-moz-placeholder {\r
cb4379e1 227 color: _palette_light(fg-light) !important;\r
748286b5 228 opacity: 1.0;\r
229 }\r
230\r
231 :-ms-input-placeholder {\r
cb4379e1 232 color: _palette_light(fg-light) !important;\r
748286b5 233 opacity: 1.0;\r
234 }