digital_heroes_startkit 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +37 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/digital_heroes_startkit_manifest.js +0 -0
  6. data/app/assets/javascripts/authorization.coffee +79 -0
  7. data/app/assets/javascripts/avatar.coffee +16 -0
  8. data/app/assets/javascripts/datepicker.js +2 -0
  9. data/app/assets/javascripts/digital_heroes_startkit/cable.js +13 -0
  10. data/app/assets/javascripts/digital_heroes_startkit/channels/pills.coffee +23 -0
  11. data/app/assets/javascripts/digital_heroes_startkit/input.coffee +5 -0
  12. data/app/assets/javascripts/digital_heroes_startkit/pills.coffee +2 -0
  13. data/app/assets/javascripts/digital_heroes_startkit/snap.svg-min.js +21 -0
  14. data/app/assets/javascripts/digital_heroes_startkit.js +26 -0
  15. data/app/assets/javascripts/profile.coffee +53 -0
  16. data/app/assets/javascripts/profile_geodata.coffee +68 -0
  17. data/app/assets/javascripts/reg_fields_checkup.coffee +96 -0
  18. data/app/assets/javascripts/registration.coffee +35 -0
  19. data/app/assets/javascripts/resurrection.coffee +20 -0
  20. data/app/channels/application_cable/channel.rb +4 -0
  21. data/app/channels/application_cable/connection.rb +4 -0
  22. data/app/channels/pills_channel.rb +10 -0
  23. data/app/controllers/avatars_controller.rb +11 -0
  24. data/app/controllers/clients_controller.rb +62 -0
  25. data/app/controllers/email_access_cards_controller.rb +28 -0
  26. data/app/controllers/geodata_controller.rb +84 -0
  27. data/app/controllers/nickname_access_cards_controller.rb +30 -0
  28. data/app/controllers/oauth_controller.rb +178 -0
  29. data/app/controllers/openid_controller.rb +124 -0
  30. data/app/controllers/phone_access_cards_controller.rb +28 -0
  31. data/app/controllers/profile_controller.rb +114 -0
  32. data/app/controllers/response_controller.rb +17 -0
  33. data/app/controllers/start_kit_controller.rb +86 -0
  34. data/app/controllers/user_cards_controller.rb +305 -0
  35. data/app/jobs/log_analyzer_job.rb +50 -0
  36. data/app/jobs/password_resurrection_kill_job.rb +9 -0
  37. data/app/mailers/admin_mailer.rb +9 -0
  38. data/app/mailers/client_mailer.rb +3 -0
  39. data/app/mailers/kreator_mailer.rb +9 -0
  40. data/app/mailers/manager_mailer.rb +9 -0
  41. data/app/mailers/prometeus_mailer.rb +16 -0
  42. data/app/mailers/user_cards_mailer.rb +9 -0
  43. data/app/models/admin.rb +3 -0
  44. data/app/models/avatar.rb +23 -0
  45. data/app/models/city.rb +7 -0
  46. data/app/models/client.rb +31 -0
  47. data/app/models/country.rb +7 -0
  48. data/app/models/delayed_job.rb +20 -0
  49. data/app/models/email_access_card.rb +30 -0
  50. data/app/models/kreator.rb +3 -0
  51. data/app/models/log_error.rb +56 -0
  52. data/app/models/log_error_type.rb +3 -0
  53. data/app/models/manager.rb +3 -0
  54. data/app/models/nickname_access_card.rb +18 -0
  55. data/app/models/oauth_access_card.rb +38 -0
  56. data/app/models/phone_access_card.rb +19 -0
  57. data/app/models/prometeus.rb +50 -0
  58. data/app/models/user_card.rb +158 -0
  59. data/app/views/admin_mailer/greetings_email.html.erb +191 -0
  60. data/app/views/client_mailer/greetings_email.html.erb +191 -0
  61. data/app/views/kreator_mailer/greetings_email.html.erb +191 -0
  62. data/app/views/manager_mailer/greetings_email.html.erb +191 -0
  63. data/app/views/oauth/verify.slim +1 -0
  64. data/app/views/profile/_add_avatar.slim +12 -0
  65. data/app/views/profile/_user_profile.slim +95 -0
  66. data/app/views/profile/index.slim +12 -0
  67. data/app/views/user_cards/authorization.slim +72 -0
  68. data/app/views/user_cards/confirmation_but_access_code.slim +7 -0
  69. data/app/views/user_cards/confirmation_complete.slim +7 -0
  70. data/app/views/user_cards/registration.slim +86 -0
  71. data/app/views/user_cards/resurrection.slim +19 -0
  72. data/app/views/user_cards/resurrection_but_access_code.slim +7 -0
  73. data/app/views/user_cards/resurrection_no_access_code.slim +7 -0
  74. data/app/views/user_cards_mailer/email.html.erb +191 -0
  75. data/app/views/user_cards_mailer/resurrection.html.erb +191 -0
  76. data/config/initializers/session_manager.rb +2 -0
  77. data/config/routes.rb +53 -0
  78. data/lib/access_control.rb +3 -0
  79. data/lib/digital_heroes_startkit/engine.rb +25 -0
  80. data/lib/digital_heroes_startkit/version.rb +3 -0
  81. data/lib/digital_heroes_startkit.rb +5 -0
  82. data/lib/generators/digital_heroes_startkit/install_generator.rb +61 -0
  83. data/lib/generators/project/Capfile +36 -0
  84. data/lib/generators/project/Procfile +3 -0
  85. data/lib/generators/project/app/assets/stylesheets/application.scss +16 -0
  86. data/lib/generators/project/app/assets/stylesheets/base/_auth.scss +37 -0
  87. data/lib/generators/project/app/assets/stylesheets/base/_buttons.scss +62 -0
  88. data/lib/generators/project/app/assets/stylesheets/base/_checkbox.scss +71 -0
  89. data/lib/generators/project/app/assets/stylesheets/base/_datepicker.scss +620 -0
  90. data/lib/generators/project/app/assets/stylesheets/base/_form.scss +81 -0
  91. data/lib/generators/project/app/assets/stylesheets/base/_notice.scss +14 -0
  92. data/lib/generators/project/app/assets/stylesheets/base/_pills.scss +39 -0
  93. data/lib/generators/project/app/assets/stylesheets/base/_profile.scss +67 -0
  94. data/lib/generators/project/app/assets/stylesheets/base/_reset.scss +49 -0
  95. data/lib/generators/project/app/assets/stylesheets/base/_social.scss +52 -0
  96. data/lib/generators/project/app/assets/stylesheets/base/_user.scss +0 -0
  97. data/lib/generators/project/app/assets/stylesheets/base/_user_avatar.scss +18 -0
  98. data/lib/generators/project/app/assets/stylesheets/base/styles.scss.txt +35 -0
  99. data/lib/generators/project/app/assets/stylesheets/plugins/sumoselect.scss +296 -0
  100. data/lib/generators/project/app/controllers/application_controller.rb +3 -0
  101. data/lib/generators/project/app/views/layouts/_counts.html.erb +29 -0
  102. data/lib/generators/project/app/views/layouts/_footer.slim +6 -0
  103. data/lib/generators/project/app/views/layouts/_head.slim +7 -0
  104. data/lib/generators/project/app/views/layouts/_header.slim +47 -0
  105. data/lib/generators/project/app/views/layouts/_mobile_menu.slim +11 -0
  106. data/lib/generators/project/app/views/layouts/application.slim +26 -0
  107. data/lib/generators/project/app/views/layouts/mailer.html.erb +13 -0
  108. data/lib/generators/project/app/views/layouts/mailer.text.erb +1 -0
  109. data/lib/generators/project/config/application.access.yml +66 -0
  110. data/lib/generators/project/config/application.db.yml +5 -0
  111. data/lib/generators/project/config/application.google.yml +3 -0
  112. data/lib/generators/project/config/application.oauth.yml +135 -0
  113. data/lib/generators/project/config/application.robokassa.yml +10 -0
  114. data/lib/generators/project/config/application.sendgrid.yml +3 -0
  115. data/lib/generators/project/config/application.telegram.yml +22 -0
  116. data/lib/generators/project/config/application.yml +28 -0
  117. data/lib/generators/project/config/cable.yml +6 -0
  118. data/lib/generators/project/config/capistrano.yml +78 -0
  119. data/lib/generators/project/config/database.yml +52 -0
  120. data/lib/generators/project/config/deploy/application.secrets.yml +4 -0
  121. data/lib/generators/project/config/deploy/domain.crt +92 -0
  122. data/lib/generators/project/config/deploy/domain.key +51 -0
  123. data/lib/generators/project/config/deploy/nginx.conf +50 -0
  124. data/lib/generators/project/config/deploy/production.rb +67 -0
  125. data/lib/generators/project/config/deploy/secrets.yml +32 -0
  126. data/lib/generators/project/config/deploy/secrets.yml.enc +1 -0
  127. data/lib/generators/project/config/deploy/secrets.yml.key +1 -0
  128. data/lib/generators/project/config/deploy/staging.rb +61 -0
  129. data/lib/generators/project/config/deploy/virgin_conf/database.yml +42 -0
  130. data/lib/generators/project/config/deploy/virgin_conf/nginx_site.conf +47 -0
  131. data/lib/generators/project/config/deploy/virgin_conf/nginx_site_ssl.conf +57 -0
  132. data/lib/generators/project/config/deploy/virgin_conf/postfix.cf +685 -0
  133. data/lib/generators/project/config/deploy/virgin_conf/production.rb +67 -0
  134. data/lib/generators/project/config/deploy/virgin_conf/puma.rb +66 -0
  135. data/lib/generators/project/config/deploy/virgin_sh/capistrano.sh +18 -0
  136. data/lib/generators/project/config/deploy/virgin_sh/foreman.sh +19 -0
  137. data/lib/generators/project/config/deploy/virgin_sh/rvm_install.sh +10 -0
  138. data/lib/generators/project/config/deploy.rb +377 -0
  139. data/lib/generators/project/config/environments/development.rb +91 -0
  140. data/lib/generators/project/config/environments/production.rb +142 -0
  141. data/lib/generators/project/config/initializers/session_store.rb +3 -0
  142. data/lib/generators/project/config/locales/ru.yml +444 -0
  143. data/lib/generators/project/db/migrate/10_create_user_cards.rb +19 -0
  144. data/lib/generators/project/db/migrate/12_create_email_access_cards.rb +15 -0
  145. data/lib/generators/project/db/migrate/13_create_nickname_access_cards.rb +15 -0
  146. data/lib/generators/project/db/migrate/14_create_phone_access_cards.rb +16 -0
  147. data/lib/generators/project/db/migrate/15_create_oauth_access_cards.rb +19 -0
  148. data/lib/generators/project/db/migrate/1_create_kreators.rb +9 -0
  149. data/lib/generators/project/db/migrate/21_create_avatars.rb +12 -0
  150. data/lib/generators/project/db/migrate/30_create_countries.rb +12 -0
  151. data/lib/generators/project/db/migrate/32_create_cities.rb +12 -0
  152. data/lib/generators/project/db/migrate/3_create_admins.rb +9 -0
  153. data/lib/generators/project/db/migrate/44_add_sessions_table.rb +12 -0
  154. data/lib/generators/project/db/migrate/4_create_managers.rb +10 -0
  155. data/lib/generators/project/db/migrate/5_create_clients.rb +17 -0
  156. data/lib/generators/project/db/migrate/60_create_log_error_types.rb +9 -0
  157. data/lib/generators/project/db/migrate/61_create_log_errors.rb +12 -0
  158. data/lib/generators/project/db/migrate/78_create_delayed_jobs.rb +22 -0
  159. data/lib/generators/project/db/seeds.rb +27 -0
  160. data/lib/generators/project/geodata/cities.csv +25305 -0
  161. data/lib/generators/project/geodata/countries.csv +250 -0
  162. data/lib/generators/project/public/401.html +75 -0
  163. data/lib/generators/project/public/404.html +67 -0
  164. data/lib/generators/project/public/422.html +67 -0
  165. data/lib/generators/project/public/500.html +66 -0
  166. data/lib/generators/project/public/_receiver.html +10 -0
  167. data/lib/generators/project/public/apple-touch-icon-precomposed.png +0 -0
  168. data/lib/generators/project/public/apple-touch-icon.png +0 -0
  169. data/lib/generators/project/public/favicon.ico +0 -0
  170. data/lib/generators/project/public/robots.txt +1 -0
  171. data/lib/happy_birthday.rb +5 -0
  172. data/lib/link.rb +16 -0
  173. data/lib/oauth/oauth.rb +72 -0
  174. data/lib/oauth/oauth_fb.rb +48 -0
  175. data/lib/oauth/oauth_gg.rb +50 -0
  176. data/lib/oauth/oauth_im.rb +51 -0
  177. data/lib/oauth/oauth_mr.rb +53 -0
  178. data/lib/oauth/oauth_vk.rb +3 -0
  179. data/lib/oauth/oauth_yx.rb +51 -0
  180. data/lib/openid/openid.rb +46 -0
  181. data/lib/openid/openid_st.rb +2 -0
  182. data/lib/phone_cutter.rb +9 -0
  183. data/lib/response.rb +51 -0
  184. data/lib/session_manager.rb +47 -0
  185. data/lib/sms_lib.rb +30 -0
  186. data/lib/social_networks.rb +328 -0
  187. data/lib/tasks/digital_heroes_startkit_tasks.rake +83 -0
  188. data/lib/telegram.rb +33 -0
  189. metadata +497 -0
@@ -0,0 +1,620 @@
1
+ .datepicker--cells {
2
+ display: -webkit-flex;
3
+ display: -ms-flexbox;
4
+ display: flex;
5
+ -webkit-flex-wrap: wrap;
6
+ -ms-flex-wrap: wrap;
7
+ flex-wrap: wrap;
8
+ }
9
+
10
+ .datepicker--cell {
11
+ border-radius: 4px;
12
+ box-sizing: border-box;
13
+ cursor: pointer;
14
+ display: -webkit-flex;
15
+ display: -ms-flexbox;
16
+ display: flex;
17
+ position: relative;
18
+ -webkit-align-items: center;
19
+ -ms-flex-align: center;
20
+ align-items: center;
21
+ -webkit-justify-content: center;
22
+ -ms-flex-pack: center;
23
+ justify-content: center;
24
+ height: 32px;
25
+ z-index: 1;
26
+ &.-focus- {
27
+ background: #f0f0f0;
28
+ }
29
+ &.-current- {
30
+ color: #4EB5E6;
31
+ &.-focus- {
32
+ color: #4a4a4a;
33
+ }
34
+ &.-in-range- {
35
+ color: #4EB5E6;
36
+ }
37
+ }
38
+ &.-in-range- {
39
+ background: rgba(92, 196, 239, 0.1);
40
+ color: #4a4a4a;
41
+ border-radius: 0;
42
+ &.-focus- {
43
+ background-color: rgba(92, 196, 239, 0.2);
44
+ }
45
+ }
46
+ &.-disabled- {
47
+ cursor: default;
48
+ color: #aeaeae;
49
+ &.-focus- {
50
+ color: #aeaeae;
51
+ }
52
+ &.-in-range- {
53
+ color: #a1a1a1;
54
+ }
55
+ &.-current-.-focus- {
56
+ color: #aeaeae;
57
+ }
58
+ }
59
+ &.-range-from- {
60
+ border: 1px solid rgba(92, 196, 239, 0.5);
61
+ background-color: rgba(92, 196, 239, 0.1);
62
+ border-radius: 4px 0 0 4px;
63
+ }
64
+ &.-range-to- {
65
+ border: 1px solid rgba(92, 196, 239, 0.5);
66
+ background-color: rgba(92, 196, 239, 0.1);
67
+ border-radius: 0 4px 4px 0;
68
+ }
69
+ &.-selected- {
70
+ color: #fff;
71
+ background: #5cc4ef;
72
+ &.-current- {
73
+ color: #fff;
74
+ background: #5cc4ef;
75
+ }
76
+ }
77
+ &.-range-from-.-range-to- {
78
+ border-radius: 4px;
79
+ }
80
+ &.-selected- {
81
+ border: none;
82
+ &.-focus- {
83
+ background: #45bced;
84
+ }
85
+ }
86
+ &:empty {
87
+ cursor: default;
88
+ }
89
+ }
90
+
91
+ .datepicker--days-names {
92
+ display: -webkit-flex;
93
+ display: -ms-flexbox;
94
+ display: flex;
95
+ -webkit-flex-wrap: wrap;
96
+ -ms-flex-wrap: wrap;
97
+ flex-wrap: wrap;
98
+ margin: 8px 0 3px;
99
+ }
100
+
101
+ .datepicker--day-name {
102
+ color: #FF9A19;
103
+ display: -webkit-flex;
104
+ display: -ms-flexbox;
105
+ display: flex;
106
+ -webkit-align-items: center;
107
+ -ms-flex-align: center;
108
+ align-items: center;
109
+ -webkit-justify-content: center;
110
+ -ms-flex-pack: center;
111
+ justify-content: center;
112
+ -webkit-flex: 1;
113
+ -ms-flex: 1;
114
+ flex: 1;
115
+ text-align: center;
116
+ text-transform: uppercase;
117
+ font-size: .8em;
118
+ }
119
+
120
+ .-only-timepicker- .datepicker--content, .datepicker--body, .datepicker-inline .datepicker--pointer {
121
+ display: none;
122
+ }
123
+
124
+ .datepicker--cell-day {
125
+ width: 14.28571%;
126
+ }
127
+
128
+ .datepicker--cells-months {
129
+ height: 170px;
130
+ }
131
+
132
+ .datepicker--cell-month {
133
+ width: 33.33%;
134
+ height: 25%;
135
+ }
136
+
137
+ .datepicker--cells-years, .datepicker--years {
138
+ height: 170px;
139
+ }
140
+
141
+ .datepicker--cell-year {
142
+ width: 25%;
143
+ height: 33.33%;
144
+ }
145
+
146
+ .datepickers-container {
147
+ position: absolute;
148
+ left: 0;
149
+ top: 0;
150
+ }
151
+
152
+ @media print {
153
+ .datepickers-container {
154
+ display: none;
155
+ }
156
+ }
157
+
158
+ .datepicker {
159
+ background: #fff;
160
+ border: 1px solid #dbdbdb;
161
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
162
+ border-radius: 4px;
163
+ box-sizing: content-box;
164
+ font-family: Tahoma,sans-serif;
165
+ font-size: 14px;
166
+ color: #4a4a4a;
167
+ width: 250px;
168
+ position: absolute;
169
+ left: -100000px;
170
+ opacity: 0;
171
+ transition: opacity .3s ease,left 0s .3s,-webkit-transform .3s ease;
172
+ transition: opacity .3s ease,transform .3s ease,left 0s .3s;
173
+ transition: opacity .3s ease,transform .3s ease,left 0s .3s,-webkit-transform .3s ease;
174
+ z-index: 100;
175
+ &.-from-top- {
176
+ -webkit-transform: translateY(-8px);
177
+ transform: translateY(-8px);
178
+ }
179
+ &.-from-right- {
180
+ -webkit-transform: translateX(8px);
181
+ transform: translateX(8px);
182
+ }
183
+ &.-from-bottom- {
184
+ -webkit-transform: translateY(8px);
185
+ transform: translateY(8px);
186
+ }
187
+ &.-from-left- {
188
+ -webkit-transform: translateX(-8px);
189
+ transform: translateX(-8px);
190
+ }
191
+ &.active {
192
+ opacity: 1;
193
+ -webkit-transform: translate(0);
194
+ transform: translate(0);
195
+ transition: opacity .3s ease,left 0s 0s,-webkit-transform .3s ease;
196
+ transition: opacity .3s ease,transform .3s ease,left 0s 0s;
197
+ transition: opacity .3s ease,transform .3s ease,left 0s 0s,-webkit-transform .3s ease;
198
+ }
199
+ }
200
+
201
+ .datepicker-inline .datepicker {
202
+ border-color: #d7d7d7;
203
+ box-shadow: none;
204
+ position: static;
205
+ left: auto;
206
+ right: auto;
207
+ opacity: 1;
208
+ -webkit-transform: none;
209
+ transform: none;
210
+ }
211
+
212
+ .datepicker--content {
213
+ box-sizing: content-box;
214
+ padding: 4px;
215
+ }
216
+
217
+ .datepicker--pointer {
218
+ position: absolute;
219
+ background: #fff;
220
+ border-top: 1px solid #dbdbdb;
221
+ border-right: 1px solid #dbdbdb;
222
+ width: 10px;
223
+ height: 10px;
224
+ z-index: -1;
225
+ }
226
+
227
+ .datepicker--nav-action:hover, .datepicker--nav-title:hover {
228
+ background: #f0f0f0;
229
+ }
230
+
231
+ .-top-center- .datepicker--pointer, .-top-left- .datepicker--pointer, .-top-right- .datepicker--pointer {
232
+ top: calc(100% - 4px);
233
+ -webkit-transform: rotate(135deg);
234
+ transform: rotate(135deg);
235
+ }
236
+
237
+ .-right-bottom- .datepicker--pointer, .-right-center- .datepicker--pointer, .-right-top- .datepicker--pointer {
238
+ right: calc(100% - 4px);
239
+ -webkit-transform: rotate(225deg);
240
+ transform: rotate(225deg);
241
+ }
242
+
243
+ .-bottom-center- .datepicker--pointer, .-bottom-left- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
244
+ bottom: calc(100% - 4px);
245
+ -webkit-transform: rotate(315deg);
246
+ transform: rotate(315deg);
247
+ }
248
+
249
+ .-left-bottom- .datepicker--pointer, .-left-center- .datepicker--pointer, .-left-top- .datepicker--pointer {
250
+ left: calc(100% - 4px);
251
+ -webkit-transform: rotate(45deg);
252
+ transform: rotate(45deg);
253
+ }
254
+
255
+ .-bottom-left- .datepicker--pointer, .-top-left- .datepicker--pointer {
256
+ left: 10px;
257
+ }
258
+
259
+ .-bottom-right- .datepicker--pointer, .-top-right- .datepicker--pointer {
260
+ right: 10px;
261
+ }
262
+
263
+ .-bottom-center- .datepicker--pointer, .-top-center- .datepicker--pointer {
264
+ left: calc(50% - 10px / 2);
265
+ }
266
+
267
+ .-left-top- .datepicker--pointer, .-right-top- .datepicker--pointer {
268
+ top: 10px;
269
+ }
270
+
271
+ .-left-bottom- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
272
+ bottom: 10px;
273
+ }
274
+
275
+ .-left-center- .datepicker--pointer, .-right-center- .datepicker--pointer {
276
+ top: calc(50% - 10px / 2);
277
+ }
278
+
279
+ .datepicker--body.active {
280
+ display: block;
281
+ }
282
+
283
+ .datepicker--nav {
284
+ display: -webkit-flex;
285
+ display: -ms-flexbox;
286
+ display: flex;
287
+ -webkit-justify-content: space-between;
288
+ -ms-flex-pack: justify;
289
+ justify-content: space-between;
290
+ border-bottom: 1px solid #efefef;
291
+ min-height: 32px;
292
+ padding: 4px;
293
+ }
294
+
295
+ .-only-timepicker- .datepicker--nav {
296
+ display: none;
297
+ }
298
+
299
+ .datepicker--nav-action, .datepicker--nav-title {
300
+ display: -webkit-flex;
301
+ display: -ms-flexbox;
302
+ display: flex;
303
+ cursor: pointer;
304
+ -webkit-align-items: center;
305
+ -ms-flex-align: center;
306
+ align-items: center;
307
+ -webkit-justify-content: center;
308
+ -ms-flex-pack: center;
309
+ justify-content: center;
310
+ }
311
+
312
+ .datepicker--nav-action {
313
+ width: 32px;
314
+ border-radius: 4px;
315
+ -webkit-user-select: none;
316
+ -moz-user-select: none;
317
+ -ms-user-select: none;
318
+ user-select: none;
319
+ &.-disabled- {
320
+ visibility: hidden;
321
+ }
322
+ svg {
323
+ width: 32px;
324
+ height: 32px;
325
+ }
326
+ path {
327
+ fill: none;
328
+ stroke: #9c9c9c;
329
+ stroke-width: 2px;
330
+ }
331
+ }
332
+
333
+ .datepicker--nav-title {
334
+ border-radius: 4px;
335
+ padding: 0 8px;
336
+ }
337
+
338
+ .datepicker--buttons, .datepicker--time {
339
+ border-top: 1px solid #efefef;
340
+ padding: 4px;
341
+ }
342
+
343
+ .datepicker--nav-title {
344
+ i {
345
+ font-style: normal;
346
+ color: #9c9c9c;
347
+ margin-left: 5px;
348
+ }
349
+ &.-disabled- {
350
+ cursor: default;
351
+ background: 0 0;
352
+ }
353
+ }
354
+
355
+ .datepicker--buttons {
356
+ display: -webkit-flex;
357
+ display: -ms-flexbox;
358
+ display: flex;
359
+ }
360
+
361
+ .datepicker--button {
362
+ color: #4EB5E6;
363
+ cursor: pointer;
364
+ border-radius: 4px;
365
+ -webkit-flex: 1;
366
+ -ms-flex: 1;
367
+ flex: 1;
368
+ display: -webkit-inline-flex;
369
+ display: -ms-inline-flexbox;
370
+ display: inline-flex;
371
+ -webkit-justify-content: center;
372
+ -ms-flex-pack: center;
373
+ justify-content: center;
374
+ -webkit-align-items: center;
375
+ -ms-flex-align: center;
376
+ align-items: center;
377
+ height: 32px;
378
+ &:hover {
379
+ color: #4a4a4a;
380
+ background: #f0f0f0;
381
+ }
382
+ }
383
+
384
+ .datepicker--time {
385
+ display: -webkit-flex;
386
+ display: -ms-flexbox;
387
+ display: flex;
388
+ -webkit-align-items: center;
389
+ -ms-flex-align: center;
390
+ align-items: center;
391
+ position: relative;
392
+ &.-am-pm- .datepicker--time-sliders {
393
+ -webkit-flex: 0 1 138px;
394
+ -ms-flex: 0 1 138px;
395
+ flex: 0 1 138px;
396
+ max-width: 138px;
397
+ }
398
+ }
399
+
400
+ .-only-timepicker- .datepicker--time {
401
+ border-top: none;
402
+ }
403
+
404
+ .datepicker--time-sliders {
405
+ -webkit-flex: 0 1 153px;
406
+ -ms-flex: 0 1 153px;
407
+ flex: 0 1 153px;
408
+ margin-right: 10px;
409
+ max-width: 153px;
410
+ }
411
+
412
+ .datepicker--time-label {
413
+ display: none;
414
+ font-size: 12px;
415
+ }
416
+
417
+ .datepicker--time-current {
418
+ display: -webkit-flex;
419
+ display: -ms-flexbox;
420
+ display: flex;
421
+ -webkit-align-items: center;
422
+ -ms-flex-align: center;
423
+ align-items: center;
424
+ -webkit-flex: 1;
425
+ -ms-flex: 1;
426
+ flex: 1;
427
+ font-size: 14px;
428
+ text-align: center;
429
+ margin: 0 0 0 10px;
430
+ }
431
+
432
+ .datepicker--time-current-colon {
433
+ margin: 0 2px 3px;
434
+ line-height: 1;
435
+ }
436
+
437
+ .datepicker--time-current-hours, .datepicker--time-current-minutes {
438
+ line-height: 1;
439
+ font-size: 19px;
440
+ font-family: "Century Gothic",CenturyGothic,AppleGothic,sans-serif;
441
+ position: relative;
442
+ z-index: 1;
443
+ }
444
+
445
+ .datepicker--time-current-hours:after, .datepicker--time-current-minutes:after {
446
+ content: '';
447
+ background: #f0f0f0;
448
+ border-radius: 4px;
449
+ position: absolute;
450
+ left: -2px;
451
+ top: -3px;
452
+ right: -2px;
453
+ bottom: -2px;
454
+ z-index: -1;
455
+ opacity: 0;
456
+ }
457
+
458
+ .datepicker--time-current-hours.-focus-:after, .datepicker--time-current-minutes.-focus-:after {
459
+ opacity: 1;
460
+ }
461
+
462
+ .datepicker--time-current-ampm {
463
+ text-transform: uppercase;
464
+ -webkit-align-self: flex-end;
465
+ -ms-flex-item-align: end;
466
+ align-self: flex-end;
467
+ color: #9c9c9c;
468
+ margin-left: 6px;
469
+ font-size: 11px;
470
+ margin-bottom: 1px;
471
+ }
472
+
473
+ .datepicker--time-row {
474
+ display: -webkit-flex;
475
+ display: -ms-flexbox;
476
+ display: flex;
477
+ -webkit-align-items: center;
478
+ -ms-flex-align: center;
479
+ align-items: center;
480
+ font-size: 11px;
481
+ height: 17px;
482
+ background: linear-gradient(to right, #dedede, #dedede) left (50% / 100%) 1px no-repeat;
483
+ &:first-child {
484
+ margin-bottom: 4px;
485
+ }
486
+ input[type=range] {
487
+ background: 0 0;
488
+ cursor: pointer;
489
+ -webkit-flex: 1;
490
+ -ms-flex: 1;
491
+ flex: 1;
492
+ height: 100%;
493
+ padding: 0;
494
+ margin: 0;
495
+ -webkit-appearance: none;
496
+ &::-ms-tooltip {
497
+ display: none;
498
+ }
499
+ &:hover {
500
+ &::-webkit-slider-thumb, &::-moz-range-thumb, &::-ms-thumb {
501
+ border-color: #b8b8b8;
502
+ }
503
+ }
504
+ &:focus {
505
+ outline: 0;
506
+ &::-webkit-slider-thumb, &::-moz-range-thumb, &::-ms-thumb {
507
+ background: #5cc4ef;
508
+ border-color: #5cc4ef;
509
+ }
510
+ }
511
+ &::-webkit-slider-thumb {
512
+ -webkit-appearance: none;
513
+ box-sizing: border-box;
514
+ height: 12px;
515
+ width: 12px;
516
+ border-radius: 3px;
517
+ border: 1px solid #dedede;
518
+ background: #fff;
519
+ cursor: pointer;
520
+ transition: background .2s;
521
+ margin-top: -6px;
522
+ }
523
+ &::-moz-range-thumb, &::-ms-thumb {
524
+ box-sizing: border-box;
525
+ height: 12px;
526
+ width: 12px;
527
+ border-radius: 3px;
528
+ border: 1px solid #dedede;
529
+ background: #fff;
530
+ cursor: pointer;
531
+ transition: background .2s;
532
+ }
533
+ &::-webkit-slider-runnable-track, &::-moz-range-track, &::-ms-track {
534
+ border: none;
535
+ height: 1px;
536
+ cursor: pointer;
537
+ color: transparent;
538
+ background: 0 0;
539
+ }
540
+ &::-ms-fill-lower, &::-ms-fill-upper {
541
+ background: 0 0;
542
+ }
543
+ }
544
+ span {
545
+ padding: 0 12px;
546
+ }
547
+ }
548
+
549
+ .datepicker--time-icon {
550
+ color: #9c9c9c;
551
+ border: 1px solid;
552
+ border-radius: 50%;
553
+ font-size: 16px;
554
+ position: relative;
555
+ margin: 0 5px -1px 0;
556
+ width: 1em;
557
+ height: 1em;
558
+ &:after, &:before {
559
+ content: '';
560
+ background: currentColor;
561
+ position: absolute;
562
+ }
563
+ &:after {
564
+ height: .4em;
565
+ width: 1px;
566
+ left: calc(50% - 1px);
567
+ top: calc(50% + 1px);
568
+ -webkit-transform: translateY(-100%);
569
+ transform: translateY(-100%);
570
+ }
571
+ &:before {
572
+ width: .4em;
573
+ height: 1px;
574
+ top: calc(50% + 1px);
575
+ left: calc(50% - 1px);
576
+ }
577
+ }
578
+
579
+ .datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
580
+ color: #dedede;
581
+ }
582
+
583
+ .datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
584
+ color: #c5c5c5;
585
+ }
586
+
587
+ .-disabled-.-focus- {
588
+ &.datepicker--cell-day.-other-month-, &.datepicker--cell-year.-other-decade- {
589
+ color: #dedede;
590
+ }
591
+ }
592
+
593
+ .-selected- {
594
+ &.datepicker--cell-day.-other-month-, &.datepicker--cell-year.-other-decade- {
595
+ color: #fff;
596
+ background: #a2ddf6;
597
+ }
598
+ &.-focus- {
599
+ &.datepicker--cell-day.-other-month-, &.datepicker--cell-year.-other-decade- {
600
+ background: #8ad5f4;
601
+ }
602
+ }
603
+ }
604
+
605
+ .-in-range- {
606
+ &.datepicker--cell-day.-other-month-, &.datepicker--cell-year.-other-decade- {
607
+ background-color: rgba(92, 196, 239, 0.1);
608
+ color: #ccc;
609
+ }
610
+ &.-focus- {
611
+ &.datepicker--cell-day.-other-month-, &.datepicker--cell-year.-other-decade- {
612
+ background-color: rgba(92, 196, 239, 0.2);
613
+ }
614
+ }
615
+ }
616
+
617
+ .datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
618
+ background: 0 0;
619
+ border: none;
620
+ }
@@ -0,0 +1,81 @@
1
+ input, textarea {
2
+ width: 100%;
3
+ padding: 0 1em;
4
+ line-height: 44px;
5
+ border: none;
6
+ border-radius: 2px;
7
+ box-sizing: border-box;
8
+ background-color: #fff;
9
+ font-size: 1em;
10
+ @include tfont;
11
+ }
12
+
13
+ .form__input {
14
+ position: relative;
15
+ input {
16
+ background-image: none;
17
+ &.success {
18
+ background-image: asset-data-url('svg/check-green.svg');
19
+ background-repeat: no-repeat;
20
+ background-size: 1em;
21
+ background-position: center right .75em;
22
+ }
23
+ }
24
+ }
25
+
26
+ .form {
27
+ margin: 0 -1em;
28
+ .form__input {
29
+ margin-top: 1em;
30
+ padding-left: 1em;
31
+ padding-right: 1em;
32
+ }
33
+ .SumoSelect, .form__checkbox, .gender-item {
34
+ label {
35
+ font-size: 1em;
36
+ }
37
+ }
38
+ .SumoSelect {
39
+ .CaptionCont {
40
+ background-color: #fff;
41
+ }
42
+ }
43
+ label, .label {
44
+ font-size: .75em;
45
+ }
46
+ .btn--submit {
47
+ margin-top: 2em;
48
+ }
49
+ }
50
+
51
+ .add-access_card {
52
+ position: absolute;
53
+ width: 26px;
54
+ height: 26px;
55
+ top: 31px;
56
+ right: 2px;
57
+ background-color: #fff;
58
+ border-radius: 50%;
59
+ font-size: 0;
60
+ background-image: asset-data-url('svg/plus.svg');
61
+ background-position: center;
62
+ background-repeat: no-repeat;
63
+ background-size: 50%;
64
+ @include shadow-xs;
65
+ transition: box-shadow .125s ease-out;
66
+ &:hover {
67
+ @include shadow-lg;
68
+ cursor: pointer;
69
+ }
70
+ }
71
+
72
+ .date-input {
73
+ line-height: 1em;
74
+ padding: 11px 1em;
75
+ height: 44px;
76
+ }
77
+
78
+ .gender-item {
79
+ float: left;
80
+ padding-right: 2em;
81
+ }
@@ -0,0 +1,14 @@
1
+ .error-notice, .warning-notice, .enter-notice {
2
+ display: none;
3
+ &.active {
4
+ display: block;
5
+ }
6
+ }
7
+
8
+ .flash-message {
9
+ float: left;
10
+ width: 100%;
11
+ padding: 1.5em 2em;
12
+ margin: 2em 0 0 0;
13
+ background-color: #ffeecd;
14
+ }